📈 GH Trending Explorer 🎲 Surprise me

← all repos

Samueli924 / chaoxing

git clone https://github.com/Samueli924/chaoxing.git v3.1.4 · 1y ago

超星学习通/超星尔雅/泛雅超星全自动无人值守完成任务点

+9
stars, 24h · #1,590
+~63
stars, 7 days · #2,012
+~270
stars, 30 days · #1,925
3.7k
★ total · +2% this week
473
forks · 36 open issues

Star history (as recorded here)

2026-10-20 · 3,631 ★ 2026-10-22 · 3,656 ★
LanguagePython
LicenseGPL-3.0
Created2020-11-20 (5y ago)
Last push25d ago
Watchers7
OwnerUser

Links

README excerpt
# :computer: 超星学习通自动化完成任务点(命令行版)
:muscle: 本项目的最终目的是通过开源消灭所谓的付费刷课平台,希望有能力的朋友都可以为这个项目提交代码,支持本项目的良性发展
:star: 觉得有帮助的朋友可以给个Star
## :point_up: 更新通知
20241021更新通知: 感谢sz134055提交代码PR #360,**添加了对题库答题的支持** 
## :books: 使用方法
### 源码运行(Python 3.13+)
1. clone 项目至本地
 [code] 
2. 安装依赖
 [code] 
或使用 `pip install .`(通过 pyproject.toml 安装依赖)
3. (可选直接运行)
 [code] 
4. (可选配置文件运行)
> 复制config_template.ini文件为config.ini文件,修改文件内的账号密码内容
 [code] 
5. (可选命令行运行)
 [code] 
> Tips: 
> 如果已安装低版本 Python 推荐使用 `uv` 运行:
 [code] 
使用配置文件运行 :
 [code] 
### 打包文件运行
1. 从最新Releases中下载exe文件
2. (可选直接运行) 双击运行即可
3. (可选配置文件运行) 下载config_template.ini文件保存为config.ini文件,修改文件内的账号密码内容, 执行 `./chaoxing.exe -c config.ini`
4. (可选命令行运行)`./chaoxing.exe -u "手机号" -p "密码" -l 课程ID1,课程ID2,课程ID3...(可选) -a retry|ask|continue`
### Docker运行
1. 构建Docker镜像
 [code] 
2. 运行Docker容器
 [code] 
3. 配置说明
 - Docker版本默认使用挂载到 `/config/config.ini` 的配置文件
 - 首次运行时,会自动将 `config_template.ini` 复制到该位置作为模板
 - 可以将本地编辑好的配置文件挂载到容器中,按照上述示例命令操作
### 题库配置说明
在你的配置文件中找到`[tiku]`,按照注释填写想要使用的题库名(即`provider`,大小写要一致),并填写必要信息,如token,然后在启动时添加`-c [你的配置文件路径]`即可。
题库会默认使用根目录下的`config.ini`文件中的配置,所以你可以复制配置模板(参照前面的说明)命名为`config.ini`,并只配置题库项`[tiku]`,这样即使你不填写账号之类的信息,不使用`-c`参数指定配置文件,题库也会根据这个配置文件自动配置并启用。
对于那些有章节检测且任务点需要解锁的课程,必须配置题库。
**提交模式与答题**
不配置题库(既不提供配置文件,也没有放置默认配置文件`config.ini`或填写要使用的题库)视为不使用题库,对于章节检测等需要答题的任务会自动跳过。
题库覆盖率:搜到的题目占总题目的比例
提交模式`submit`值为
- `true`:会答完题,达到题库题目覆盖率提交,没达到只保存,**正确率不做保证**。
- `false`:会答题,但是不会提交,仅保存搜到答案的,随后你可以自行前往学习通查看、修改、提交。**任何填写不正确的`submit`值会被视为`false`**
> 题库名即`answer.py`模块中根据`Tiku`类实现的具体题库类,例如`TikuYanxi`(言溪题库),在填写时,请务必保持大小写一致。
### 已关闭任务点处理配置说明
在配置文件的 `[common]` 部分,可以通过 `notopen_action` 选项配置遇到已关闭任务点时的处理方式:
- `retry` (默认): 遇到关闭的任务点时尝试重新完成上一个任务点,如果连续重试 3 次仍然失败 (或未配置题库及自动提交) 则停止
- `ask`: 遇到关闭的任务点时询问用户是否继续。选择继续后会自动跳过连续的关闭任务点,直到遇到开放的任务点
- `continue`: 自动跳过所有关闭的任务点,继续检查和完成后续任务点
也可以通过命令行参数 `-a` 或 `--notopen-action` 指定处理方式,例如:
 [code] 
### 章节学习次数配置说明
在配置文件的 `[common]` 部分,可以通过下面两个选项控制章节学习次数功能:
- `add_learning_count = false`:是否在完成刷课任务后,继续对课程章节执行学习次数增加
- `target_count = 100`:章节学习次数的目标总次数,程序会轮询课程章节直到达到该次数
当前实现会先完成所选课程的任务点,再统一执行章节学习次数增加流程。如果开启了 `add_learning_count`,它会作为刷课完成后的追加步骤执行,而不是独立模式。
**外部通知配置说明**
这功能会在所有课程学习任务结束后,或是程序出现错误时,使用外部通知服务推送消息告知你(~~有用但不多~~)
与题库配置类似,不填写视为不使用,按照注释填写想要使用的外部通知服务(也是`provider`,大小写要一致),并填写必要的`url`
## :heart: CONTRIBUTORS
## :warning: 免责声明
- 本代码遵循 GPL-3.0 License 协议,允许**开源/免费使用和引用/修改/衍生代码的开源/免费使用**,不允许**修改和衍生的代码作为闭源的商业软件发布和销售**,禁止**使用本代码盈利**,以此代码为基础的程序**必须**同样遵守 GPL-3.0 License 协议
- 本代码仅用于**学习讨论**,禁止**用于盈利**
- 他人或组织使用本代码进行的任何**违法行为**与本人无关