Rainyun-Qiandao-V2 是一个基于 Selenium 和 ICR(Image Captcha Recognition)的雨云自动签到工具,通过模拟浏览器操作和高级验证码识别,实现雨云账户的自动每日签到以赚取积分。
git clone https://github.com/scfcn/Rainyun-Qiandao.git
cd Rainyun-Qiandao
python -m pip install --upgrade pip pip install -r requirements.txt
本项目已集成自动匹配 ChromeDriver 的功能,无需手动下载和配置。工具将按以下顺序尝试:
# Windows (PowerShell)
$env:RAINYUN_USER = "your_username"
$env:RAINYUN_PASS = "your_password"
# Linux/macOS
export RAINYUN_USER="your_username"
export RAINYUN_PASS="your_password"
# 运行脚本
python rainyun.py
支持多行格式,每行一个用户名/密码,数量需匹配:
# Windows (PowerShell)
$env:RAINYUN_USER = "user1`nuser2`nuser3"
$env:RAINYUN_PASS = "pass1`npass2`npass3"
# Linux/macOS
export RAINYUN_USER="user1\nuser2\nuser3"
export RAINYUN_PASS="pass1\npass2\npass3"
# 运行脚本
python rainyun.py
创建 .env 文件(已添加到 .gitignore):
RAINYUN_USER=your_username RAINYUN_PASS=your_password DEBUG=false HEADLESS=false AUTO_UPDATE=true MAX_WORKERS=2 MAX_RETRIES=1
多账户配置:
RAINYUN_USER=user1 user2 user3 RAINYUN_PASS=pass1 pass2 pass3 DEBUG=false HEADLESS=false AUTO_UPDATE=true MAX_WORKERS=2 MAX_RETRIES=1
Settings > Secrets and variables > Actions| Secret名称 | 说明 | 必需 |
|---|---|---|
| RAINYUN_USER | 雨云用户名(支持多行,每行一个用户名) | ✅ |
| RAINYUN_PASS | 雨云密码(支持多行,每行一个密码,需与用户名数量匹配) | ✅ |
| Secret名称 | 说明 | 推送方式 |
|---|---|---|
| PUSH_PLUS_TOKEN | Push+用户令牌 | 微信 |
| PUSH_PLUS_USER | Push+群组编码(可选) | 微信 |
| SMTP_SERVER | SMTP服务器地址 | 邮件 |
| SMTP_SSL | 是否使用SSL (true/false) | 邮件 |
| SMTP_EMAIL | 邮箱地址 | 邮件 |
| SMTP_PASSWORD | 邮箱密码 | 邮件 |
| SMTP_NAME | 发件人姓名 | 邮件 |
| BARK_PUSH | Bark设备码或完整URL | iOS |
| DD_BOT_SECRET | 钉钉机器人密钥 | 钉钉 |
| DD_BOT_TOKEN | 钉钉机器人令牌 | 钉钉 |
| FSKEY | 飞书Webhook密钥 | 飞书 |
| TG_BOT_TOKEN | Telegram机器人令牌 | Telegram |
| TG_USER_ID | Telegram用户ID | Telegram |
| PUSH_KEY | Server酱密钥 | Server酱 |
| 变量名 | 说明 | 默认值 | 必需 |
|---|---|---|---|
| RAINYUN_USER | 雨云用户名(支持多行,每行一个用户名) | - | ✅ |
| RAINYUN_PASS | 雨云密码(支持多行,每行一个密码,需与用户名数量匹配) | - | ✅ |
| HEADLESS | 是否以无头模式运行(true/false) | false | ❌ |
| DEBUG | 是否启用调试模式(true/false) | false | ❌ |
| AUTO_UPDATE | 是否启用自动更新(true/false) | true | ❌ |
| MAX_WORKERS | 最大并发线程数 | 2 | ❌ |
| MAX_RETRIES | 最大重试次数 | 1 | ❌ |
| GITHUB_ACTIONS | 在 GitHub Actions 环境中自动设置为 true,用于强制无头模式 | false | ❌ |
cookies/ 目录actions/cache 持久化 Cookie开始并发处理 N 个账户... ↓ [Worker-1] 处理账户 1 [Worker-2] 处理账户 2 (并发执行) ↓ 收集失败账户 ↓ 等待 5-15 秒 ↓ 第 1 轮重试失败账户 ↓ ...
脚本支持自动更新功能,可以检测到新版本或版本过低时自动同步到最新版本。
LATEST_VERSION > ver)ver < MIN_VERSION)优先使用 Git 同步(如果系统已安装 Git)
git fetch --all 获取最新代码git reset --hard origin/main 强制同步到最新版本Git 失败时回退到直接下载
rainyun.py 文件下载失败时提示手动更新
通过环境变量 AUTO_UPDATE 控制:
# 启用自动更新(默认)
export AUTO_UPDATE=true
# 禁用自动更新
export AUTO_UPDATE=false
或在 .env 文件中配置:
AUTO_UPDATE=true
参考 Linux 环境配置指南。
ICR 模块使用旋转分析和模板匹配算法,识别率较高。脚本会自动重试,多次尝试后通常能成功通过验证。
确保 Python 版本为 3.9+,使用以下命令安装依赖:
python -m pip install --upgrade pip pip install -r requirements.txt
如果遇到依赖冲突,可以尝试:
pip install --upgrade pip setuptools wheel pip install -r requirements.txt
项目已实现线程锁机制,确保 Chrome 实例按顺序初始化,避免端口冲突。
项目已集成 GitHub Actions 缓存功能,以加快每次运行的速度,主要缓存:
欢迎提交 Issue 和 Pull Request 来改进本项目:
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)本项目采用 GNU GENERAL PUBLIC LICENSE 许可证 - 查看 LICENSE 文件了解详情。