Skip to content

Latest commit

 

History

History
166 lines (109 loc) · 6.67 KB

File metadata and controls

166 lines (109 loc) · 6.67 KB

WeBan 安全微课 安全微伴 大学安全教育

介绍

如果本项目帮到了你,可以在右上角点亮 Star,谢谢你!

实现了课程学习和根据题库自动考试,支持多用户多线程运行,自动验证码识别(需要源码运行,安装 ddddocr)。

运行前后会自动合并题库,如果一次没满分可以再考一次。可将 answer/answer.json 文件提交 PR 一起完善题库。

使用

源码运行

  1. 安装 Python 3(可选使用 uv)和 Git

  2. 克隆本仓库

git clone --depth 1 https://github.com/hangone/WeBan
  1. 安装依赖
pip install -r requirements.txt # 或 uv sync
  1. 运行
python main.py # 或 uv run main.py

构建产物

Releases 下载文件运行,根据提示输入信息。下载缓慢可以用 https://gh-proxy.com/ 加速下载。

  • Online 模式:体积小,首次运行需联网下载依赖
  • Bundle 模式:体积大,完全打包依赖运行
平台 下载地址 镜像下载地址
Windows x64 WeBan-windows-x64.exe WeBan-windows-x64.exe
Linux x64 WeBan-linux-x64 WeBan-linux-x64
Linux arm64 WeBan-linux-arm64 WeBan-linux-arm64
macOS arm64 WeBan-macos-arm64 WeBan-macos-arm64
macOS x64 WeBan-macos-x64 WeBan-macos-x64

Docker

提供两种镜像变体:

镜像 Tag 说明
内置浏览器 latest / with-browser / <版本号> 开箱即用
轻量镜像 without-browser / <版本号>-without-browser 通过 CDP 连接宿主机浏览器

完整镜像(内置浏览器)

docker run -it --rm \
  -v "$PWD/config.toml":/app/config.toml:ro \
  -v "$PWD/logs":/app/logs \
  hangyi/weban:latest

轻量镜像(CDP 连接宿主机浏览器)

容器会自动检测 Docker 环境并尝试连接宿主机的 Chrome,无需手动配置 CDP。

第一步:在宿主机启动 Chrome 远程调试

打开 Chrome,地址栏输入 chrome://inspect/#remote-debugging,勾选 Allow remote debugging for this browser instance

或者直接命令行启动带远程调试的 Chrome:

# macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9222

# Linux
google-chrome --remote-debugging-port=9222

# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222

参考:Chrome DevTools: Debug your browser session

第二步:运行容器

docker run -it --rm \
  -v "$PWD/config.toml":/app/config.toml:ro \
  -v "$PWD/logs":/app/logs \
  hangyi/weban:without-browser

如需自定义 CDP 地址,可在 config.toml 中配置 cdp_hostcdp_port

配置说明

首次使用先从 config.example.toml 复制一份 config.toml 并填写账号信息。账号级配置可覆盖全局设置。

浏览器检测

程序按以下优先级自动检测可用的浏览器,无需手动配置:

  1. 用户指定:环境变量 CHROMIUM_BINARY / 配置文件 browser_path
  2. CDP 远程调试:配置文件 cdp_host + cdp_port,或 Docker 环境下自动尝试 host.docker.internal:9222
  3. Playwright 浏览器pip install playwright && playwright install chromium
  4. 系统浏览器:自动查找已安装的 Chrome / Chromium

功能特性

  • 课程学习:自动遍历项目 → 分类 → 课程,模拟翻页、答题、等待学习时长后完课
  • 自动考试:基于题库自动答题,支持单选/多选,未匹配题目可随机作答或手动输入
  • 验证码识别:自动识别滑块验证码(需源码运行 + ddddocr),腾讯点选验证码需手动操作
  • 多账号并发:支持配置多个账号,可多线程同时执行
  • 题库同步:考试前后自动从服务器同步题库,支持多用户共享
  • 断点续考:追求满分模式下,一次未满分可再次考试
  • 进度监控:完课后自动检查进度是否更新,未更新则警告提示
  • 调试模式:开启 debug 可查看完整请求/响应日志

演示

study exam old

常见问题

  • 部分无法直接登录的学校/Token 登录方法

有些从迎新系统跳转的可以试试账号密码都是学号,也可以尝试使用 Token 登录,在电脑浏览器登录后按 F12 或者 Ctrl+Shift+I 打开开发者工具,找到本地存储,复制 user 的内容到 config.json 配置文件

chrome firefox

  • 学习

  1. 学习时长太低不会计入进度
  2. 有腾讯云验证码的还不支持自动完成,会弹出浏览器窗口手动操作
  3. 学习进度不更新可能是被风控,遇到了需要验证码的课程,请去网页上完成一次后重试
  • 考试

  1. 据观察,考试未提交是不会消耗考试次数的

鸣谢

其他

  1. 本项目仅供学习交流使用,请勿用于商业用途,否则后果自负。

  2. 欢迎 Star 喵,欢迎 PR 喵。

  3. 截图时注意打码个人信息。

  4. 如果看不懂上面说的也可以直接扫码备注学校和账号密码(建议留言微信号),乐意效劳。

    微信 支付宝
    wechat alipay