Skip to content

dxx4396/smzdm_bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

什么值得买每日签到脚本

更新日志

  • 2022-12-08, 签到失败,浏览器端签到需要滑动验证码认证
  • 2023-01-11, 更改User-AgentiPhone后可bypass滑块认证
  • 2023-01-14, 登录认证失败, 签到失效
  • 2023-02-18, 通过安卓端验证登录,感谢 jzksnsjswkw/smzdm-app 的思路. 旧版代码查看 old 分支
  • 2023-02-25, 新增all_rewardextra_reward两个接口,本地支持多用户运行
  • 2023-02-27, 修复本地 docker-compose 运行问题; 本地 docker-compose 支持多账号运行
  • 2023-03-01, 支持青龙面板且支持多账号
  • 2023-03-01, 仅需要ANDROID_COOKIESK两个变量,自动生成USER_AGENTTOKEN, 引入随机休眠,减小被封概率
  • 2023-03-02, 新增每日抽奖,参考 hex-ci 的思路
  • 2023-04-06, 新增企业微信BOT-WEBHOOK通知推送方式,仅需要ANDROID_COOKIE一个变量, SK改为可选变量. 如果能够通过抓包抓到,最好填上.
  • 2023-04-23,更新抽奖功能

1. 实现功能

  • 每日签到, 额外奖励,随机奖励
  • 多种运行方式: GitHub Action, 本地运行,docker, 青龙面板
  • 多种通知方式: pushplus, server酱,企业微信bot-webhook, telegram bot(支持自定义反代Telegram Bot API. 搭建教程)
  • 支持多账号(需配置config.toml)

2. 配置

支持两种读取配置的方法,从环境变量或者config.toml中读取

2.1 从环境变量中读取配置

# Cookie
ANDROID_COOKIE = ""
SK = "" # 可选,如果抓包抓到最好设置

# Notification
PUSH_PLUS_TOKEN = ""
SC_KEY = ""
WECOM_BOT_WEBHOOK = ""
TG_BOT_TOKEN = ""
TG_USER_ID = ""

# 用于自定义反代的Telegram Bot API(按需设置)
TG_BOT_API = ""

# 用于docker运行的定时设定(可选),未设定则随机定时执行
SCH_HOUR=
SCH_MINUTE=

2.2 从config.toml中读取

参考模板 app/config/config_example.toml

[user.A]
ANDROID_COOKIE = ""
SK = "" # 可选,如果抓包抓到最好设置

[user.B]
# Disable userB的签到. 不配置此参数默认启用该用户
Disable = true
ANDROID_COOKIE = ""
SK = "" # 可选,如果抓包抓到最好设置

[notify]
PUSH_PLUS_TOKEN = ""
SC_KEY = ""
WECOM_BOT_WEBHOOK = ""
TG_BOT_TOKEN = ""
TG_USER_ID = ""
TG_BOT_API = ""

3. 使用

3.1 青龙面板

ql repo https://github.com/Chasing66/smzdm_bot.git "smzdm_ql.py"

默认情况下从环境变量读取配置,仅支持单用户.

如果需要支持多用户,推荐使用config.toml, 配置参考 2.2 从config.toml中读取. 配置完成后, 拷贝config.toml到青龙容器内的/ql/data/repo/Chasing66_smzdm_bot/app/config

docker cp config.toml <你的青龙容器名称>:/ql/data/repo/Chasing66_smzdm_bot/app/config

3.2 本地直接运行

克隆本项目到本地, 按照需求配置,配置参考 2.2 从config.toml中读取

python3 -m venv .venv
source .venv/bin/activate
cd app
pip install -r requirements.txt
python main.py

3.3 本地 docker-compose 运行

配置参考2.2 从config.toml中读取

修改 docker-compose.yaml, 将app/config/config.tomlmout 到容器内/smzdm_bot/config/config.toml

version: "3.9"
services:
  smzdm_bot:
    image: enwaiax/smzdm_bot
    container_name: smzdm_bot
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "1m"
        max-file: "1"
    volumes:
      - ./app/config/config.toml:/smzdm_bot/config/config.toml

3.4 Git Action 运行

GitHub Action 禁止对于 Action 资源的滥用,请尽可能使用其他方式

GitHub Action 仅支持env配置方式, 务必自行更改为随机时间

  1. Fork此仓库项目>, 欢迎star~
  2. 修改 .github/workflows/checkin.yml里的下面部分, 取消schedule两行的注释,自行设定时间
# UTC时间,对应Beijing时间 9:30
schedule:
  - cron: "30 1 * * *"
  1. 配置参考 2.1.1 从环境变量中读取配置

4. 其它

4.1 手机抓包

抓包有一定门槛,请自行尝试! 如果实在解决不了,请我喝瓶可乐可以帮忙

抓包工具可使用 HttpCanary,教程参考HttpCanary 抓包

  1. 按照上述教程配置好 HttpCanary
  2. 开始抓包,并打开什么值得买 APP
  3. 过滤https://user-api.smzdm.com/checkinpost请求并查看
  4. 点击右上角分享,分享 cURL,复制保存该命令
  5. 将复制的 curl 命令转换为 python 格式,方法
  6. 填入转换后的Cookiessk. Cookiesheaders里,skdata里, sk是可选项

5. Stargazers over time

Stargazers over time

About

什么值得买自动签到 2023

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.4%
  • Dockerfile 2.6%