dsh-lan-proxy
界面增强 活跃维护

dsh-lan-proxy

liveqte/dsh-lan-proxy

官方bundle插件,可将回环Web UI通过0.0.0.0反向代理暴露到局域网,开关、状态、日志功能全部嵌入设置页,用插件管理命令即可一键完成安装。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
301 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:liveqte/dsh-lan-proxy
git clone https://github.com/liveqte/dsh-lan-proxy.git
git clone git@github.com:liveqte/dsh-lan-proxy.git
README.md main

dsh-lan-proxy

把 dsh 只监听回环地址的 Web UI 通过 0.0.0.0 反代暴露到局域网; 开关、状态与启动日志直接嵌入 dsh 设置页,随 dsh 启停,无需单独进程。

界面预览

设置页「局域网反代」一级菜单面板(监听已开启时):

局域网反代设置面板

安装

dsh plugin --profile web add "github:liveqte/dsh-lan-proxy#main"

bundle 层栈在启动时组合,装完重启 dsh web 生效。验证:设置页导航「局域网反代」一级菜单出现,启动日志无 plugin tree failed to load。

功能

能力 说明
局域网反代 将 dsh Web UI 同时监听 0.0.0.0:<port>,局域网内任何设备经 http://<局域网IP>:<port>/ 访问
网页端目录选择 禁用原生 OS 文件夹对话框,固定为网页内嵌「选择工作区目录」浏览(可在远程机器上选宿主目录)
免配置开关 设置页「局域网反代」tab 一键开关,即时热启停,无需重启 dsh
端口配置 tab 内直接修改监听端口与上游端口,保存即生效
协议适配 自动改写 Host/Origin 为回环、桥接 WebSocket(RFC6455 帧编解码)、注入 crypto.randomUUID polyfill(局域网 HTTP 非安全上下文缺失)
状态与日志 2 秒轮询的运行状态、上游可达性探测、局域网地址列表与启动日志,内置「重启反代」按钮

使用

  • 开关:设置页 →「局域网反代」tab,切换「监听局域网访问」。
    页面开关的即时状态写入运行时文件($DSH_HOME/profiles/web/lan-proxy.runtime.json,
    优先级高于配置默认值),立即生效。
  • 局域网访问:http://<局域网IP>:<监听端口>/。
  • 端口:tab 内可直接修改监听端口(所有网卡)与上游端口
    (127.0.0.1,0 表示自动取 dsh 实际监听端口)。
  • 开关与端口修改接口仅限本机回环地址调用;局域网访问只读状态与日志。
  • 选择工作区:装上本插件后,侧边栏 / 会话区的「添加工作区」改为网页内嵌目录浏览器
    (宿主文件系统列举 + 新建文件夹),不再在 dsh 进程所在机器上弹出 OS 对话框。
    这样局域网/远程浏览器也能选目录;本机 127.0.0.1 访问同样走内嵌对话框。
    实现方式:bundle 层禁用 directory-picker(auto),并挂载官方
    directory-picker-browse 双面(host 列举/创建 + client 对话框)。

配置项

键 默认值 说明
enabled false 监听局域网访问(配置默认值;页面开关优先级更高并持久化到运行时文件)
port 3080 反代监听端口(所有网卡)
upstreamPort 0 上游端口,0 = 自动取 dsh 实际监听端口
maxLogLines 500 页面日志缓冲行数

配置覆盖写在 profile 层的 cordis.patch.yml(id: lan-proxy 行的 config),
不需要修改仓库内文件。

插件管理

已装插件用 plugin-registry 的浏览器管理面板(轻量控制台)统一管理:查看、
安装、卸载插件,调整 bundle 层栈与 insert 行,启停插件,全程无需手改配置文件。
安装:
dsh plugin --profile web add <plugin-registry>/packages/plugin/console