banner
oldcatY

oldcatY

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

[Tips] How to elegantly automatically claim Epic games

Note: Due to Epic's continuous improvement of anti-robot functionality, this repository has become ineffective. Currently, there is no available method for Headless mode and Headful mode must be used.

How to Freeload Gracefully#

Because Epic often gives away games and for various reasons (actually just forgot) I didn't claim them, so I searched through Github and found many scripts for automatic claiming. However, most of these scripts have one problem: they cannot pass hCaptcha human verification. There are also many solutions online for hcaptcha cracking, such as applying for a developer API TOKEN to bypass it, but ultimately it is not a plug-and-play method.

Until I found this repository

EPIC Freebie | Gracefully Claim Epic Free Games

→ This is the official technical documentation ←


Precautions before use#

A warning from the author:

  • This project does not allow upstream fork branches to run claim | get | deploy scaffolding instructions in GitHub Actions.
  • The author has added a fingerprint lock in the code to block the startup signal from public repository GitHub Actions, but players can create private workflows and run scheduled tasks based on the claim scaffolding instructions according to the steps below.
  • It should be noted that the schedule configuration parameters, repository visibility, repository name, and execution syntax must be carefully set according to the regulations, otherwise there will be a risk of abuse.

Setup#

1. Create a Private Github Repository#

Go to the https://github.com/new page and create a repository with Private permissions.
Please note: The repository name cannot contain the keywords claim and epic, regardless of case.

2. Create an Action Workflow#

Go to the newly created repository, click on Actions, select simple workflow (click on Configure below it), and then copy and paste the following content:

name: source-git # Modify your name

on:
  workflow_dispatch:
  schedule:
    - cron: "10 23 * * 4,5" # Modify your schedule configuration

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: Initialize environment & fetch project
      run: |
        sudo timedatectl set-timezone "Asia/Shanghai"
        git clone https://github.com/QIN2DIM/epic-awesome-gamer.git epic
        cp epic/requirements.txt .
    - name: Initialize configuration file
      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: Install dependencies
      run: |
        pip install -r epic/requirements.txt
        cd epic/src/ && python main.py install
    - name: Start project
      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: Cache identity token
      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          

In the above code, EPIC_EMAIL represents the email you use to log in to Epic, EPIC_PASSWORD represents the password you use to log in to Epic, and PUSHER_TELEGRAM is optional. For specific solutions, please refer to this webpage.

3. DEBUG Workflow#

After entering Actions, click on Run Workflow to run it once. If there are no issues, then you're done!

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.