感谢ZimoLoveShuang的开发,添加了新功能以及返回消息优化,有条件请支持原作者ZimoLoveShuang。
2020.11.06 更新 由于修改了签到API前几天无法正常使用(这几天没空),感谢wxyttty提供了最新的接口。
- 一键部署
懒,过几天再写,其实挺简单的,感兴趣的自己研究下代码 - 自动登陆配置,无需修改代码
- 采用生成配置文件,可以(多用户)
- 支持福州大学学号、密码登陆
- 添加邮件模块,可使用自己邮箱发送结果(也可选择原作者提供的邮箱服务)
- 自动注册定时计划
邮件回复验证码- 能够自动识别
验证码图片
,但是巧妙避开了登陆密码需要验证码验证的情况 :) 所以用不到。
- 仅学习交流~如有不妥请联系本人删除!
- 本项目对福州大学签到服务进行了适配
- 由于登陆限制,手机端登陆,服务器端会掉线,需重新登陆
这里说明一下:
关于添加福州大学账号密码登陆的原因。 进出校门都要扫码,就导致了每次都要重新登陆!这个和每日签到就没区别了。
由于福大的认证严格,每次登陆会消除上一登陆设备认证,就想到用账号密码
登陆代替手机验证码
。但是实现了账号密码登陆后,今日校园会对每一台未认证设备
进行手机验证,白虾。。。
偶然发现:使用目前登陆设备的
CpdailyInfo
作为参数,使用账号密码
进行登陆是可以跳过认证的!但是需要抓包,以后可以解决这个问题
或者使用手机自带的一键登陆功能
目前来说,进一步实现的成本大于收益,日后可能实现邮件收发验证码,仅此而已
项目完全开源,有想法想学习的同学可以查看代码
- 如使用自己邮箱发送,需开启邮箱SMTP服务
- 虽然从每日4次改为1次,但是要重视签到
- 有很大发挥余地,请充满想象
本项目使用python3 3 3 3 3 3 3 你只需要安装python3
环境见requirements.txt
福大登陆使用了加密,闲麻烦从网站提取了加密方法。
福大账号密码与今日校园使用ticket
认证,即DES加密登陆成功返回的跳转链接里的mobile_token
福大账号密码登陆需要六次request
- 获取
extension
、pwdDefaultEncryptSalt
、lt
- 验证是否需要验证码(附加一个v与随机数即可避免。。。)
- 将
password
、pwdDefaultEncryptSalt
使用DES混淆加密 - 登陆成功会返回
callback
链接,需要禁止转发
才可获得 - 返回来的结果中
+
会转码成+
在加密前需解码 - 使用门票
tecket
与今日校园认证
邮件服务器使用smtplib
、email
实现,难度低,方便。
定时任务使用Linux系统标配:crontab
今日校园账号密码登陆的手机验证码
使用了不同的链接,很细节。
/config
用于存储配置文件
/example
示例文件,可以看看
encrypt.js
加密程序
generate_config.py
用于生成配置文件
index_sign.py
适用于每日签到以及午间签到
index_submit.py
适用于健康报表
(整合到login)login_fzu.py
福大统一认证登陆
login.py
登陆(短信验证登陆、福大统一认证)
sendEmail.py
一个简单的自定邮件服务
timedTask
注册自动签到用
- 下载项目
# 下拉项目代码
git clone https://github.com/DogeZhang/auto-sign.git && cd auto-sign
- 部署代码
# 部署代码
chmod +x install.sh && ./install.sh
- Enjoy
- 下载项目
# 下拉项目代码
git clone https://github.com/DogeZhang/auto-sign.git && cd auto-sign
- 安装必备环境 (仅运行一次)
# 仅有python3 (直接用下面pip3的就好了)
pip install -r requirements.txt -t . -i https://mirrors.aliyun.com/pypi/simple
# 建议使用pip3安装
pip3 install -r requirements.txt -t . -i https://mirrors.aliyun.com/pypi/simple
- 登陆
# 按照提示填入信息,相信你会的
python3 generate_config
python3 login.py
- 签到
# 每日签到、健康检测-午签到 均适配
python3 login_sign.py
# 健康信息报表
python3 login_submit.py
- 总结一下技术要领(四行指令,一句签到)
git clone https://github.com/DogeZhang/auto-sign.git && cd auto-sign
pip3 install -r requirements.txt -t . -i https://mirrors.aliyun.com/pypi/simple
python3 generate_config && python3 login.py
python3 login_sign.py