本项目是专为 上海理工大学智慧教室直录播平台 设计的轻量级代理工具。
- 隐私保护:无需分享账号密码,即可让同学通过代理地址观看你的课程。
- 鉴权转发:代理服务器代为完成平台登录并转发流媒体请求。
- 灵活部署:支持本地运行,可配合隧道技术实现安全公网访问。
本项目通过 API 转发与前端重构,在用户和平台间建立桥梁:
- 身份托管:代理服务器持有鉴权凭据,代为完成身份认证并自动维护 Session。
- 接口代理:针对平台 API 进行动态转发,并处理复杂的 OAuth 签名逻辑。
- 增强体验:配备轻量级前端界面,过滤繁琐的前端资源,加速课程加载。
sequenceDiagram
participant User as 外部访问者
participant Proxy as USST-CourseBridge
participant USST as USST 智慧教室直录播平台
User->>Proxy: 访问 Portal 界面
Proxy->>Proxy: 读取本地 index.html
Proxy-->>User: 返回交互界面
User->>Proxy: 请求课程/视频列表
Proxy->>USST: 使用凭证及 OAuth 签名请求 API
USST-->>Proxy: 返回原始数据
Proxy-->>User: 返回精简后的 JSON 数据
-
下载程序:前往 Releases 页面,下载对应操作系统的可执行文件。
-
启动程序:
- Windows:双击运行
usst-course-bridge-windows.exe。 - macOS / Linux:在终端执行
./usst-course-bridge-[os]。
- Windows:双击运行
-
身份绑定:程序启动后,根据控制台提示输入学号和密码(也可在
.env文件中进行配置)。
-
安装 Deno:
# Windows (PowerShell) irm https://deno.land/install.ps1 | iex # macOS / Linux curl -fsSL https://deno.land/x/install/install.sh | sh
-
运行项目:
git clone https://github.com/BobLiu20/USST-CourseBridge.git cd USST-CourseBridge deno task run
本项目实现了全自动的身份代理,启动后即可直接使用:
- 启动代理:运行程序,并确认控制台提示代理启动。
- 即刻访问:在浏览器中访问代理地址:
- 本机:http://localhost:1906
- 局域网:http://[计算机名].local:1906
- 观看课程:进入后系统已自动登录,可直接进行学期切换、课程检索、点播回放,所有交互均通过代理服务器完成。
可通过 .env 文件进行持久化配置。
cp .env.example .env| 配置项 | 说明 |
|---|---|
USST_USERNAME |
统一身份认证账号(学号)。未配置时将在启动后提示输入。 |
USST_PASSWORD |
统一身份认证密码。未配置时将在启动后提示输入。 |
HOSTNAME |
代理监听地址。默认为 0.0.0.0。 |
PORT |
代理监听端口。默认为 1906。 |
Tip
为避免 .env 文件泄露导致账号风险,建议优先选择在启动后通过命令行交互输入密码。
如需在校外或跨网络访问,可通过隧道技术暴露服务。
推荐使用 Cloudflare 生态:
- 建立隧道:使用 Cloudflare Tunnel 穿透内网,无需公网 IP 即可访问。
- 访问控制:配合 Cloudflare Access 增加一层验证(如邮箱验证码,并配置邮箱白名单),只允许特定用户使用代理。
在通过源码运行时,使用 pm2 可以将程序作为服务,长期挂载在后台运行。
项目中已预设相关指令:
| 操作 | 指令 |
|---|---|
| 后台运行 | deno task start |
| 查看实时日志 | deno task logs |
| 监控资源占用 | deno task monit |
| 停止服务 | deno task stop |
如果你在安装或使用过程中遇到问题,欢迎提交 Issue。
本项目基于 MIT License 协议开源。仅供学习交流使用,请勿用于非法用途。