OpenList 挂载百度网盘视频要改 UA?让 AI 帮我手搓了个 Chrome 扩展自动切换
最近一直用 OpenList 集中挂载多个网盘(百度 / 115 / 夸克),平时在线看视频很方便。
但有个痛点:百度网盘的视频要把浏览器 UA 改成类似 pan.baidu.com 才能正常播。
如果用普通 UA 插件全局改,虽然一键搞定,但会影响其他网盘,所以还得来回切,不够优雅。
所以我就借助 AI 帮忙,手搓了一个 Chrome 扩展
只在打开 OpenList 的 “百度网盘目录” 和匹配到百度网盘的 CDN 域名时,自动把相关请求的 UA 改成指定值,其他网盘完全不受影响。
过程中踩的坑(重点)
一开始我以为只要匹配 127.0.0.1:5244/百度网盘... 就行,结果视频放不了
后来抓 Network 才发现:OpenList 设置了 302 重定向,视频真正请求的是百度的 CDN 域名(比如 *.baidupcs.com),所以必须同时对这些域名的请求也改 UA,否则还是 403 报错。
简单说就是:
- 匹配 OpenList 本地地址:只是 “你点开了百度网盘目录”。
- 真正决定能不能播:是后面跳转到百度 CDN 的那次请求,所以也要匹配 CDN 域名。
最后效果
- OpenList 里浏览到 “百度网盘” 目录 → 自动启用百度相关规则。
- 对百度网盘 CDN 域名请求 → 自动改 UA(必要时也带上 Referer)。
- 配置页里能看到并修改 “百度网盘预设 CDN 域名”,以后百度换 CDN 也方便更新(还带 “一键恢复预设”)。
顺便记录一个工程小坑
前面一开始实现是比较粗糙的,后续慢慢迭代采取的是 “覆盖升级文件”,结果扩展突然不能用了
后来询问 AI 才知道原因是旧版本的配置还在浏览器 storage 里,新版本字段变了但没做迁移,导致规则生成不完整;后来通过 “重置配置 / 增加迁移逻辑” 解决。