Miru Web 端扩展跨域问题排查
现象
Mirv Web 版(社区实例 miru.0u0.ren 或你自部署的)里安装了扩展后:
- 搜索返回空列表;
- 详情页加载不出分集;
- 视频 / 漫画 / 小说内容加载失败。
以上任一情况都很可能是跨域(CORS)问题。
快速确认
打开浏览器开发者工具(F12)→ Console 控制台。如果看到类似下面的错误:
Access to fetch at 'https://example.com/api/search' from origin 'https://miru.0u0.ren' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
那就坐实了是 CORS。
为什么会这样
回顾 网页版功能受限 那页的 CORS 原理:
- 浏览器只允许"同源"的页面互相请求资源;
- Mirv 扩展通过
this.request代理请求第三方媒体源; - 这些媒体源几乎不会为 Mirv 开跨域权限;
- 桌面客户端没有这个限制,因为它不是浏览器环境。
三种解决思路
思路一:换用桌面客户端(最推荐)
这是根本解决方案。Windows 客户端不受 CORS 限制,所有扩展都能正常工作。装客户端花 2 分钟,之后再也不会遇到跨域问题。
思路二:找支持 CORS 的媒体源(碰运气)
少数视频 / 漫画 / 小说站点会开放 CORS(可能是出于 CDN 配置失误,也可能是故意的)。如果你能找到并安装对应源的扩展,它在 Web 版里就能正常工作。
但这是碰运气——绝大多数站点不开 CORS,你找 10 个可能只有 1 个能过。
思路三:用浏览器扩展绕过 CORS(高级)
某些浏览器扩展(如 Allow CORS: Access-Control-Allow-Origin)可以强制给所有请求加上 CORS 响应头。但这有风险:
- 绕过浏览器安全机制本身就是安全隐患;
- 可能影响你在同一浏览器上访问其他网站;
- 部分 Mirv Web 版社区实例已经被 CORS 扩展影响导致部分功能异常。
不推荐普通用户这么做。
什么时候直接放弃
如果你在 Web 版里尝试了多个扩展、都遇到 CORS 问题——直接装桌面客户端,不要再在网页版上耗时间。网页版的定位就是"快速试玩",长期稳定使用必须用客户端。