DSH 的 Web profile 默认在本地运行,若需要在其他设备上控制 Web UI,或从公网访问,通常需要复杂的端口转发配置。本插件为 DSH Web profile 添加了“远程访问”设置部分,支持按需启动局域网访问或 frpc 隧道,生成经过身份验证的链接以从其他设备进行控制。
插件名称为 xiaosenho/dsh-plugin-remote-access,作者为 xiaosenho,遵循 MIT 许可证。
安装¶
在终端中执行以下命令,将插件安装到 DSH Web profile:
dsh plugin --profile web add @xiaosenho/dsh-plugin-remote-access
安装本地代码或 Git 仓库时,可能需要先在 Web profile 的 pnpm-workspace.yaml 中允许构建,否则 pnpm 可能会拒绝执行。
核心功能¶
该插件主要提供以下能力:
- 添加远程访问设置:在 Web profile 的设置中新增远程访问配置入口。
- 按需启动连接:支持启动局域网访问或 frpc 隧道,根据需要选择连接方式。
- 身份验证链接:生成带有令牌的链接,用于在另一台设备上访问 Web UI。
- 浏览器兼容性:在浏览器端注入
crypto.randomUUID()兼容方法,确保在普通 HTTP 环境下 RPC 调用正常。
局域网访问配置¶
在局域网内访问 Web UI 的步骤如下:
- 启动 DSH,使用
dsh --profile web命令。 - 打开设置菜单,找到“远程访问”选项。
- 选择“LAN”模式,指定本地监听端口,保存并启用连接。
- 复制生成的链接,在连接同一局域网的其他设备上打开。
frpc 隧道配置¶
若需通过公网访问,需配置 frpc 隧道。使用前请确保主机已安装与服务器 frps 版本兼容的 frpc 可执行文件。
- 在“远程访问”设置中,输入
frpc的绝对路径或通过文件选择器定位该程序。 - 选择“Tunnel”模式。
- 提供以下配置信息:
- frpc 客户端路径:本地
frpc的路径。 - 服务器地址:frps 的控制地址或 IP。
- 服务器端口:frps 的
bindPort(通常是 7000)。 - server.token:与服务器
[auth].token保持一致。 - 公网端点:选择域名或 IP+端口。
- frpc 客户端路径:本地
- 通过生成的链接在另一台设备上打开 Web UI。
安全与注意事项¶
- 访问控制:插件会生成令牌作为访问凭据。更改配置会撤销旧的访问链接。请将生成的链接视为持有者凭据,切勿在聊天、工单或日志中公开。
- 服务器安全:主要 Web 服务器保持在回环地址。未授权的请求会收到 401 错误。
- frpc 版本:必须确保主机提供的
frpc可执行文件与服务器frps版本兼容。 - 权限要求:安装 Git 仓库依赖时,可能需要
pnpm-workspace.yaml的权限配合。建议仅安装可信来源的插件,并锁定具体的提交版本。
总结¶
该插件通过简单的设置,为 DSH Web profile 提供了远程访问能力。无论是局域网内的快速调试,还是通过 frpc 建立的公网隧道,都为开发者提供了灵活的控制手段。更多细节可参考其 GitHub 仓库。