Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grbnb/epicgames-claimer
epic
https://github.com/grbnb/epicgames-claimer
Last synced: 17 days ago
JSON representation
epic
- Host: GitHub
- URL: https://github.com/grbnb/epicgames-claimer
- Owner: grbnb
- License: mit
- Created: 2022-02-24T16:24:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-02-24T16:28:31.000Z (over 2 years ago)
- Last Synced: 2024-08-01T15:10:33.874Z (4 months ago)
- Language: Python
- Homepage: https://gitee.com/loa123/epicgames-claimer.git
- Size: 81.1 KB
- Stars: 15
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EpicGames Claimer
###### [疑难解答](docs/troubleshooting.md) | [Docker](docs/README_DOCKER.md)
> 自动领取Epic游戏商城[每周免费游戏](https://www.epicgames.com/store/free-games)。
十分简单易用,使用过程中几乎不需要输入或修改任何参数。
## 开始
### Windows
[下载](https://github.com/luminoleon/epicgames-claimer/releases)
Windows版本目前不支持自动更新。
#### Windows版本可选参数
见[Python版本可选参数](#python版本可选参数)
### Docker
* 基于Ubuntu
``` bash
docker run -it luminoleon/epicgames-claimer
```* 基于Alpine Linux
``` bash
docker run -it luminoleon/epicgames-claimer:latest-alpine
```使用方法见[README_DOCKER.md](docs/README_DOCKER.md)或[Docker hub页面](https://hub.docker.com/r/luminoleon/epicgames-claimer)。
### Python
要求Python >= 3.6。
#### 如何使用
1. 克隆/[下载](https://github.com/luminoleon/epicgames-claimer/releases)
``` bash
git clone -b main https://github.com/luminoleon/epicgames-claimer.git
cd epicgames-claimer
```2. 安装Python模块
``` bash
pip3 install -r requirements.txt
```3. 安装依赖(仅Linux)
``` bash
sudo sh install_dependencies.sh
```4. 运行
``` bash
python3 main.py
```
启用自动更新```bash
python3 main.py --auto-update
```
不使用交互输入```bash
python3 main.py -u <你的邮箱> -p <你的密码>
``````bash
python3 main.py -u <你的邮箱> -p <你的密码> -t <双重验证代码>
```
添加通知推送* server酱
```bash
python3 main.py -ps
```* Bark
```bash
python3 main.py -pbu -pbk
```非自建服务端无需-pbu参数,默认采用官方推送地址https://api.day.app/push
* Telegram
```bash
python3 main.py -ptt -pti
```
#### Python版本可选参数
| 参数 | 说明 | 备注 |
| -------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `-n`, `--no-headless` | 显示浏览器的图形界面 | |
| `-c`, `--chromium-path` | 指定浏览器可执行文件路径 | |
| `-r`, `--run-at` | 指定每日运行时间 | 格式:HH:MM,默认为当前时间 |
| `-o`, `--once` | 运行一次领取过程后退出 | [参数`--once`或环境变量`ONCE`的具体含义,应在什么情况下使用](docs/troubleshooting.md#参数--once或环境变量once的具体含义应在什么情况下使用) |
| `-a`, `--auto-update` | 启用自动更新 | 运行`epicgames_claimer.exe`或`epicgames_claimer.py`此参数无效 |
| `--cron` | 使用cron表达式运行定时任务 | 默认每天当前时间执行一次。运行`epicgames_claimer.exe`或`epicgames_claimer.py`此参数无效 |
| `-u`, `--username` | 设置用户名/邮箱 | |
| `-p`, `--password` | 设置密码 | |
| `-t`, `--verification-code` | 设置双重验证代码 | |
| `--cookies` | 设置保存cookies信息文件路径 | 用`get_cookies.py`或者`get_cookies.exe`获取 |
| `-l`, `--login` | 登录并创建User_Data后退出 | 需要在打开的浏览器里手动完成登录
| `--push-lang` | 通知语言 | zh, en, ru
| `-ps`, `--push-serverchan-sendkey` | 设置Server酱SendKey | |
| `-pbu`, `--push-bark-url` | 设置Bark服务端地址 | 默认: https://api.day.app/push |
| `-pbk`, `--push-bark-device-key` | 设置Bark的DeviceKey | |
| `-ptt`, `--push-telegram-bot-token` | 设置Telegram bot token | |
| `-pti`, `--push-telegram-chat-id` | 设置Telegram chat ID | |
| `-pwx`, `--push-wechat-qywx-am` | 设置企业微信应用推送的QYWX_AM | 参考:http://note.youdao.com/s/HMiudGkb |
| `-pda`, `--push-dingtalk-access-token` | 设置钉钉群聊机器人access token | |
| `-pds`, `--push-dingtalk-secret` | 设置钉钉群聊机器人secret | 没有勾选加签则不需要此参数 |
| `-ns`, `--no-startup-notification` | 禁用脚本启动时推送一条通知 | |
| `--push-when-owned-all` | 当执行领取过程中发现全部可用周免游戏都已领取时推送一条通知 | 默认没有游戏被领取时不会推送通知 |
| `-v`, `--version` | 显示版本信息并退出 | |## 部署
**注意:由于Epic游戏商城限制了单个IP地址领取免费游戏的总量,所以使用公共IP领取游戏可能会失败。**
### 腾讯云函数
需要关闭双重验证。
目前不支持自动更新。
需要上传的文件:epicgames_claimer.py,requirements.txt
执行方法:epicgames_claimer.main_handler
推荐配置:内存1024MB或者512MB,执行超时时间900秒
#### 环境变量
| 变量 | 说明 | 备注 |
| -------------------------- | ------------------------------------------------------------------------ | --------------------------------------- |
| EMAIL | 设置用户名/邮箱 | |
| PASSWORD | 设置密码 | |
| PUSH_SERVERCHAN_SENDKEY | 设置Server酱SendKey | |
| PUSH_BARK_URL | 设置Bark服务端地址 | 默认: https://api.day.app/push |
| PUSH_BARK_DEVICE_KEY | 设置Bark的DeviceKey | |
| PUSH_TELEGRAM_BOT_TOKEN | 设置Telegram bot token | |
| PUSH_TELEGRAM_CHAT_ID | 设置Telegram chat ID | |
| PUSH_WECHAT_QYWX_AM | 设置企业微信应用推送的QYWX_AM | 参考:http://note.youdao.com/s/HMiudGkb |
| PUSH_DINGTALK_ACCESS_TOKEN | 设置钉钉群聊机器人access token | |
| PUSH_DINGTALK_SECRET | 设置钉钉群聊机器人secret | 没有勾选加签则不需要此参数 |
| PUSH_WHEN_OWNED_ALL | 设置为true时,当执行领取过程中发现全部可用周免游戏都已领取时推送一条通知 | 默认没有游戏被领取时不会推送通知 |#### 如何安装python模块和浏览器
使用在线编辑器中的集成终端打开src目录,运行以下命令(点(`.`)是命令的一部分,请不要忽略它们)。
```bash
cd src
pip3 install -r requirements.txt -t .
mv bin/pyppeteer-install .
./pyppeteer-install
cp -r /root/.local/share/pyppeteer/local-chromium/*/chrome-linux .
```运行完成后点击“部署”按钮使修改生效。
## 已知问题
Windows系统中途结束脚本可能导致浏览器进程留在后台。请检查任务管理器并手动结束浏览器进程。
## crontab表达式
[crontab表达式验证](https://www.matools.com/crontab)