Skip to content

暨南大学健康打卡(时代的产物) 支持过滑动模块以及拼图模块

License

Notifications You must be signed in to change notification settings

HengY1Cola/Jnu-Stuhealth

Repository files navigation

学生健康打卡

Jnu-StuHealth 模拟滑块实现打卡项目

本项目实现自动打卡建议自备一台连续不断运行的服务器,该项目是在ubuntu上面实现的。

本项目的设想是必须开通邮件通知,因为上去检查下今天打卡没与设计概念背道而驰

因为验证码具有短暂的时效性,后改用了生产者与消费者模式,即产即消

最近对拼图有不错的识别,不建议个人使用,因为得每天上去下操作了

责任说明 😊

*最终解释权由发布者持有

若您切换了定位,请及时手动打卡一次即可。

本项目初衷是避免重复性,但请自己确保真实性

本项目已于Github进行开源/共享,秉承技术无界限的原则

一切使用该项目造成的后果应由使用者负责

Docker部署(废弃) 🏖️

仅限于x86架构,同我arm架构的话就采用下面的快速部署

因为添加了微信认证,并没有时间进行重新打包 (废弃)

请跳转到对应的分支下👉 https://github.com/HengY1Sky/Jnu-Stuhealth/tree/docker

快速部署 🚀

授权码的获取简单给个链接🔗: https://www.cnblogs.com/kimsbo/p/10671851.html

# 先在Root用户下
# 默认是存在对应的Python以及pip环境的
$ git clone https://github.com/HengY1Sky/Jnu-Stuhealth clock
$ chmod -R 755 ./clock
$ cd clock
$ pip install -r requirements.txt
$ apt update && apt upgrade # 更新包 
$ apt install firefox
# bin目录下已经自带driver,如果版本不符合请到对应release下载正确版本
# 切回去用户
$ su ubuntu
$ vim user_info.json # 编辑用户信息
# env: dev or pro; platform: mac or windows or linux
$ vim setting.json # 编辑配置选项(不开代理proxy不需要填写)
$ python app.py

文件结构 📁

├── app.py  # 入口运行文件
├── bgImg # 背景图片
├── bin # driver执行文件
├── hideHeader # 隐藏浏览器识别
├── log  # 输出日志
│
├── user_info.json  # 编辑信息的
├── setting.json # 用于方便调试的以及后面的拓展
├── handlePackage.py # 处理发包
├── handleValidate.py # 处理验证码
├── handleWechat.py # 处理微信登陆
├── handleToken.py # 处理微信Token
├── handleProxy.py # 处理高匿代理
│
├── requirements.txt # 依赖文件
└── utils.py  # 仓库

定时开启任务 ⏰

# 开启定时
# 参考链接 https://blog.csdn.net/longgeaisisi/article/details/90477975
$ sudo apt-get install cron
$ crontab -l # 是否安装以及已有任务
$ service cron start # 开启cron
$ crontab -e # 选择3
# 将  1 0 * * * /usr/bin/python /home/ubuntu/clock/app.py  写入注意修改路径
$ service cron restart
# 建议将app文件中的记录日志的路径写为绝对的

注意事项 ⚠️

  1. 当遇到说webp·文件不识别的时候: pip install --upgrade pillow升级下就好了
  2. 当出现state code 1时候,在当前目录下打开geckodriver.log查看情况进行修复
  3. root用户无法使用,sudo crontab -u ubuntu -e为ubuntu用户开启定时任务
  4. 报错Unable to find zbar shared library时在Ubuntu下sudo apt-get install libzbar-dev

其他问题请谷歌解决~ 代码问题请提交PR或者开Issue

更新日志

最新描述:微信认证终端显示

20221007

微信认证终端显示

在终端直接进行认证免得到邮箱下发

20220926

高匿代理添加自动获取当天免费包

当数量多了之后建议添加非相同IP进行处理

20220925

添加高匿代理选项

当数量多了之后建议添加非相同IP进行处理

20220924

小更新以及重构发包

  1. 换一个Cookie名称有意义码
  2. 更加仿真 从Header到发包
20220922

对于新验证码有不错的成功率

再次稳定运行

20220922

避开微信

花了点时间分析,轻松😉绕过

20220710

修复Bug

发现在分析Json的时候并没有分析每个人的,导致在后端计算的时候始终不对。并且加上了保险,子线程也会Kill掉,免得被init接收无限制下去造Token

20220709

文件重构

把文件全部封装起来了,更好维护。

20220326

添加Docker容器

为了快速上手使用,造福大家免除配置环境的烦恼。 被迫花了点时间搭建了个容器,记得点个星星。

20220325

添加表格参数

新的表格出现了早/中/晚的昨日测量数据 现在已经加上且附带35.5-36.5的随机体温

20220227

紧急修复Crontab问题

加入拓展之后并在Crontab下执行会路径发生问题,经过我的排查在当前文件夹下使用 cp -r ./hideHeader /home/ubuntu并赋予执行权限 chmod -R 777 /home/ubuntu/hideHeader即可。至于路径不统一,查看我的博客简单配置即可找到问题所在。

20220226

重构发包与修改日志记录

当初年少不懂事,写的代码自尝苦果,写的不好自己现在重新写下。 新版发出,敬请谅解,多多指教~

  • 重构发包
  • 修改日志记录
20220225

修改方式以及优化部分代码

受到小透明的启发,发现利用油猴方式是可以在不降低版本的情况下进行浏览器头部的绕过,以及发现部分代码存在可以优化空间。 正如小透明所说,降低版本是一个不明智的决定,抱歉~

  • 添加上了绕过方式
  • 添加了Logging日志记录格式
  • 暂时修复Connection aborted
20220215

动模块检测window.navigator修复(废弃)

收到邮箱错误,上去Debug发现只要是自动浏览器总是错的,不可能是对的。由于issue#1680 链接:mozilla/geckodriver#1680

作者在上面说:And that is because the WebDriver spec defines that property on the Navigator object, which has to be set to true when tests are running with webdriver enabled. 即在88.0版本以上之后geckodriver不提供window.navigator.webdriver设置为None

如果我发现有像谷歌存在execute_cdp_cmd的方法我会第一时间更新,所以总的思路已经有了。

$ apt remove firefox # 卸载最新版本的firefox
$ wget https://ftp.mozilla.org/pub/firefox/releases/87.0b1/linux-x86_64/zh-CN/firefox-87.0b1.tar.bz2
$ tar -jxvf firefox-87.0b1.tar.bz2 # 会有个firefox文件
$ cd firefox
$ ./firefox --version # 查看版本
$ pwd # 查看firefox在哪里
$ sudo echo "export PATH=/home/ubuntu/firefox:$PATH" >  /etc/profile # 写入
$ source /etc/profile
$ firefox --version # 查看版本
$ python handleValidate.py # 如果为None就是成功了的(执行时注意用户)
# 关闭自动更新 https://blog.csdn.net/yu1014745867/article/details/79639440
$ crontab -e # 重新编辑
# 1 0 * * * . /etc/profile;/usr/bin/python /home/ubuntu/clock/app.py 将这句话改成你的对应路径写入

About

暨南大学健康打卡(时代的产物) 支持过滑动模块以及拼图模块

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published