【今日校园】自动打卡
今日校园自动打卡
一键部署脚本已经上线:https://github.com/lthero-big/TodayStudyAutoSignInstallShell
- 目前部署在国内服务器的方式早就失效了,今日校园会检测访问ip是否来自阿里云、腾讯云等,若是,则禁用访问。
目前可行的方案:
- 本地部署并设置定时任务【使用自己电脑或刷过系统的路由器】
- 使用国外服务器主机部署并设置定时任务
国外服务器怎么搞?
- 方法1:微软面向学生提供一年的Azure服务器,一直可以领取,如果有学校邮箱的同学可以直接申请,方法网上很多
- 方法2:没有学校邮箱的,可以上淘宝花20块买个Azure账号
- Azure的服务器,领取后里面是100刀,省着用,开5刀一个月的服务器即可。里面只有15GB,不能搭建梯子疯狂用……
- 方法3:淘宝上花30买个DigitalOcean的账号,里面有100刀可以用,比微软的好处是,流量每个月有2TB,可以搭建梯子
- 方法4:买个github包,里面有DigitalOcean的100刀代金卷、有两年域名可以领取,jetbrain全家桶、termius等
- 推荐上淘宝搜索“IT黑店”,他家的github包只要66元,老板人很好,他质保一年
部署流程
一键部署脚本已经上线:https://github.com/lthero-big/TodayStudyAutoSignInstallShell
以下内容可以全部忽略!!!
1、下载代码
下载地址:https://wwd.lanzouy.com/ikq1c07c4z7g 密码:c599
2、修改配置文件
在本地下载并解压代码,在本地打开config.yml文件,按自己的需要修改配置文件【如何修改,参考config_demo.yml文件】
3、上传到服务器
修改好文件后,在本地运行测试,如果没问题,再上传到服务器
比如,代码的所有文件上传到/home/codes/fuck-todaystudy/
目录下
4、安装依赖库
服务器上需要安装python,并安装pip
再根据根据需要的库【在requirement.txt里面】,用pip安装,安装命令:
【requirement.txt路径根据自己实际放置的路径修改】
1 | root@ubuntu:~# pip install -r /home/codes/fuck-todaystudy/requirement.txt |
安装好后,再安装pycrypt库【用来加密的】,安装命令:
1 | root@ubuntu:~# pip install -i https://pypi.douban.com/simple/ pycryptodome |
5、测试运行
安装好库后,测试下能否正常运行
1 | root@ubuntu:~# python3 /home/codes/fuck-todaystudy/index.py |
在控制台查看运行输出结果,如果没问题再设置定时任务
6、设置定时任务
如果用国外服务器,先进行时间同步!将服务器的系统时间时区修改成上海/北京时区
步骤1、创建shell脚本
先创建shell脚本存放的目录,命令
1 | root@ubuntu:~# mkdir /home/codes/shell |
再创建脚本,假设脚本路径为 /home/codes/shell/autoSign.sh
1 | root@ubuntu:~# vim /home/codes/shell/autoSign.sh |
shell脚本里面包含运行打卡程序的命令【注意下面路径,修改成实际路径】
- cd /home/codes/fuck-todaystudy/:表示进入打卡程序的目录
- python3 /home/codes/fuck-todaystudy/index.py: 表示运行打卡程序
- 其它的代码是配置环境与输出提示信息
1 | !/bin/bash |
步骤2、运行测试shell脚本
先给脚本添加权限
1 | root@ubuntu:~# chmod +x /home/codes/shell/autoSign.sh |
再运行
1 | root@ubuntu:~# bash /home/codes/shell/autoSign.sh |
如果运行成功,同样会输出打卡信息,并在最后,输出当前时间和Successful
步骤3、定时运行shell脚本
使用cronta
b命令,输入
1 | root@ubuntu:~# crontab -e |
第一次运行时,需要选择编辑器类型,选择vim对应的序号即可
在crontab里面
输入以下内容
1 | 3 10 * * * /home/codes/shell/autoSign.sh >> /home/lthero/codes/autoSign.log 2>&1 |
解释:
- 3 10 * * * 表示:每天上午10点3分运行上面写好的脚本
- /home/codes/shell/autoSign.sh 表示:上面写好的脚本路径
- /home/lthero/codes/autoSign.log 2>&1 表示:将每次运行的输出,续写到autoSign.log这个日志文件
至此,自动打卡部署完成。
测试crontab是否成功方法:假如当前是11点10分,将crontab加一条11点12分运行的命令,到了11点12分后,查看日志文件,检测是否在11点12分有打卡输出信息,如果没问题,再删除这条定时任务即可
1 | 12 11 * * * /home/codes/shell/autoSign.sh >> /home/lthero/codes/autoSign.log 2>&1 |