enwaiax / smzdm_bot

什么值得买自动签到 2023
Apache License 2.0
290 stars 229 forks source link
docker dockerfile qinglong smzdm

什么值得买每日签到脚本

更新日志

1. 实现功能

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