今日校园自动打卡

一键部署脚本已经上线: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
2
3
4
5
6
7
8
9
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
cd /home/codes/fuck-todaystudy/
python3 /home/codes/fuck-todaystudy/index.py
echo "----------------------------------------------------------------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "★[$endDate] Successful"
echo "----------------------------------------------------------------------------"

步骤2、运行测试shell脚本

先给脚本添加权限

1
root@ubuntu:~# chmod +x /home/codes/shell/autoSign.sh

再运行

1
root@ubuntu:~# bash /home/codes/shell/autoSign.sh

如果运行成功,同样会输出打卡信息,并在最后,输出当前时间和Successful

步骤3、定时运行shell脚本

使用crontab命令,输入

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