注意:由于 Epic 不断提升反机器人功能,此仓库已经基本失效。目前 Headless 类方式没有可用手段,必须使用 Headful 类方式
如何优雅的白嫖#
由于 Epic 很多时候送游戏我因为各种原因 (其实就是忘了) 而没有领到,所以翻遍了 Github,发现有很多自动领取脚本,但绝大多数的脚本都有一个问题:无法通过 hCaptcha 人机验证。网上关于 hcaptcha 也有很多破解方案,比如申请开发者 API TOKEN 绕过等,但终究不是个开箱即用的方法。
直到我发现了这个仓库
用前提示#
来自作者的警告:
- 本项目不允许上游 fork 分支在 GitHub Actions 中运行 claim | get | deploy 脚手架指令。
- 作者在代码中添加了指纹锁用于阻断来自公有仓库 GitHub Actions 的启动信号,但玩家可以按照下文步骤创建私有工作流,运行基于 claim 脚手架指令的定时任务。
- 需要注意,schedule 配置参数,仓库可见性,仓库名,执行语法等必须依据规定谨慎设定,否则会出现滥用风险。
搭建#
1. 创建 Github 私有库#
进入 https://github.com/new 页面,创建 Private
权限的库。
请注意:仓库名不能出现 claim
和 epic
关键词,大小写都不行。
2. 创建 Action 工作流#
进入刚创建好的库,点击 Actions
,选择 simple workflow
(点击它下面的 Configure
),然后复制粘贴以下内容:
name: source-git # 修改你的名称
on:
workflow_dispatch:
schedule:
- cron: "10 23 * * 4,5" # 修改你的定时配置
jobs:
setup:
env:
COMMAND_CLAIM: "xvfb-run python main.py claim"
COMMAND_GET: "xvfb-run python main.py get"
COMMAND_UNREAL: "xvfb-run python main.py unreal"
FAKE_HASH: "Automated deployment @ $(date '+%Y-%m-%d %H:%M:%S') Asia/Shanghai"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: 初始化环境 & 拉取项目
run: |
sudo timedatectl set-timezone "Asia/Shanghai"
git clone https://github.com/QIN2DIM/epic-awesome-gamer.git epic
cp epic/requirements.txt .
- name: 初始化配置文件
run: |
cd epic/src
echo "PUSHER_TELEGRAM: ${{ secrets.PUSHER_TELEGRAM }}" >> config.yaml
echo "EPIC_EMAIL: ${{ secrets.EPIC_EMAIL }}" >> config.yaml
echo "EPIC_PASSWORD: ${{ secrets.EPIC_PASSWORD }}" >> config.yaml
echo "PLAYER: ${{ secrets.PLAYER }}" >>config.yaml
- uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: 'pip' # caching pip dependencies
- name: 安装依赖
run: |
pip install -r epic/requirements.txt
cd epic/src/ && python main.py install
- name: 启动项目
run: |
if [ -d "database" ];then cp -rfp database epic/src/; fi
cd epic/src/
${{ env.COMMAND_CLAIM }}
# ${{ env.COMMAND_GET }} # Optional
# ${{ env.COMMAND_UNREAL }} # Optional
- name: Setup GIT user
uses: fregante/setup-git-user@v1
- name: 缓存身份令牌
run: |
if [ -d "epic/src/database" ];then cp -rfp epic/src/database .; fi
if [ -f "epic/src/datas/logs/runtime.log" ];then cp epic/src/datas/logs/runtime.log datas.log; fi
cp epic/src/database/logs/runtime.log .
echo "${{ env.FAKE_HASH }}" > _token
rm -rf epic
git add .
git commit -m "${{ env.FAKE_HASH }}"
git push -f
上述代码中,EPIC_EMAIL
代表你 epic 登录的邮箱,EPIC_PASSWORD
代表你 epic 登录的密码,PUSHER_TELEGRAM
是可选项,具体方案参照本网页
3. DEBUG 工作流#
进入 Actions 后,点击 Run Workflow
运行一次,如果没有问题则大功告成