ucashelper

A useful tool used in UCAS


Keywords
assessment, course, download, helper, ppt, python, resources, ucas, ucas-helper, wifi
License
gnuplot
Install
pip install ucashelper==1.7.1

Documentation

UCAS Helper

原本只是一时兴起,为了方便写的UCAS课程网站小助手,帮助我自己进行课程资源快速同步。 没想到后面随着功能的增加,项目也变得小有规模起来,因此将其开放给全体UCAS同学,小助手的使用方式在下面有介绍, 十分简便(需要一点对python环境的了解,百度python的安装即可),如果你觉得本项目对你有所帮助的话, 希望你能帮我点个star,算是对作者的一点激励吧~

1. 功能介绍

1.1 课程资源下载

国科大的课程网站在高校中已经算是很便利的了,老师可以发布ppt或其他课程资源到网站上, 学生可以登录课程网站下载需要的资源,但唯一让我感觉不爽的就是每个资源(如ppt), 只能一个个单独下载,没有批量下载的选项。另一方面,每次网站发布了新的资源, 我都要登录课程网站一个个点,真的心累。要是有个脚本可以直接将我本地的课程资源, 与课程网站一键同步就好了。所以就写了一个可用自动同步所有课程资源到本地的项目。

现在可以按照学期同步自己需要的资源,而不用将之前学期的一并同步

1.2 wifi登录

提供了自动登录的功能,且允许添加多个账号,当一个账号流量使用完后,可用下一个账号自动登录, 每月自动更新。出于隐私保护,项目不直接提供爆破的账号密码信息(以防被外来人员利用),在校学生可通过执行python manage.py hack命令, 破解新的账号。

爆破需在校园网环境下,请确保你已正确连接校园网(建议有线)且未登录校园网。 爆破时间较长(慢的时候2-3个小时),因此建议晚上睡觉的时候开启, 早上的时候一般已经爆破完成1-2个账号。

  • 校园网对单个设备登录有限制,因此多进程的速度与单进程差别不大
  • 一个账号流量有25GB,因此一般破解1-2个账号加上自己的就够个人使用了
  • 对于破解的账号,请不要修改密码,方便自己也方便他人:)
  • 当然你也可以直接找要好的师兄师姐,借用他们的账号添加到accounts.json中, 省时省力QAQ
  • 破解的账号都是往年的已经离开雁栖湖回所的师兄师姐的! 请不要利用本项目对还在雁栖湖上课的同学的账号进行破解!!!

1.3 课程评估

新增了课程评估的功能,在主界面中选择4即可进行课程评估,评估的等级默认选择5, 因为会用脚本评估的大多是怕麻烦的人,如果有个别老师或课程让你觉得十分不靠谱, 根本无益,建议还是手动去修改下对应的评估,虽然不知道是否真的对教改有用, 起码得让那课程老师心里有点数呀~

评估之前请进入settings.py修改一下主观评估的内容,别都和我评估一样了喂~

1.4 关于分数查询

这个功能我将其删去了,因为在评估过后直接登录校园网即可查看分数,所以感觉略显鸡肋, 后续看是否有需要再添加吧。

2. 版本号

1.5.1

2.1 更新内容

  • [1.5.1]

    修复下载全部课程资源时没有打开文件目录的选项问题,当无更新的时候自动退出应用

  • [1.5.0]

    • 课程资源同步后有新的资源时会提示是否开启资源所在目录,简便查看文件操作,如下

    • 允许添加不希望被同步的课程内容:在同步所有的时候有一门课的资源并没什么卵用,但为了一门而去一个个同步其他的又略显麻烦, 因此添加了一个FILTER_LIST,存放不想被同步的课程目录。打开settings.py,找到FILTER_LIST, 将不像被同步的课程全名(如没啥用课19-20春季),添加到列表当中,如下:

    • 新版本在同步更新完成后会自动退出,不需要再手动退出程序

  • [1.4.3]

    修复了当同时存在多个文件夹和文件时不会下载与文件夹同目录的文件的问题,如下图所示:

  • [1.4.2]

    解决了当课程网站存在文件夹时无法获取到课程资源同步的问题,一开始并未考虑到老师创建文件夹

  • [1.4.1]

    在课程资源选项中可以选择仅同步某个学期(春季,夏季,秋季)课程

3. 作者

4. 实现功能

  • 小白使用窗口

  • 自动登录校园网

  • 校园网账号破解

  • 自动查分

  • 显示本学期课程列表

  • 同步所有课程资源到本地

  • 同步指定课程的资源到本地

  • 同步指定课程的指定一个资源到本地

  • 自动评估课程和教师

5. 部署与使用

5.2 使用前提

项目采用python语言编写,需要你本地装有python3环境(建议python3.5+),如果采用git方式克隆,需先安装好git

5.3 配置修改

  • 获取课程资源
    • 进入settings.py,修改你自己的用户名和密码
    • 修改SOURCE_DIR,这个目录是所有课程资源存放的目录,根据你的个人需求修改

      例如D:/UCAS-sources

    在校园网内无需登录wifi,直接可登录课程网站

  • 登录wifi
    • wifi登录需修改根目录下的wifi账号,添加到useful_accounts中,格式如下:
        {
            "useful_accounts": [
              {
                 "stuid":"xxx",
                 "pwd":"xxx"
              },
              {
                  "stuid":"xxx",
                  "pwd":"xxx"
              }
             
            ],
            "useless_accounts": [],
            "current_month": 12
          }
      
      每个账号一个,允许存储多个账号,当遇到一个账号流量不够的时候自动切换到下一个账号登录

5.4 使用步骤

  • 克隆本项目到本地

    git clone https://github.com/GentleCP/UCASHelper.git
    

    如果没有安装git,也可以直接下载源代码或者在release中下载我发布的最新版本

  • 安装依赖包

    pip install -r requirements.txt
    
  • 运行ucashelper.py

    python ucashelper.py
    

    到此就可以看到小白的操作窗口了

  • 爆破账号

    python ucashelper.py hack
    

6. 提问

对项目如有任何问题或修改意见,欢迎提交issue或者邮件私信给我~