签到啦
签到啦 是一个日常签到程序(目前支持京东京豆、南航、川航、携程、微信支付有优惠小程序龙舟游戏刷免费提现券、美团优惠券、统一快乐星球、中国移动、中国联通、东鹏特饮、云闪付、卡亨星球、鸿星尔克、迪卡侬、萤石、掘金、途虎养车),通过这个程序你可以只需设置一次(部分平台)Token或其他用户身份令牌和签到时间就可以定时每日签到啦。起初只是为了对京东的每日签到任务领取京豆,之后发现日常用的很多平台都有这种任务活动,后面也就陆续加了一些平台。
你可以访问 Sign 了解如何使用签到程序
运行前需要安装程序依赖包
1 | pip install uvicorn fastapi websockets httpx loguru diskcache apscheduler SQLAlchemy python-dateutil -i https://pypi.tuna.tsinghua.edu.cn/simple |
第一种:直接运行脚本
1 | python sign.py |
追加平台令牌参数(以京东为例)
1 | python sign.py --pt_pin jd_XXX --pt_key AAJXXX |
第二种:启动服务(服务可用于添加token和设置定时任务)
1 | uvicorn sign:app --host 0.0.0.0 --port 8081 |
访问 http://127.0.0.1:8081/docs 通过接口添加账户token等
开发描述
程序主要使用fastapi开发的接口,请求库主要使用httpx,定时调度器使用的是apschedule,数据库使用的是sqlite,缓存使用的是diskcache,调度器和缓存是共用同一个sqlite数据库,使用sqlite数据库主要是减少环境依赖和方便,也方便的查看任务执行情况。当然也可以换成其它数据库,修改一些脚本数据库配置即可。
接口可以方面添加token等令牌信息,之后的定时运行可以使用apschedule定时调度运行(默认早上九点签到),也可使用crontab运行脚本。
crontab运行脚本后面添加参数即可(例如 0 9 * * * ~/python3 ~/sign.py –pt_pin jd_XXX –pt_key AAJXXX)。
签到状态提醒目前只写了钉钉通知,修改脚本的dingAlert函数中的access_token和secret即可。
后续也会增加其它平台…
脚本运行命令设置选项
1 | Options: |
说明:
京东--pt_pin
pt_pin和--pt_key
需同时传入!脚本也支持使用青龙面板运行,追加的参数设置为环境变量即可。
常见问题
关于 令牌 获取
可以使用抓包工具,例如Fiddler、Wireshark,或者浏览器插件,或者使用浏览器自带的开发者工具,例如Chrome的开发者工具。
手机抓包可以设置代理去抓包(需安装证书才可以抓取https协议请求),也可以使用app去抓包,苹果用户推荐使用Stream,安卓用户推荐使用HttpCanary。
青龙面板支持
程序也是支持了青龙面板,令牌通过环境变量传入即可。
关于 docs 空白页面
由于fastapi的docs使用的是swagger-ui的远程静态文件,远程静态文件偶尔会加载异常,所以docs出现空白页面,不影响接口使用。
阶段计划
- 添加Cookie签到(解决多参数认证)
- 加入任务灵活配置页面
- 重新编写部署教程
总结
由于这是本人业余时间开发的项目,可能还有很多问题不能及时解决(也会抽时间解决),这个项目也可能存在很多不尽如人意的地方,在细节方面我也会尽力地去修改,也欢迎大家提出自己的问题,以及项目的相关建议,也欢迎大家提交代码。如果觉得这个主题不错,欢迎大家去使用。当然了,如果能赞赏我一下,我也是不介意的。(●ˇ∀ˇ●)
这个项目对于部分人群可能无法灵活配置,后续抽时间开发web版和app去让各类用户方便使用,欢迎大家修改,也希望这个项目越来越多的人能够喜欢。
__END__