一个课程包 = 一个加密文件 .xue。AES-256-GCM 分片加密,学员用网盘收到后双击打开,输入授权码联网校验通过才播。密钥始终在你服务器上,退款了在后台点一下就停。
把“发视频”换成“发授权”:文件本身不带密钥,转发给别人也打不开;谁能看、能在几台设备看、什么时候停,都由你决定。
一个文件夹、十几节课、配套 PDF 与图片,最终只生成一个 .xue 文件,学员不会拿到零散源文件。
AES-256-GCM 按 256 KiB 分片加密,每片独立 IV 与认证标签;容器尾部带 Ed25519 签名,被改动立即校验失败。
退款、违约、到期,一键停用对应学员的授权,并立即撤销其正在播放的会话;其他学员完全不受影响。
每张授权码可限定 1 / 2 / 3 / N 台设备。换机时由讲师解绑旧设备释放名额,避免一码传遍全网。
画面持续漂移显示 8 位会员ID,另有一层随机闪现的幽灵水印。外流视频可直接定位到具体账号。
发码、兑换、激活、播放、停用、查看完整码全部落库,可导出证据链,纠纷时有据可依。
v1.5 解决“在线看”,v1.6 补上“发文件”。两种模式共用同一个 .xue 容器、同一批授权码、同一张设备清单,你可以按学员情况混着用。
课程包留在你的服务器,学员用浏览器打开你的域名,登录后直接播放。密钥不下发,边播边解密,适合临时学员、直播答疑、不方便收文件的场景。
优点:不用发文件、换设备即换即用。代价:服务器要出带宽,学员必须能访问你的站点。
把 .xue 通过网盘、U 盘、微信群发给学员。学员装上软件后,这类文件默认由它打开;双击后弹窗要求输入授权码,联网校验通过才开始播放,视频全程在本机解密,不经过浏览器缓存。
优点:不占你带宽、适合大文件和弱网学员、文件发出去也打不开。代价:每次打开都要能连上你的授权服务器。
行业里“视频加密”从伪装链接到硬件级 DRM 差异巨大。xuexibox 当前处于 L2:标准算法 + 自研授权容器,能挡住绝大多数普通用户,但不是好莱坞级 DRM。下表如实标注。
需要说明的是:只要有播放行为,客户端就必然能拿到解密后的画面。任何“绝对防破解”的宣传都不成立。xuexibox 的目标是:提高盗取成本、让泄露可追溯、让授权可撤销。 需要更强防护时可升级到原生播放器内嵌解码 + 白盒加密 + 商业 DRM,路线见随软件附带的《视频加密方式分级与加固路线.md》。
以本机文件模式为例。讲师侧全部在同一个桌面软件里完成,学员侧只需要“装软件 + 双击 + 输码”三步。
选择视频、PDF 或整个文件夹,软件读取真实编码,不兼容格式用内置 ffmpeg 转成 H.264/AAC,再加密成一个 .xue。
把 .xue 传网盘、发微信、拷 U 盘都行。文件里没有密钥,中途被谁截下都打不开,不必担心传输渠道。
学员安装 xuexibox 后,软件自动把 .xue 登记为自己的默认打开方式,无需管理员权限、无需手动设置关联。
在后台按批次生成 32 位授权码,可设设备上限与有效期。一个学员一张码,多张码可以打开同一个课程包。
双击 .xue,界面显示课程名与课时列表并提示输入授权码;联网校验通过后本机解密播放,画面叠加学员水印。
学员退款或违约,在「授权与设备」点撤销,该码与该设备立刻失效:点下一节课当即被拒,正在播的最迟 60 秒停下。
桌面端为自包含安装包:Node 运行时、ffmpeg 转码组件、SQLite 数据库全部内置,安装过程不需要联网,也不需要预装任何环境。
全部实现细节可在随软件附带的《技术设计.md》中查阅,接口、表结构、加密流程均有说明。
不能。课程包内不含明文内容密钥,播放必须先通过账号、授权、设备三重校验,服务端才会临时启用密钥。把 .xue 文件或播放地址发给别人,对方既解不开也拉不到流;本机文件模式下,文件里的密钥是用“拿到授权的那台电脑”的临时公钥封装的,换台机器就连解封这一步都过不去。
不能 100% 防止。软件会拒绝浏览器原生下载、禁止右键另存、绑定播放会话,并对疑似捕获行为记录审计;但手机翻拍、HDMI 采集卡属于物理通路,任何软件都无法阻断。真正的兜底是会员ID 水印 + 播放日志 + 用户协议,让泄露可追溯到具体账号。
本机文件模式:安装同一个 Windows 客户端即可,不需要注册账号——打开课程时走“我是学员”入口,只输授权码。软件首次启动会把 .xue 登记为自己的默认打开方式,之后双击就能进。在线模式则不用装任何东西,浏览器打开你的域名登录即可。
不限个数。文件本身是同一份,可以发给一百个人;每个人拿到的是不同的授权码,码与设备一一绑定,谁也用不了别人的码。讲师在后台看到的是“这个课程包下有哪些设备在用”,而不是“这个文件被复制了几份”。
不能,这是刻意的设计。每次打开、每次切换课时都要联网校验一次授权,正在播放时每 60 秒心跳一次。好处是撤销立刻生效——你点了撤销,学员那边点下一节课就会被拒,正在播的最迟一分钟停下;坏处是学员必须能连上你的授权服务器。
打开课程详情页的「授权与设备」,找到那台设备点“撤销”,或在「授权查询」里作废该码。系统会同时作废这个码对应的绑定、撤销其全部播放会话;在线模式 15 秒内、本机模式 60 秒内(切课时立刻)播放器自动停下。恢复也一样,点“恢复”即可,不用重新发码。
让讲师在设备清单里撤销旧设备释放名额,学员在新电脑用同一张码重新打开即可(码未作废就能再次激活)。设备标识由软件按主机名、CPU 与网卡 MAC 计算,不采集主板序列号等硬件不可变信息。
本机模式的播放流只监听 127.0.0.1,且拒绝带下载/附件意图的请求,浏览器另存为拿不到文件;容器内也始终是密文。但如前所述,只要画面被播放出来,录屏就防不住——这属于所有非硬件 DRM 方案的共同边界。
可以。v1.5 起支持 VAULT_PUBLIC=1 公网模式,配套提供 Nginx 配置、Dockerfile、docker-compose 与 systemd 服务文件。你需要一台云服务器和一个已备案的域名,按《公网部署指南.md》一步步操作即可,HTTPS 由 Nginx 或 Caddy 负责。v1.6 的本机文件模式只需要学员能访问 /api/client/* 这几个接口,带宽几乎为零。
因为安装包还没有购买代码签名证书(OV/EV Code Signing)。这不影响功能,但会触发 SmartScreen 警告。正式对外销售前建议完成代码签名,可显著降低用户流失。