1 line
14 KiB
JSON
1 line
14 KiB
JSON
[{"id":0,"href":"/epic-awesome-gamer/zh/docs/player/cli/overview/","title":"Overview","section":"脚手架指令","content":"V2RSS 脚手架指令\r#\r\r边缘工具\r#\r\rscaffold install\r#\r\r拉取项目依赖\r\rscaffold test\r#\r\r检查「挑战者驱动」能否正常启动\r\r\r基础指令\r#\r\rscaffold challenge\r#\r\r为当前账号获取有效的身份令牌\r\rscaffold get\r#\r\r一键搬空免费商店\r\r\r系统任务\r#\r\rscaffold claim\r#\r\r认领周免游戏,deploy 的单步子任务\r\rscaffold deploy\r#\r\r部署在生产环境的系统定时任务\r\r\r"},{"id":1,"href":"/epic-awesome-gamer/zh/docs/player/hosting-deployment/container/","title":"容器化","section":"服务部署","content":"容器化\r#\r\r"},{"id":2,"href":"/epic-awesome-gamer/zh/docs/user/quick-start/","title":"快速上手","section":"使用指南","content":"快速上手\r#\r\r服务须知\r#\r\r 确保运行生产环境的云服务器至少有 2C2G 以上的性能冗余空间; 本项目尚未实现无服务(云函数)、容器、青龙面板等第三方服务接口; 本项目暂不支持 2FA Challenge,若你的账号设置了二步验证,本项目无法正常运行; 不要在 Fork 项目后以任何形式修改工作流并加上 schedule 触发器启动定时任务。若你使用私有的工作流拷贝并使用本项目源码,请确保工作流每周最多触发一次; 本项目开源免费,仅供学习研究,禁止任何人使用本项目及其分支提供任何形式的收费代理服务; 二次开发请遵循 GNU General Public License v3.0 许可协议。 下载安装\r#\r\rLinux(Ubuntu)\r本节以 Ubuntu 20.04 TLS 系统环境为例引导玩家快速实现可供生产部署的 claim 脚手架接口指令。\n在开始如下操作之前,作者默认你已在当前状态机中配置了 Python3.8+ 开发环境,并了解 tmux ,git 以及基础的 linux 指令。\n 拉取项目源码\ngit clone https://github.com/QIN2DIM/epic-awesome-gamer /home/epic 进入工作空间\n此处使用了终端会话管理工具 tmux,请提前安装。\ncd /home/epic \u0026amp;\u0026amp; tmux new-session -s epic 拉取项目依赖\n# /home/epic pip install -r ./requirements.txt 初始化脚手架\n# /home/epic/src cd ./src \u0026amp;\u0026amp; python3 main.py \u0026amp;\u0026amp; export LANG=zh_CN.UTF8 Windows\r本节以 Pycharm + Anaconda 开发环境为例引导玩家快速实现可供生产部署的 claim 脚手架接口指令。\n在开始如下操作之前,作者默认你已具备一定的 Python 项目开发经验,了解常见的报错类型及应对方案,熟悉 Pycharm 开发环境。\n 拉取项目源码\n以你喜欢的方式克隆项目源码。\n进入 项目首页 点击「Code」,点击 「Open with GitHub Desktop」或「Download ZIP」下载源码。\n 进入工作空间\n使用 Pycharm 打开项目,将 src 目录标记为「源码根」。给项目选择一个 Python3.8+ 的开发环境。\n 初始化工作空间\n打开 Pycahrm 中的 Terminal 终端,在项目根目录下执行如下代码初始化工作空间。\npip install -r requirements.txt \u0026amp;\u0026amp; cd src \u0026amp;\u0026amp; python main.py MacOS\rGitHub Actions\r📌 本方案仅由作者用于项目 demo,禁止其他 fork 分支拷贝沿用,也不要在工作流中添加 schedule 运行定时任务。\r\r引言\r#\r\r本节以 Workflows(查看源码) 为例引导玩家基于本机环境熟悉并快速实现脚手架 Get 指令,成为 Epic免费人。\n在 GitHub Actions 上运行 Get 指令是本项目的最佳实践方案,请在 fork 项目后依次实现下文所述配置。\n当然,如果你本身就对工作流十分了解,以下手工配置的总耗时不会超过30秒(想不起账号密码的话另说233\u0026hellip;)。\n配置环境密钥\r#\r\r 进入自己的项目页面,依次进入 「Settings」「Secrets」,点击 New repository secret ,分别创建环境密钥 EPIC_EMAIL 以及 EPIC_PASSWORD。变量名必须大写。脚手架演示指令不作质量担保,所以此处你需要填入正确无误的账号信息。 密钥创建后的页面截图如下所示: \r运行工作流\r#\r\r 进入到自己的项目页面,进入「Actions」 运行工作流,点击 Run Workflow 。 \r 等待窗口顶部弹出提示 Workflow run was successfully requested. 后重新进入「Actions」页面,可以看到工作流已经启动,可以点进去查看运行过程,等待结束即可。 \r\t展开 Workflow 运行截图(参考)\n\r\r\r\r\r基础用法\r#\r\r 修改目录下的 config.yaml 配置文件\n[必选项] 配置 EPIC_EMAIL 以及 EPIC_PASSWORD 项目才能正常构建。\n[可选项] 配置消息推送服务。本项目借助 Apprise 简化推送引擎。\n Scaffold Challenge\n手动更新身份令牌。若挑战断言失败超过3次,你的账号配置极有可能存在问题。\n系统不会去验证你的账号信息是否填写正确,这是个徒增功耗且非常不安全的行为,所以,在项目启动前,你需要填入正确无误的账号信息。\n身份令牌缓存成功后,你将享有短暂的免验证权限,如下脚手架指令将畅通无阻。\nLinux\r# /home/epic/src python3 main.py challenge Windows\rpython main.py challenge MacOS\rpython3 main.py challenge \r Scaffold Claim\nclaim 做的事非常简单,获取本周促销数据,分析是否有待认领的周免游戏,根据分析结果执行相关任务。\nclaim 是系统级指令 deploy 的单步子任务,在上述业务结束后,会根据你配置的 pusher 推送追踪日志(若配置无效则不发)。 Linux\r# /home/epic/src python3 main.py claim Windows\rpython main.py claim MacOS\rpython3 main.py claim \r Scaffold Get\n 「我可以不玩但不能没有。」—— 鲁·克莱摩·迅\n get 只做一件事,搬空免费商店!\n这是个趣味性和观赏性都拉满的一次性任务。系统会根据你的设备性能发起最高 4 协程并发的驱动任务,为你节省扫荡时间。\n显然地,这是一项对操作系统内存和网络I/O要求都不低的任务,如果你嫌这五六十款(不同地区权限不同)多余的常驻免费游戏会影响你翻找游戏库的效率,请速速退朝。\nLinux\r# /home/epic/src python3 main.py get Windows\rpython main.py get MacOS\rpython3 main.py get \r 查看游戏库\r#\r\r以你喜欢的方式查看自己的游戏库。如果能实现下图所示效果,说明你也成为了 Epic免费人!\nHappy Freebie Claiming\r\r\r\r\r"},{"id":3,"href":"/epic-awesome-gamer/zh/docs/player/hosting-deployment/privatisation/","title":"私有工作流","section":"服务部署","content":"私有工作流\r#\r\r前言\r#\r\r本项目不允许上游 fork 分支在 GitHub Actions 中运行 claim | get | deploy 脚手架指令。作者在代码中添加了指纹锁用于阻断来自公有仓库 GitHub Actions 的启动信号。\n但玩家可以按照如下步骤创建私有工作流,运行基于 claim 脚手架指令的定时任务。\n\rTo be continued →\n"},{"id":4,"href":"/epic-awesome-gamer/zh/docs/player/hosting-deployment/deploy/","title":"脚手架构建","section":"服务部署","content":"脚手架构建\r#\r\r"},{"id":5,"href":"/epic-awesome-gamer/zh/docs/player/hosting-deployment/qinglong_panel/","title":"青龙微服务","section":"服务部署","content":"青龙微服务\r#\r\r"},{"id":6,"href":"/epic-awesome-gamer/zh/docs/player/cli/install/","title":"Scaffold Install","section":"脚手架指令","content":"Scaffold Install\r#\r\rNAME\r#\r\rmain.py install - 下载运行依赖\nSYNOPSIS\r#\r\rmain.py install - DESCRIPTION\r#\r\r执行内容包括「拉取 YOLO 目标检测模型」以及「适配 ChromeDriver」。\n\r#23此处需要开发者自己(手动)安装 google-chrome 。\n\rUbuntu | CentOS 7/8 | Windows or MacOS\n\r"},{"id":7,"href":"/epic-awesome-gamer/zh/docs/player/cli/test/","title":"Scaffold Test","section":"脚手架指令","content":"Scaffold Test\r#\r\rNAME\r#\r\rmain.py test - 检查挑战者驱动版本是否适配\nSYNOPSIS\r#\r\rmain.py test - DESCRIPTION\r#\r\r标准上下文和挑战者上下文使用不同的 chromedriver 站源镜像,此处测试用于判断 google-chrome 版本和两种上下文的chromedirver 是否一致。若适配成功,指令会显示相应的 SUCCESS 级别日志。\n"},{"id":8,"href":"/epic-awesome-gamer/zh/docs/player/getting-started/basic-usage/","title":"基本用法","section":"开始使用","content":"基本用法\r#\r\r"},{"id":9,"href":"/epic-awesome-gamer/zh/docs/player/getting-started/directory-structure/","title":"目录结构","section":"开始使用","content":"目录结构\r#\r\rNew Project Scaffolding\r#\r\r.\r├── examples\r├── src\r│ ├── apis\r│ ├── database\r│ ├── model\r│ ├── services\r│ ├── config.yaml\r│ ├── config-sample.yaml\r│ └── main.py\r└── requirements.txt\rDiretory Structure Explained\r#\r\rexamples\r#\r\r这里存放一些精简化的后端功能接口,玩家可通过这些运行案例迅速了解服务间的层级关系以及核心业务的实现逻辑。\nsrc/apis\r#\r\r存放全局接口函数,如一些复杂的脚手架接口逻辑会在此编排。\nsrc/database\r#\r\r存放系统运行缓存。在项目初始化后,此文件夹被自动创建。\nsrc/model\r#\r\r存放 YOLOv4 目标检测模型。在项目初始化后,此文件夹被自动创建。\nsrc/services\r#\r\r存放核心业务代码,包括如下内容:\n.\r├── bricklayer\r│ ├── __init__.py\r│ ├── core.py\r│ ├── bricklayer.py\r│ └── exceptions.py\r├── explorer\r│ ├── __init__.py\r│ ├── core.py\r│ ├── explorer.py\r│ └── exceptions.py\r├── utils\r│ ├── accelerator\r│ ├── armor\r│ ├── toolbox\r│ └── __init__.py\r├── __init__.py\r├── deploy.py\r├── scaffold.py\r└── settings.py\r bricklayer\n搬瓦工核心业务代码,游戏认领。\n explorer\n探索者核心业务代码,游戏发现。\n utils\n可移植的 Toolkit 模组。\n deploy.py\n系统级的任务调度中心。\n scaffold.py\n系统脚手架。\n settings.py\n系统核心设置。初始化日志中心,转义config.yaml 的全局变量,目录定位等。\n src/config.yaml\r#\r\r项目配置文件。在项目初始化后,从 src/config_sample.yaml 拷贝生成。\nsrc/main.py\r#\r\r脚手架入口文件,作为运行根辐射系统指令。\n"},{"id":10,"href":"/epic-awesome-gamer/zh/docs/player/getting-started/configuration/","title":"项目配置","section":"开始使用","content":"项目配置\r#\r\r"},{"id":11,"href":"/epic-awesome-gamer/zh/docs/player/cli/challenge/","title":"Scaffold Challenge","section":"脚手架指令","content":"Scaffold Challenge\r#\r\rNAME\r#\r\rmain.py challenge - 为当前账号获取有效的身份令牌。\nSYNOPSIS\r#\r\rmain.py challenge \u0026lt;flags\u0026gt; DESCRIPTION\r#\r\r 请确保你已在 config.yaml 中配置了正确无误的账号信息; 更新后的 cookie 存储在/src/database/cookies/user_cookies.txt 文件中; 如果当前缓存的身份令牌还未失效,挑战跳过。本指令并不会强制激活人机验证。硬刚人机挑战不是目的,获取到有效的身份令牌才是目的,不要徒增功耗。 FLAGS\r#\r\r silence=SILENCE Type: bool Default: True 若为 False,将在图形化系统中显式启动浏览器,演示人机挑战的执行过程。 "},{"id":12,"href":"/epic-awesome-gamer/zh/docs/player/cli/get/","title":"Scaffold Get","section":"脚手架指令","content":"Scaffold Get\r#\r\rNAME\r#\r\rmain.py get - 一键搬空免费商店\nSYNOPSIS\r#\r\rmain.py get \u0026lt;flags\u0026gt; DESCRIPTION\r#\r\r 「我可以不玩但不能没有。」—— 鲁·克莱摩·迅\n get 只做一件事,搬空免费商店!\n这是个趣味性和观赏性都拉满的一次性任务。系统会根据你的设备性能发起最高 4 协程并发的驱动任务,为你节省扫荡时间。\n显然地,这是一项对操作系统内存和网络 I/O 要求都不低的任务,如果你嫌这五六十款(不同地区权限不同)多余的常驻免费游戏会影响你翻找游戏库的效率,请速速退朝。\n 使用 claim 认领周免游戏\nget 指令启动标准上下文执行任务,其并不足以应付隐藏在订单中的人机挑战。因此,get 指令会自动跳过未认领的周免游戏。请使用生产效率更高的 claim 指令认领周免游戏。\n 刷新缓存数据\n首次运行时,此指令会将免费商城数据存储在 src/database/explorer 目录下。存储内容与当前上下文身份令牌有关(不同地区权限不同)。\n此后每次运行都会优先读取缓存。然而,缓存未设过期时间,可能有一定的滞后性(如不定期更新的常驻周免游戏 ,不同地区账号的免费游戏漏检等等)。\n因此可在合适的时刻利用 cache 参数启动任务:\npython main.py get --cache=False 若运行出现意料之外的报错,请运行 debug 模式,留意 Exception 信息,并将完整的栈追踪信息提交至 issues 。\nFLAGS\r#\r\r debug=DEBUG Type: bool Default: None 显示并记录栈追踪日志信息 cache=CACHE Type: bool Default: True 是否使用商城缓存数据 "},{"id":13,"href":"/epic-awesome-gamer/zh/docs/player/cli/claim/","title":"Scaffold Claim","section":"脚手架指令","content":"Scaffold Claim\r#\r\rNAME\r#\r\rmain.py claim - 认领周免游戏\nSYNOPSIS\r#\r\rmain.py claim \u0026lt;flags\u0026gt; DESCRIPTION\r#\r\rclaim 做的事非常简单,获取本周促销数据,分析是否有待认领的周免游戏,根据分析结果执行相关任务。\nclaim 是系统级指令 deploy 的单步子任务,在上述任务结束后,会根据你配置的 pusher 推送追踪日志(若配置无效则不发)。\nFLAGS\r#\r\r silence=SILENCE\n Type: bool\n Default: True\n若为 False,将在图形化系统中显式启动浏览器,演示周免游戏认领的执行过程。\n "},{"id":14,"href":"/epic-awesome-gamer/zh/docs/player/cli/deploy/","title":"Scaffold Deploy","section":"脚手架指令","content":"Scaffold Deploy\r#\r\rNAME\r#\r\rmain.py deploy - 部署系统定时任务。\nSYNOPSIS\r#\r\rmain.py deploy \u0026lt;flags\u0026gt; DESCRIPTION\r#\r\r部署系统定时任务。\nFLAGS\r#\r\r platform=PLATFORM\n Type: str\n Default: None\n可选项 [vps | serverless | qing-long]\n若不指定默认值为 vps。此接口为实验功能,除了 vps 外均未开放实现。\n "}] |