A CLI client for PKU's Blackboard Learn teaching platform.
crates/course/app_id="blackboard") → Blackboard SSO endpoint callbackscraper crate (no JSON API available)src/main.rs — Clap CLI with subcommandssrc/commands.rs — Command implementationssrc/api.rs — HTML scraping logic, page parserssrc/display.rs — Terminal output formattingsrc/client.rs — reqwest client builders| Command | Alias | Function |
|---|---|---|
| --------- | ------- | ---------- |
login / logout / status | IAAA → Blackboard auth | |
courses | List enrolled courses (supports --all for all semesters) | |
info | Course details | |
content | Browse course content tree | |
assignments | List assignments with deadlines | |
assignment | View single assignment | |
browse | Interactive course content browser | |
assignment-download | adl | Download assignment attachments |
download | Download course files | |
video-download | vdl | Download course recordings |
videos | vls | List available videos |
submit | Upload homework files | |
otp | TOTP 2FA management |
# Check session status
info-auth check
# Auto-login (reads credentials from OS keyring, no password needed)
course login -p
anyhow::Result with .context("中文描述")~/.config/info/course/info_common::credential (keyring → env → interactive)共 1 个版本