Skip to content

远程终端与文件

远程终端、文件管理和任务下发只适用于你拥有或已经获得授权管理的设备。

使用条件

  • 管理员已经登录。
  • 需要时已通过两步验证。
  • Agent 在线并且没有禁用远程控制。
  • 反向代理支持 WebSocket。
  • 浏览器、面板和 Agent 使用的地址与证书有效。

服务器离线时,页面仍能进入节点选择和错误状态,但无法建立实际终端会话。

多标签和多节点

从服务器列表或远程终端节点列表进入时,都会在新标签页打开终端。远程终端列表中的整张服务器卡片都可以点击,不再要求对准单独按钮;卡片内不再提供 IP 复制按钮,避免整卡跳转与复制操作冲突。

目标节点保存在页面地址的片段部分,例如:

text
/admin/remote/terminal#node=服务器UUID

片段不会随普通 HTTP 请求发送给服务器、Cloudflare 或反向代理。真正建立会话时,后端仍会检查管理员登录、2FA 和节点权限。

连续打开多个节点时,每个标签页维护独立会话。关闭终端或离开页面后,前端会清理连接;异常刷新留下的旧会话会在超时后回收。

文件管理

文件管理支持上传、下载、目录操作和批量选择。先用左键进入或完成批量选择,随后右键菜单可对已选文件执行下载。

大文件下载受浏览器、反向代理超时和最大响应限制影响。不要只调整 client_max_body_size,下载还需要检查代理读取超时和缓冲设置。

WebSocket 403

常见原因:

  1. Cloudflare 或反向代理没有转发 UpgradeConnection
  2. HostOrigin 与面板允许的地址不一致。
  3. 登录会话已过期,页面仍尝试复用旧连接。
  4. 从服务器页进入终端时打开了不同域名或端口。
  5. Cloudflare Access 允许页面访问但拦截 WebSocket。

先确认浏览器访问地址、Agent endpoint 和反向代理域名一致,再检查后端日志中的实际状态码。

PWA 缓存问题

如果浏览器控制台出现 add-to-cache-list-conflicting-entries,通常是旧 Service Worker 与新静态文件清单冲突。当前版本已经避免对同一图标生成重复缓存项;升级后仍出现时,应先确认代理没有长期缓存旧 sw.js

基于 MIT 许可证发布