banner
oldcatY

oldcatY

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

【技巧】如何优雅的自动领取Epic游戏

注意:由于 Epic 不断提升反机器人功能,此仓库已经基本失效。目前 Headless 类方式没有可用手段,必须使用 Headful 类方式

如何优雅的白嫖#

由于 Epic 很多时候送游戏我因为各种原因 (其实就是忘了) 而没有领到,所以翻遍了 Github,发现有很多自动领取脚本,但绝大多数的脚本都有一个问题:无法通过 hCaptcha 人机验证。网上关于 hcaptcha 也有很多破解方案,比如申请开发者 API TOKEN 绕过等,但终究不是个开箱即用的方法。

直到我发现了这个仓库

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

→ 这是官方技术文档 ←


用前提示#

来自作者的警告:

  • 本项目不允许上游 fork 分支在 GitHub Actions 中运行 claim | get | deploy 脚手架指令。
  • 作者在代码中添加了指纹锁用于阻断来自公有仓库 GitHub Actions 的启动信号,但玩家可以按照下文步骤创建私有工作流,运行基于 claim 脚手架指令的定时任务。
  • 需要注意,schedule 配置参数,仓库可见性,仓库名,执行语法等必须依据规定谨慎设定,否则会出现滥用风险。

搭建#

1. 创建 Github 私有库#

进入 https://github.com/new 页面,创建 Private 权限的库。
请注意:仓库名不能出现 claimepic 关键词,大小写都不行。

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 运行一次,如果没有问题则大功告成

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。