由于官方关闭了 Web 端的登录接口,所以被迫采用了其他的登录方法,请大家查看文档,更换最新代码。
这里我有几句话要说,原本鄙人做这些只是为了方便大家,免受打卡之苦,但有些人却利用网站安全系数低爆破管理员密码,这已经触犯了法律!!进而导致了官方关闭了接口!!
我想说的是,技术无罪,但是使用技术的人可能犯罪!!技术存在的价值就是为了让我们的生活更加便利,更加丰富多彩,而不是相互攻击,用它来做那些犯罪的勾当!
另外,还请使用者们低调,人要有自知之明。
祝朋友们身体健康,疫情尽快过去。
- 更换了登录验证方式
- 增加了
pyexecjs
库(本机需安装Node.js
),云函数自带 - 增加了一个选项:
学生身份
- 去除了OCR的功能以及相关配置
- 用户登录信息改变,使用学号和统一认证网站密码(具体请看下文)
- 去除了日志功能以及相关配置
- 签到失败仍会发送提醒邮件
- 本仓库发布的
htu_health_check_in
项目中涉及的任何脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。 - 本项目内所有资源文件,禁止任何公众号、自媒体进行任何形式的转载、发布。
easechen
对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害.- 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播,
easechen
对于由此引起的任何隐私泄漏或其他后果概不负责。 - 请勿将
htu_health_check_in
项目的任何内容用于商业或非法目的,否则后果自负。 - 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本。
- 以任何方式查看此项目的人或直接或间接使用
htu_health_check_in
项目的任何脚本的使用者都应仔细阅读此声明。easechen
保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或htu_health_check_in
项目,则视为您已接受此免责声明。 - 您必须在下载后的24小时内从计算机或手机中完全删除以上内容。
您使用或者复制了本仓库且本人制作的任何代码或项目,则视为
已接受
此声明,请仔细阅读 您在本声明未发出之时点使用或者复制了本仓库且本人制作的任何代码或项目且此时还在使用,则视为已接受
此声明,请仔细阅读
本程序可以实现河南师范大学移动学工平台的每日健康打卡功能。主要有以下特点:
- 配置简单:所有的配置都位于
/config/config.txt
配置文件中,多快好省。 - 邮箱推送:实现了打卡信息的邮箱推送,以知道自己是否打卡成功。(失败则不会发送)
- 支持云函数部署:无需服务器,省时省力省金钱。
本程序由python编写,需要以下环境:
- Linux x86 或者 Windows x86_64
- Linux Python3.6 或者以上, windows需要Python3.9.6以上!
- 以下python包:
requests
PyEmail
beautifulsoup4
configparser
pyexecjs
- 需要Node.js环境
统一安装,使用requirements.txt
文件在项目根目录中,执行下面的命令即可安装所需的所有包。
如果是云函数部署,则这些环境它都具备,不需要另行操作。
pip install -r requirements.txt
如果速度慢,可将本仓库地址修改为镜像地址 https://hub.fastgit.org/easechen/htu_health_check_in.git 如果遇到Bug,请克隆最新仓库代码,或者提出Issue
本程序用户只需修改位于/config/config.txt
的配置文件即可,然后使用Python解释运行根目录下的/run.py
,如图所示,你需要修改三个项目:
下面将进行详细讲解如何获取和填写。
注意:这里等号后面的值都无需加引号
这里填写你的学号和统一认证网站密码。username
是学号,password
是密码。
这里主要用于每日的打卡情况推送,可以关闭或开启。打卡信息会由第三方SMTP服务器发送到receiver
所指定的邮箱中。这里以QQ邮箱为例,展示如何获取这些信息。QQ邮箱的smtp服务器是 smtp.qq.com
,用户名就算你的账户名,口令需要进入QQ邮箱设置中获取。
进入设置-账户
找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启SMTP服务。然后点击生成授权码进行获取。
下面的就是签到打卡的信息了。按照注释的说明进行填写即可。在这里,0代表是,1代表否,其余的看注释即可。位置信息复制上一次打卡的定位信息。
注意!一定要看注释!一定要看注释!!
- 首先确保满足了上述环境要求,接着克隆本仓库。
- 进入文件夹中,修改
./config/config.txt
文件中的各项配置,看注释,根据自己前一天的信息填写。 - 在根目录中解释执行
python ./run.py
使用crontab
定时任务。
crontab -e
在最末尾添加:
0 10 7 * * * * /bin/python3 /home/ubuntu/qiandao/run.py
这里代表每天的七点十分零秒执行后面的命令,注意后面修改为自己程序的路径!根据自己的实际情况进行修改。
具体语法,参考Cron表达式语法详解
首先,你应该参考上面的使用指南,修改好配置文件!!测试无误后再进行,以免麻烦。
注意:请先仔细阅读使用指南,并配置好配置文件之后在进行下面的操作。
使用腾讯云函数https://cloud.tencent.com/product/scf 的免费资源进行部署。首先,注册和登录请自行操作,之后我将进行具体的演示。
在控制面板中新建自定义函数。
创建方式选择自定义创建,然后填写基本配置,函数名称随意,运行环境选择Python3.6
。
之后上传该文件夹。在执行方法
中填入run.yunRun
。
创建自定义触发器,在触发周期中选择自定义触发周期,这里的0 10 7 * * * *
代表每天的七点十分零秒执行一次,具体的Cron
格式参考这里的文章。
最后,点击完成!然后跳转至函数配置页面。之后点击编辑,向下找到环境配置-执行超时时间
将其设置为100秒。然后在下面点击保存。
测试执行效果。点击函数代码,下滑找到测试和部署,点击测试即可开始运行。
测试成功!点击日志查询,查看最近的日志是否执行成功且完整。
最后将会显示打卡成功
字样。
此时,此云函数将在触发器设置的时间点执行,进行打卡和推送。
- 这些资源都是利用免费额度内的资源,如果使用过量,责任自负。
- 请在本地测试好配置文件无误后在进行云函数的上传操作,以免更改麻烦。
- 如果使用云函数,请必须按照说明进行更改配置文件
config.txt
最后的设置!!!如果在自己的服务器中,则建议开启,以减少资源消耗。 - 配置文件中,0代表是,1代表否
- 目前不能多人打卡
- 地址信息从往日的打卡信息中复制(微信登录即可方便复制)
- 如有问题请提出 Issue