shiny1005/topps-auto-login
GitHub: shiny1005/topps-auto-login
逆向 ToppsFR 登录 API 并自动化完成邮箱 OTP 验证流程的批量登录工具。
Stars: 0 | Forks: 0
Topps 自动登录
**概述**
本项目自动化了使用邮箱 OTP 的 ToppsFR 登录流程。对于 `tasks.csv` 中的每一行,它会:
1. 启动 ToppsFR 会话并开始邮箱登录步骤。
2. 使用 IMAP 等待 OTP 邮件。
3. 提取 6 位数字验证码并将其提交给 Topps。
4. 并发地对 `tasks.csv` 中的所有任务重复上述操作。
**项目布局**
- `main.py`:包含 `CatchYourCards` 类,负责执行登录 + OTP 逻辑。
- `run.py`:加载 `tasks.csv` 以及(可选的)`proxies.txt`,然后并发运行任务。
- `tasks.csv`:每个账号对应一个任务。
- `proxies.txt`:可选的代理列表(由 `main.py` 使用)。
**要求**
- Python 3.11+
- 一个可达的 IMAP 服务器,用于接收 OTP 邮件
- 每个账号行需具备有效的 ToppsFR OAuth client id 和 redirect uri
- 可选:`proxies.txt` 中的代理
**安装依赖**
在此文件夹下运行:
```
python -m pip install --upgrade pip
python -m pip install colorama pandas hyper-sdk
```
如果你更倾向于使用 `pyproject.toml`,也可以运行:
```
python -m pip install .
```
**配置 `tasks.csv`**
`run.py` 使用以下表头读取 `tasks.csv`:
```
email,client_id,redirect_uri,marketing_consent,cf_clearance,cf_bm,imap_host,imap_port,imap_user,imap_pass,imap_folder,otp_timeout_sec,otp_poll_sec,otp_submit_delay_sec,otp_from_filter,otp_subject_filter,delay
```
注意事项:
- `marketing_consent` 会根据字符串值(`true`/`false`)作为布尔值处理。
- `cf_clearance` 和 `cf_bm` 是可选的 Cloudflare cookie 值;如果没有可以留空。
- `otp_from_filter` 和 `otp_subject_filter` 用于判断某封邮件是否为 OTP 邮件。
- `delay` 是传递给 `main.py` 的单任务延迟值。
**配置 `proxies.txt`(可选)**
每行一个代理:
- `ip:port`
- `ip:port:username:password`
如果 `proxies.txt` 缺失或为空,项目将在不使用代理的情况下运行。
**运行**
```
python run.py
```
**如果找不到 OTP 该怎么办**
- 增加 `otp_timeout_sec`
- 确保 `imap_folder` 正确(通常是 `INBOX`)
- 确认 `otp_from_filter` / `otp_subject_filter` 与 OTP 邮件的发件人/主题相匹配
标签:BeEF, Cloudflare绕过, colorama, hyper-sdk, IMAP邮箱, IP 地址批量处理, OAuth认证, OTP验证码, pandas, Python, Topps, URL抓取, Web API, 云资产清单, 代理支持, 任务自动化, 告警, 多线程并发, 安全绕过, 批量操作, 数据抓取, 无后门, 爬虫, 电商自动化, 自动化登录, 自动填表, 逆向工具, 逆向工程