Headless 服务器
Web 界面
用服务器自带的浏览器界面登录并管理下载。
服务器跑起来后(见服务器部署),在浏览器里打开它的地址即可,例如 http://<host>:17800/。它的任务管理体验与桌面客户端一致,只是为远程、多会话场景做了适配。
登录
登录页需要服务器地址(默认预填当前页面的地址,除非要连接别的主机否则不用改)和访问令牌。首次运行——服务器尚未设置密钥时——登录页会变成初始化向导:设置并确认访问密钥(也可随机生成)。已设置密钥后则是常规登录。令牌来自你初始化时设置的密钥,或设置 → 安全与访问页面(见服务器部署)。
勾选**“记住此设备”**会把 token 存进 localStorage(浏览器重启后依然有效);不勾选则存进 sessionStorage(关闭标签页即清除)。token 只会发给服务器本身,不会流向别处。
在线演示
公开演示站部署在 https://demo.zerx.dev/,使用以下共享访问令牌登录:
fxd_bfc6b03e8e494ec8907415a2e8a0b21b
需要把令牌手动粘贴到登录页的访问令牌输入框——Web 界面不会识别页面 URL 里携带的 token,在地址后面加 ?token=... 不起作用。服务器地址保持预填值即可。
演示站运行在演示模式下(FLUXDOWN_DEMO,见服务器部署):只能下载内置生成的测试文件;由于令牌是公开的,站内的一切内容任何人都能看到和改动。
主界面三栏布局
主界面是三栏布局,与桌面客户端结构一致:
- 侧边栏(左)——品牌与全局速度、文件类型筛选(全部/视频/音频/文档/图片/压缩包/其他,带实时计数)、队列、连接状态徽标、退出登录。队列列表包含内置的主队列与稍后下载队列,以及你创建的命名队列(点
+新建;悬停删除图标可删除命名队列——其中的任务会移回主队列)。每个队列前有运行/停止状态圆点,悬停可见两个操作按钮:启动/停止队列(停止会暂停其中全部任务并阻止它们被自动启动;启动则按队列内顺序恢复),以及编辑每日定时(启动/停止时刻HH:MM,可只填其一,外加生效星期)。 - 任务列表(中)——顶部工具栏、批量管理条、状态 Tab、虚拟化任务列表、底部状态栏。
- 详情面板(右)——选中任务后展开,五个 Tab:常规、分段、队列、日志、高级。
顶部工具栏
- 搜索——按文件名筛选任务列表。页面任意位置按
Ctrl+F(或Cmd+F)即可跳转到搜索框;Esc清空。 - 批量管理开关——打开后每行出现复选框,同时显示批量管理条。
- 全部暂停 / 恢复——同一个按钮,图标与行为根据当前是否有活跃任务自动切换。
- 全局限速——一眼看到当前限速值;点击跳转到设置页调整。
- 新建下载——打开新建下载对话框(见下文)。
- 设置——打开设置页面。
状态 Tab 与筛选
状态 Tab(全部 / 下载中 / 已完成 / 已暂停 / 错误)位于列表上方,各自带实时计数。可以与侧边栏的文件类型、队列筛选以及搜索框叠加使用——四种筛选条件同时生效。
批量管理
打开批量管理后,每行出现复选框,顶部出现一条批量管理条:全选、实时的”已选 N 项”计数,以及作用于全部选中项的暂停 / 恢复 / 删除按钮。这里的删除不会删除磁盘上的文件(要连文件一起删,用详情面板里针对单个任务的”删除并删文件”)。点完成退出批量模式。
任务详情面板
选中任务后展开详情面板:
- 常规——进度、已下载/总大小、速度、线程(分段)数、下载链接(带复制按钮)、服务器上的保存路径、协议与队列、创建时间。已完成的任务主操作是**“保存到本地”(通过
/api/v1/tasks/{id}/file把文件从服务器流式传到你的浏览器);其它状态下主操作是”Boost 优先下载”**(暂停其它任务为它腾带宽)。删除操作始终可用,会弹确认框。 - 分段——与桌面客户端相同的分段进度可视化,包括引擎主动拆分慢速分段时的实时拆分动画。
- 队列——把任务移动到其它命名队列。
- 日志——该任务的近期事件。
- 高级——Checksum 与单任务代理详情。
在任务列表中右键某一行会打开右键菜单,提供相同的操作(暂停/继续/重试、Boost、保存到本地、复制下载链接、复制文件服务器路径、移动到队列…、删除、删除并删文件),不用先展开详情面板。
新建下载
新建下载对话框接受一条或多条 URL(每行一条,支持 HTTP、FTP、磁力链接和 M3U8 播放列表),每行创建一个任务。字段说明:
| 字段 | 说明 |
|---|---|
| 文件名 | 仅单条 URL 提交时可编辑,留空则从 URL / Content-Disposition 自动推断。 |
| 线程数 | 分段数量:自动(由 segment_advisor 按文件大小决定)或固定的 1/2/4/8/16/32。 |
| 保存目录 | 默认取服务器配置的默认保存目录;字段旁的文件夹选择按钮可浏览服务器的文件系统(不是你本地机器)。 |
| 队列 | 分配到某个命名队列或主队列。 |
| User-Agent | 全局默认或几个预设值之一。 |
| 高级选项(可折叠) | Cookies、Referrer、单任务代理 URL,以及 Checksum(algo=hexhash,下载完成后校验)。 |
表单由两个按钮提交:开始下载创建任务并立即开始;稍后下载以暂停态创建任务并停放进内置的稍后下载队列(需要时逐个启动,或直接整队启动)。在这里提交会直接通过管理 API 创建任务——不会弹确认框,因为你已经处于经过身份验证的可信会话中。
HLS 画质与 BT 文件选择
有些下载需要中途做选择,通过 WebSocket 连接实时下发:
- HLS 画质选择——M3U8 播放列表有多个码率变体时,弹出对话框列出各档位(分辨率与 Mbps),默认高亮带宽最高的一档。60 秒内未选择,服务器会自动选用带宽最高的变体。
- BT 文件选择——种子/磁力链接含多个文件时,弹出对话框列出全部文件(带大小与实时”已选 N 项 / 总大小”),可以取消勾选不需要的文件;默认全选。
这两个对话框只在你打开 Web 界面且处于连接状态时才会出现——如果引擎需要做选择时你没有连接,会退回默认行为(超时后选带宽最高的 HLS 变体;未选择时下载全部 BT 文件)。
文件取回
服务器把已完成的文件留在自己的文件系统上。要下载到本地机器,在详情面板或右键菜单里用保存到本地——它通过 GET /api/v1/tasks/{id}/file 把文件当作普通浏览器下载流式传出(带 Content-Disposition: attachment 与原始文件名),由于浏览器发起的下载无法自定义请求头,鉴权走查询参数里的 token。
设置
设置页(顶部工具栏的齿轮图标)分七个分类:
| 分类 | 内容 |
|---|---|
| 通用 | 服务器端行为:最大并发任务数、默认下载线程数、自动重试次数上限与重试间隔。 |
| 外观 | 主题模式(浅色/深色/跟随系统)与强调色——保存在你的浏览器本地,不影响服务器。 |
| 下载 | 默认保存目录等下载引擎默认值,保存在服务器的 config 表。 |
| BitTorrent | librqbit 引擎参数(DHT、Tracker 等),服务器端。 |
| 代理 | 服务器端出站代理。与桌面客户端不同,“系统代理”需要读取服务器的注册表/系统设置,因此这里实际可用的是手动配置。 |
| 安全与访问 | 访问令牌(查看/复制/重新生成),aria2 兼容 RPC(/jsonrpc)与脚本接管入口(/download)的开关,以及当前 WebSocket 连接状态。 |
| 关于 | 服务器版本、更新渠道、服务器端日志目录(带复制按钮)与一键导出日志为 ZIP下载(远程/NAS 排障很方便),以及退出登录。 |
每个分类对应桌面客户端设置页里同名分区、共用相同的底层配置键;完整字段列表与含义见桌面客户端文档的设置页。
需要说明的是,Web 界面本身没有语言切换——无论主题/强调色怎么选,界面文案固定为中文;只有桌面客户端才有语言设置。
连接状态与断线重连
侧边栏的连接徽标显示 WebSocket 状态:连接中、已连接(带往返延迟)或已断开。一旦连接断开——服务器重启、网络抖动——客户端会自动按指数退避重试,从 1 秒开始每次翻倍,上限 15 秒,直到重连成功或你退出登录为止。连接恢复后,实时进度、速度、分段更新会自动继续,不需要刷新页面。