近日对该高校的统一身份认证协议进行了解析,并开发出了基于python的自动健康打卡程序(不熟悉的用户可以使用旧版)
该项目依赖于一些python包,在使用前请务必保证这些包已经被正常安装
pip install -r requirements.txt
在bash中执行
python main.py --username=<username> --password=<password>
其中上面的<username>
处填写用户名(学号/工号),例如DZ20000001,其中的<password>
处填写统一身份认证平台的密码。
新建passwd.txt文件,按照以下格式填入用户名和密码
username:password
保存好文件后在bash中执行
python main.py --file=/path/to/passwd.txt
例如在当前目录下
python main.py --file=./passwd.txt
如果你不想将密码明文直接传入程序,在运行参数中加上--b64
,将password改为密码的base64密文即可,该参数对于统一身份认证平台的密码和邮件的密码一样生效。例如
python main.py --file=./passwd.txt --b64
或者
python main.py --username=<username> --password=<password> --b64
如果你希望在打卡成功后通过邮件通知,加上--mail_notify, --mail_user, --mail_pass, --mail_host四个参数,(经过测试对于拉姆达邮箱无需修改--mail_host参数,使用默认参数即可),例如
python main.py --username=<username> \
--password=<password> \
--b64 \
--mail_notify \
--mail_user <example@xxxxx.xxx.edu.cn> \
--mail_pass <your_email_password_base64>
默认情况下如果打卡已经完成程序会取消打卡,如果添加--force
参数则将覆盖上次打卡,并强制重新打卡。
在linux平台下,可以编辑/etc/crontab
文件,并添加行
0 22 * * * <user> /path/to/your/python /path/to/main.py --file=/path/to/passwd.txt
30 22 * * * <user> /path/to/your/python /path/to/main.py --file=/path/to/passwd.txt #可以加多几个防止出现网络故障
(待更新)
该程序不会访问除了校园网以外的所有资源,不会收集任何与用户账号相关的信息,请各位用户放心使用,不放心的用户可以自行阅读程序源码。
该程序仅为大家提供便利,如果因故离校或者出现任何健康状况请如实上报,因使用该程序导致的后果作者概不负责。