Relay & Proxy
中转服务与代理配置
FlashDown 的中转能力分为“下载中继”和“标准代理”两层:下载中继负责把文件流从服务器转发到本机;标准代理负责让主程序、插件、WebView2、yt-dlp 和 ffmpeg 使用服务器网络访问站点。
功能边界
下载中继使用 `/relay/download?url=目标地址`。服务器只做内存流式转发,不把文件下载保存到服务器磁盘,适合加速大文件、规避本机到源站链路差的问题。
标准代理使用 HTTP/HTTPS 前向代理端口,默认 `9877`。它支持浏览器内核的 `CONNECT` 请求,适合插件页面解析、yt-dlp/ffmpeg 走服务器网络,并在站点确实需要验证时给 WebView2 Cookie 兜底窗口使用。
| 能力 | 下载中继 9876 | 标准代理 9877 |
|---|---|---|
| 普通文件下载中转 | 支持 | 可辅助 |
| 主程序 HTTP 下载 | 支持 | 支持 |
| AVideo 页面解析 | 可兜底抓页面 | 推荐 |
| WebView2 Cookie 兜底 | 不支持 | 支持 |
| MissAV/Jable 无弹窗解析 | 可兜底 | 推荐 |
VPS Docker 部署
推荐使用 VPS 中继服务,因为它同时提供下载中继和标准代理。上传 `FlashDown.RelayServer-Docker-*.zip` 到服务器,解压后执行:
cd /www/flashdown-relay cp .env.example .env nano .env docker compose up -d
必须修改的配置:
AUTH_TOKEN=换成一串很长的随机令牌 ADMIN_PASSWORD=换成面板登录密码 PROXY_ENABLED=true LISTEN_PORT=9876 PROXY_PORT=9877
如果要让插件和 Cookie 兜底窗口都走服务器网络,请确保服务器防火墙、安全组、宝塔安全页都放行 `9877`。
宝塔部署要点
- 在宝塔软件商店安装 Docker 管理器。
- 把服务端 zip 解压到 `/www/flashdown-relay`。
- 复制 `.env.example` 为 `.env` 并修改 token 和密码。
- 在 SSH 中运行 `docker compose up -d`。
- 宝塔“安全”里放行 `9876` 和 `9877`。
如果你只把 `9876` 做成 HTTPS 反向代理,下载中继和管理面板可以工作,但标准代理能力不会生效。`9877` 是 TCP 前向代理端口,不能用普通 Nginx `location` 反向代理替代。
客户端导入
部署完成后访问管理面板:
http://服务器IP:9876
登录后点击“复制客户端配置”,再到 FlashDown 主程序左下角“代理配置”里点击“粘贴导入”。导入后的配置应包含:
endpoint: http://服务器IP:9876 token: AUTH_TOKEN proxyEndpoint: http://服务器IP:9877 proxyEnabled: true
如果 `proxyEndpoint` 为空,说明该节点只能做下载中继,不能让插件解析和 Cookie 兜底窗口使用服务器网络。
WebView2 Cookie 兜底
从 1.5.11 开始,AVideo 插件会优先通过主程序和标准代理直接解析 MissAV/Jable 页面;只有遇到 Cloudflare 验证、403、Cookie 缺失或页面结构无法解析时,才会弹出 WebView2 Cookie 兜底窗口。
FlashDown 会为 WebView2 创建本机临时代理桥:WebView2 连接 `127.0.0.1`,主程序再把认证信息转发到 VPS 的 `9877` 标准代理端口。这是为了绕过 WebView2 对远程认证代理不稳定的问题。
要让 Cookie 兜底窗口使用服务器网络,需要同时满足:
- 主程序“代理配置”已启用。
- 当前节点有可访问的标准代理地址。
- 服务器 `PROXY_ENABLED=true`。
- 服务器和云厂商安全组已放行 `9877`。
- 目标站点能从 VPS 所在网络访问。
Cloudflare 中转
Cloudflare Worker 模板只提供 HTTP fetch 型中继,适合做下载中继节点,不提供 `CONNECT` 标准代理。因此它不能让 WebView2 直接打开 MissAV/Jable,也不能替代 VPS 标准代理端口。
部署步骤:
npm install -g wrangler wrangler login cp wrangler.toml.example wrangler.toml nano wrangler.toml wrangler deploy
部署后,在 FlashDown“代理配置”中添加 Worker 地址,标准代理地址留空。也可以访问 `/relay/client-config` 获取可粘贴导入的 JSON。
CloudflareSpeedTest 等优选 IP 工具适合做外部测速参考,不建议 FlashDown 内置强制改写 Worker IP,因为 TLS、SNI、Host 和 Cloudflare 路由都依赖域名。
排查清单
管理面板能打开,但插件解析不走服务器网络:检查 `9877` 是否放行,客户端配置是否包含 `proxyEndpoint`。
AVideo 弹出 Cookie 窗口:这表示直接解析失败,程序正在尝试兜底验证。MissAV 多数情况下已可无弹窗解析;Jable 是否需要弹窗取决于站点当时的 Cloudflare 状态。
测速成功但 Cookie 窗口打不开:请确认测速结果里“标准代理”也可用,只有 `9876` 下载中继可用并不代表 `9877` 标准代理可用。
只配置 Cloudflare Worker 后无法获取 Cookie:这是预期行为,Worker 不是标准代理。请使用 VPS 中继服务。
下载中途断开:提高 `UPSTREAM_TIMEOUT_SECONDS`,确认宝塔/Nginx 反代关闭缓冲,并优先使用直连端口测试。