注意:由於 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
運行一次,如果沒有問題則大功告成