注意:Epic の反ロボット機能が改善され続けているため、このリポジトリはほぼ無効になりました。現在、Headless クラスの方法では使用できる手段がなく、Headful クラスの方法を使用する必要があります。
エレガントな無料ゲームの入手方法#
Epic はしばしばゲームを提供していますが、さまざまな理由で私はそれらを受け取ることができませんでした(実際は忘れてしまっただけです)。そこで、GitHub を探し回って自動受け取りスクリプトがたくさんあることに気づきましたが、ほとんどのスクリプトには 1 つの問題があります:hCaptcha の人間認証をパスできないということです。インターネット上には hcaptcha に関する多くの解決策もありますが、開発者 API トークンを申請して回避するなど、すべてが使いやすい方法ではありません。
このリポジトリを見つけるまで
使用前の注意事項#
作者からの警告:
- このプロジェクトでは、GitHub Actions での claim | get | deploy スクリプトコマンドの実行は許可されていません。
- 作者は、公共リポジトリの GitHub Actions からの起動シグナルを阻止するために指紋ロックをコードに追加しましたが、プレーヤーは以下の手順に従ってプライベートワークフローを作成し、claim スクリプトコマンドに基づいた定期タスクを実行することができます。
- スケジュール構成パラメータ、リポジトリの可視性、リポジトリ名、実行構文などは、指定された規則に従って慎重に設定する必要があります。そうしないと、乱用のリスクが発生する可能性があります。
セットアップ#
1. GitHub のプライベートリポジトリを作成する#
https://github.com/new ページにアクセスし、Private
権限のリポジトリを作成します。
注意:リポジトリ名には claim
と epic
のキーワードを含めることはできません。大文字小文字も不可です。
2. アクションワークフローを作成する#
作成したリポジトリに移動し、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' # pipの依存関係をキャッシュする
- 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 }} # オプション
# ${{ env.COMMAND_UNREAL }} # オプション
- name: GITユーザーの設定
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. デバッグワークフロー#
Actions に移動し、Run Workflow
をクリックして 1 回実行し、問題がなければ成功です。