基于 Python 的龙湖天街每日签到脚本,支持验证码自动识别,可配合 GitHub Actions 定时运行。
- ✅ 自动完成每日签到
- ✅ 自动识别滑块验证码(顶象验证)
- ✅ 图像自动还原和缺口检测
- ✅ 轨迹生成和 AC 参数编码
- ✅ GitHub Actions 定时运行(每天 9-15 点随机一次)
- ✅ Bark 推送签到结果到手机
点击页面右上角的 Fork 按钮
在你的仓库中:Settings → Secrets and variables → Actions → New repository secret
添加以下 Secrets:
| Secret 名称 | 说明 | 必需 |
|---|---|---|
TOKEN |
龙湖天街登录 token | ✅ |
DXRISK_TOKEN |
顶象风控 token | ✅ |
BARK_KEY |
Bark 推送 key | ⭕ 可选 |
获取 Token 方法:使用抓包工具监测,打开龙湖天街小程序,在工具中查看请求头。
详细配置步骤请查看:GitHub Actions 配置指南
在仓库页面点击 Actions 标签,启用工作流。
脚本将在每天 9 点自动运行。
# 克隆仓库
git clone https://github.com/YOUR_USERNAME/longfor-sign.git
cd longfor-sign
# 安装 Python 依赖
pip install -r requirements.txtexport TOKEN="你的 token"
export DXRISK_TOKEN="你的 dxrisk token"
export BARK_KEY="你的 Bark Key" # 可选或创建 .env 文件:
TOKEN=你的token
DXRISK_TOKEN=你的dxrisk_token
BARK_KEY=你的bark_keypython main.pylongfor-sign/
├── main.py # 主程序入口
├── longfor.py # 龙湖天街 API 封装
├── captcha_handler.py # 验证码处理核心
├── image_recognition_v2.py # 图像识别(形状匹配)
├── ac_encoder_full.py # AC 参数编码器
├── trajectory.py # 轨迹生成
├── decode_o_string.py # 切片顺序解码
├── restore_correct.py # 图像还原
├── calculate_xy.py # X/Y 坐标计算工具 🆕
├── bark_notify.py # Bark 推送通知
├── requirements.txt # Python 依赖
├── .github/workflows/ # GitHub Actions 配置
│ └── daily-sign.yml # 定时签到工作流
- 获取验证码:调用龙湖天街 API 获取背景图和滑块图
- 图像还原:根据切片顺序 (
o参数) 还原被打乱的背景图 - 缺口识别:使用形状匹配算法识别滑块缺口位置
- 轨迹生成:生成拟人化的滑动轨迹(贝塞尔曲线 + 抖动)
- AC 编码:根据 greenseer.js 逻辑编码环境信息和轨迹
- 提交验证:提交 AC 参数和坐标完成验证
- 图像识别:OpenCV 模板匹配 (TM_CCOEFF_NORMED)
- 偏移修正:检测位置 - 60px = 实际滑动距离
- 轨迹生成:三次贝塞尔曲线 + 随机抖动 + 回弹
- AC 编码:完整实现 greenseer.js 的所有环境检测和加密
-
Token 安全
- 不要泄露你的 Token
- 定期检查和更换 Token
- 使用 GitHub Secrets 存储敏感信息
-
验证码识别
- 识别成功率约 90-95%
- 失败后会在下次运行时重试
- 可查看 Actions 日志定位问题
❌ 错误: 401 Unauthorized
解决方法:重新抓包获取最新 Token,并更新 GitHub Secrets
❌ 验证失败: 缺口识别错误
解决方法:
- 查看日志中的识别坐标
- 正常情况下会在下次运行时重试
- 持续失败可能需要调整识别参数
可能原因:
- GitHub Actions 未启用
- Secrets 未配置
- cron 表达式错误
- GitHub 服务延迟
# 计算滑动距离和垂直位置
python calculate_xy.py <背景图> <滑块图> [方法]
# 示例
python calculate_xy.py restored_bg.jpg slider.png shape
python calculate_xy.py restored_bg.jpg slider.png auto参数说明:
背景图:需要先使用restore_correct.py还原的完整背景图滑块图:PNG 格式的滑块图片方法:可选,shape(推荐)/auto/contour/color
python test_recognition.py <背景图> <滑块图> [期望x坐标]python main.py使用.env 文件时:
set -a; source .env; set +a
python main.py欢迎提交 Issue 和 Pull Request!
- OpenCV 图像识别
- 顶象验证码逆向分析
- GitHub Actions 自动化