快速上手

快速上手 #

服务须知 #

  1. 确保运行生产环境的云服务器至少有 2C2G 以上的性能冗余空间;
  2. 本项目尚未实现无服务(云函数)、容器青龙面板等第三方服务接口;
  3. 本项目暂不支持 2FA Challenge,若你的账号设置了二步验证,本项目无法正常运行;
  4. 不要在 Fork 项目后以任何形式修改工作流并加上 schedule 触发器启动定时任务。若你使用私有的工作流拷贝并使用本项目源码,请确保工作流每周最多触发一次;
  5. 本项目开源免费,仅供学习研究,禁止任何人使用本项目及其分支提供任何形式的收费代理服务;
  6. 二次开发请遵循 GNU General Public License v3.0 许可协议。

下载安装 #

本节以 Ubuntu 20.04 TLS 系统环境为例引导玩家快速实现可供生产部署的 claim 脚手架接口指令。

在开始如下操作之前,作者默认你已在当前状态机中配置了 Python3.8+ 开发环境,并了解 tmuxgit 以及基础的 linux 指令。

  1. 拉取项目源码

    git clone https://github.com/QIN2DIM/epic-awesome-gamer /home/epic
    
  2. 进入工作空间

    此处使用了终端会话管理工具 tmux,请提前安装。

    cd /home/epic && tmux new-session -s epic
    
  3. 拉取项目依赖

    cd /home/epic && pip install -r ./requirements.txt
    
  4. 初始化脚手架

    cd /home/epic/src && python3 main.py && export LC_ALL=zh_CN.UTF8
    

本节以 Pycharm + Anaconda 开发环境为例引导玩家快速实现可供生产部署的 claim 脚手架接口指令。

在开始如下操作之前,作者默认你已具备一定的 Python 项目开发经验,了解常见的报错类型及应对方案,熟悉 Pycharm 开发环境。

  1. 拉取项目源码

    以你喜欢的方式克隆项目源码。

    进入 项目首页 点击「Code」,点击 「Open with GitHub Desktop」或「Download ZIP」下载源码。

  2. 进入工作空间

    使用 Pycharm 打开项目,将 src 目录标记为「源码根」。给项目选择一个 Python3.8+ 的开发环境。

  3. 初始化工作空间

    打开 Pycahrm 中的 Terminal 终端,在项目根目录下执行如下代码初始化工作空间。

    pip install -r requirements.txt && cd src && python main.py
    
📌 本方案仅由作者用于项目 demo,禁止其他 fork 分支拷贝沿用,也不要在工作流中添加 schedule 运行定时任务。

引言 #

本节以 Workflows(查看源码) 为例引导玩家基于本机环境熟悉并快速实现脚手架 Get 指令,成为 Epic免费人

GitHub Actions 上运行 Get 指令是本项目的最佳实践方案,请在 fork 项目后依次实现下文所述配置。

当然,如果你本身就对工作流十分了解,以下手工配置的总耗时不会超过30秒(想不起账号密码的话另说233…)。

配置环境密钥 #

  • 进入自己的项目页面,依次进入 「Settings」「Secrets」,点击 New repository secret ,分别创建环境密钥 EPIC_EMAIL 以及 EPIC_PASSWORD。变量名必须大写。脚手架演示指令不作质量担保,所以此处你需要填入正确无误的账号信息。
  • 密钥创建后的页面截图如下所示:
image-20220122162308138

运行工作流 #

  • 进入到自己的项目页面,进入「Actions」 运行工作流,点击 Run Workflow
Snipaste_2022-01-22_16-27-40
  • 等待窗口顶部弹出提示 Workflow run was successfully requested. 后重新进入「Actions」页面,可以看到工作流已经启动,可以点进去查看运行过程,等待结束即可。
Snipaste_2022-01-22_16-28-28

展开 Workflow 运行截图(参考)

Snipaste_2022-01-22_16-29-52

image-20220122164605124

基础用法 #

  1. 修改目录下的 config.yaml 配置文件

    [必选项] 配置 EPIC_EMAIL 以及 EPIC_PASSWORD 项目才能正常构建。

    [可选项] 配置消息推送服务。本项目借助 Apprise 简化推送引擎。

  2. Scaffold Install

    本项目依赖 google-chrome 运行解算程序,若缺少需自行安装。

    参考 scaffold install 安装最新版 google-chrome

  3. Scaffold Test

    检查挑战者驱动能否正常启动。

  4. Scaffold Challenge

    手动更新身份令牌。若挑战断言失败超过3次,你的账号配置极有可能存在问题。

    系统不会去验证你的账号信息是否填写正确,这是个徒增功耗且非常不安全的行为,所以,在项目启动前,你需要填入正确无误的账号信息。

    身份令牌缓存成功后,你将享有短暂的免验证权限,如下脚手架指令将畅通无阻。

    # /home/epic/src
    export LC_ALL=zh_CN.UTF8 && python3 main.py challenge
    

    在图形化操作系统中,可以指定 silence 参数显式启动浏览器,演示人机挑战的执行过程。

    python main.py challenge --silence=False 
    

    在图形化操作系统中,可以指定 silence 参数显式启动浏览器,演示人机挑战的执行过程。

    python3 main.py challenge --silence=False 
    
  5. Scaffold Claim

    claim 做的事非常简单,获取本周促销数据,分析是否有待认领的周免游戏,根据分析结果执行相关任务。

    claim 是系统级指令 deploy 的单步子任务,在上述业务结束后,会根据你配置的 pusher 推送追踪日志(若配置无效则不发)。

    # /home/epic/src
    export LC_ALL=zh_CN.UTF8 && python3 main.py claim
    
    python main.py claim
    
    python3 main.py claim
    

  6. Scaffold Get

    「我可以不玩但不能没有。」—— 鲁·克莱摩·迅

    get 只做一件事,搬空免费商店!

    这是个趣味性和观赏性都拉满的一次性任务。系统会根据你的设备性能发起最高 4 协程并发的驱动任务,为你节省扫荡时间。

    显然地,这是一项对操作系统内存和网络I/O要求都不低的任务,如果你嫌这五六十款(不同地区权限不同)多余的常驻免费游戏会影响你翻找游戏库的效率,请速速退朝。

    请在 challenge 执行后再使用 get 确保当前的上下文身份令牌是有效的。

    # /home/epic/src
    python3 main.py get
    
    python main.py get
    
    python3 main.py get
    

查看游戏库 #

以你喜欢的方式查看自己的游戏库。如果能实现下图所示效果,说明你也成为了 Epic免费人

Happy Freebie Claiming

scaffold-get-demo-output

122922274-bb263b00-d363-11eb-8b82-8a3ed6e7e29d