banner
oldcatY

oldcatY

中轻度LoveLive厨,主推莲团,二推水+虹团(缪团是神,星团……)
twitter
github
bilibili
steam

【技巧】Epicゲームを自動的にエレガントに受け取る方法

注意:Epic の反ロボット機能が改善され続けているため、このリポジトリはほぼ無効になりました。現在、Headless クラスの方法では使用できる手段がなく、Headful クラスの方法を使用する必要があります。

エレガントな無料ゲームの入手方法#

Epic はしばしばゲームを提供していますが、さまざまな理由で私はそれらを受け取ることができませんでした(実際は忘れてしまっただけです)。そこで、GitHub を探し回って自動受け取りスクリプトがたくさんあることに気づきましたが、ほとんどのスクリプトには 1 つの問題があります:hCaptcha の人間認証をパスできないということです。インターネット上には hcaptcha に関する多くの解決策もありますが、開発者 API トークンを申請して回避するなど、すべてが使いやすい方法ではありません。

このリポジトリを見つけるまで

EPIC 免费人 | 优雅地领取 Epic 免费游戏

→ こちらが公式技術ドキュメントです ←


使用前の注意事項#

作者からの警告:

  • このプロジェクトでは、GitHub Actions での claim | get | deploy スクリプトコマンドの実行は許可されていません。
  • 作者は、公共リポジトリの GitHub Actions からの起動シグナルを阻止するために指紋ロックをコードに追加しましたが、プレーヤーは以下の手順に従ってプライベートワークフローを作成し、claim スクリプトコマンドに基づいた定期タスクを実行することができます。
  • スケジュール構成パラメータ、リポジトリの可視性、リポジトリ名、実行構文などは、指定された規則に従って慎重に設定する必要があります。そうしないと、乱用のリスクが発生する可能性があります。

セットアップ#

1. GitHub のプライベートリポジトリを作成する#

https://github.com/new ページにアクセスし、Private 権限のリポジトリを作成します。
注意:リポジトリ名には claimepic のキーワードを含めることはできません。大文字小文字も不可です。

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 回実行し、問題がなければ成功です。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。