快速上手 #
服务须知 #
- 确保运行生产环境的云服务器至少有 2C2G 以上的性能冗余空间;
- 本项目尚未实现无服务(云函数)、容器、青龙面板等第三方服务接口;
- 本项目暂不支持 2FA Challenge,若你的账号设置了二步验证,本项目无法正常运行;
- 不要在 Fork 项目后以任何形式修改工作流并加上 schedule 触发器启动定时任务。若你使用私有的工作流拷贝并使用本项目源码,请确保工作流每周最多触发一次;
- 本项目开源免费,仅供学习研究,禁止任何人使用本项目及其分支提供任何形式的收费代理服务;
- 二次开发请遵循 GNU General Public License v3.0 许可协议。
下载安装 #
本节以 Ubuntu 20.04 TLS
系统环境为例引导玩家快速实现可供生产部署的 claim
脚手架接口指令。
在开始如下操作之前,作者默认你已在当前状态机中配置了 Python3.8+
开发环境,并了解 tmux
,git
以及基础的 linux
指令。
-
拉取项目源码
git clone https://github.com/QIN2DIM/epic-awesome-gamer /home/epic
-
进入工作空间
此处使用了终端会话管理工具 tmux,请提前安装。
cd /home/epic && tmux new-session -s epic
-
拉取项目依赖
cd /home/epic && pip install -r ./requirements.txt
-
初始化脚手架
cd /home/epic/src && python3 main.py && export LC_ALL=zh_CN.UTF8
本节以 Pycharm
+ Anaconda
开发环境为例引导玩家快速实现可供生产部署的 claim
脚手架接口指令。
在开始如下操作之前,作者默认你已具备一定的 Python 项目开发经验,了解常见的报错类型及应对方案,熟悉 Pycharm 开发环境。
-
拉取项目源码
以你喜欢的方式克隆项目源码。
进入 项目首页 点击「Code」,点击 「Open with GitHub Desktop」或「Download ZIP」下载源码。
-
进入工作空间
使用 Pycharm 打开项目,将
src
目录标记为「源码根」。给项目选择一个 Python3.8+ 的开发环境。 -
初始化工作空间
打开 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
。变量名必须大写。脚手架演示指令不作质量担保,所以此处你需要填入正确无误的账号信息。 - 密钥创建后的页面截图如下所示:

运行工作流 #
- 进入到自己的项目页面,进入「Actions」 运行工作流,点击 Run Workflow 。

- 等待窗口顶部弹出提示
Workflow run was successfully requested.
后重新进入「Actions」页面,可以看到工作流已经启动,可以点进去查看运行过程,等待结束即可。

展开 Workflow 运行截图(参考)
基础用法 #
-
修改目录下的
config.yaml
配置文件[必选项] 配置
EPIC_EMAIL
以及EPIC_PASSWORD
项目才能正常构建。[可选项] 配置消息推送服务。本项目借助 Apprise 简化推送引擎。
-
Scaffold Install
本项目依赖
google-chrome
运行解算程序,若缺少需自行安装。参考 scaffold install 安装最新版
google-chrome
。 -
Scaffold Test
检查挑战者驱动能否正常启动。
-
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
-
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
-
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