项目文件夹

文件
2026-04-23 09:04:18 +08:00

71 行
3.7 KiB
Markdown

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
---
layout: doc
outline: deep
---
# 浏览器扩展
MediaGo 自带一个轻量浏览器扩展(Manifest V3),在你浏览任意网站时自动嗅探可下载的视频/音频资源,一键发送到 MediaGo 下载。
## 它能做什么
- 跨站点嗅探 HLS / m3u8 流、直连 `.mp4` / `.flv` / `.mov` 等媒体文件
- 识别 Bilibili 视频页和 YouTube 视频/短片/直播/嵌入页
- 在浏览器工具栏图标上显示当前页面已检测到的资源数量
- 一键把单条或全部资源导入 MediaGo(Desktop 或自建服务)
## 安装
MediaGo 尚未上架 Chrome Web Store,需以"加载已解压的扩展程序"方式安装。Desktop 版已把扩展打包进安装目录,不必额外下载。
1. 打开 MediaGo Desktop 应用
2. 进入 **设置 → 更多设置 → 浏览器扩展目录**,点击按钮打开扩展文件夹
3. 在 Chrome / Edge 地址栏访问 `chrome://extensions/`
4. 右上角开启 **开发者模式**
5. 点击 **加载已解压的扩展程序**,选择第 2 步打开的那个文件夹
6. 扩展图标出现在工具栏即安装成功;建议点图钉把它固定住
## 调用模式
首次安装后点击扩展图标右上角齿轮进入设置页,选择一种调用方式:
| 模式 | 使用场景 | 要求 |
| ----------------------------------- | -------------------------------------------- | ------------------------------------------------------------------- |
| **Desktop · Schema 协议** | 本机装了 MediaGo Desktop,允许浏览器唤起协议 | 无配置;首次会弹出"Open MediaGo?"对话框,勾选"总是允许"即可静默直通 |
| **Desktop · HTTP 本地接口**(默认) | 本机装了 MediaGo Desktop 且在运行 | 无配置;扩展固定连接 `127.0.0.1:39719` |
| **Docker / 自建服务 · HTTP** | 连接远端自建 MediaGo 服务端(Docker 部署等) | 填写服务器 URL;若后端启用了 `--enable-auth` 则填 API Key |
> **扩展不会自动降级。** 选定模式后,调用失败会直接报错。要换模式请回到设置页手动切换。
## 导入行为
设置页 **导入行为** 卡片里的两个开关:
- **立即开始下载**:开 = 任务进队列并立刻开跑;关 = 仅加入下载列表,等用户手动触发。对 Schema 和 HTTP 两种模式都生效。
- **静默导入(Schema 模式)**:开 = Schema 调用携带 `silent=1`,MediaGo 收到即创建任务;关 = MediaGo 会弹出下载表单让你核对名字/类型/保存路径再提交。仅 Schema 模式生效,HTTP 模式一律静默。
## 界面语言
扩展支持中文、英文和意大利语,默认跟随浏览器 UI 语言。也可以在设置页 **界面语言** 卡片强制切换到"跟随系统 / 中文 / English / Italiano"之一。
## 常见问题
### 点"浏览器扩展目录"打不开
- **开发场景**:先跑 `pnpm -F @mediago/extension build` 构建扩展产物
- **生产场景**:重新安装 MediaGo,确保 `resources/extension/` 在安装目录里
### Desktop · HTTP 模式测试连接失败
- 确认 MediaGo Desktop 在运行
- 确认端口 `39719` 没被其他进程占用(`netstat -ano | findstr 39719`
- 如果你本地同时跑了 Web/server 模式的 Go Core,注意那个用的是 `9900`,不是 39719
### Schema 模式每次都弹窗
首次弹出"Open MediaGo-community?"时勾选 **总是允许** 即可。之后 Chrome 会静默把请求转给 Desktop。
### 批量导入 Schema 模式失败
Schema 一次只能发一条任务,这是浏览器协议调用的限制。要批量导入请切到 HTTP 模式(Desktop 或 Docker 均可)。