前言¶
DSH 的 Web GUI 主要服务于本机访问。当开发者希望从局域网设备或公网访问 Harness 时,需要处理三件事:Web GUI 的绑定地址、内网穿透,以及访问入口的密码门禁。
chicheng-gate 是一个 DSH Web GUI 插件,把远程访问控制、frpc 内网穿透、面板密码门禁和手机端 UI 适配放进同一个设置面板。先做安全确认,再配置密码和访问方式,可以减少手工改配置、手工管进程的步骤。
这是什么¶
chicheng-gate 的定位是:DSH Web GUI 插件:远程访问控制 + frpc 内网穿透 + 面板密码门禁 + 手机端 UI 适配。
维护者为 534119219,许可证为 MIT。它主要解决以下问题:
- Web GUI 原本只适合本机访问,打开远程访问后需要切换绑定地址。
- 通过 frpc 暴露到公网时,需要把面板先经过密码网关再转发。
- 非本机访问需要密码验证,同时保留本机访问的便利性。
- 手机端访问时需要移动端 CSS 适配。
核心功能¶
远程访问开关¶
远程访问开关用于切换 Web GUI 的绑定地址:
- 开启后,可切换 Web GUI 绑定
0.0.0.0,让局域网设备访问。 - 关闭后,会还原相关修改。
注意,开启远程访问会把 Web GUI 绑定到 0.0.0.0。此时局域网内任何设备都可以访问该 Web GUI,因此只应在可信任网络中使用。
frpc 内网穿透¶
frpc 内网穿透用于把面板暴露到公网 frps 服务器。插件会自动下载并拉起 frpc,也支持实时开启或停止。
frpc 配置项包括:
- 服务器地址
- 端口
- token 验证
- 本机端口
- 远程端口
frpc 自动下载时带 SHA256 校验;如果下载失败,可回退到手动路径。
面板密码门禁¶
面板密码门禁要求非本机访问先通过密码验证。非本机访问包括:
- 局域网访问
- frpc 隧道访问
本机 127.0.0.1 访问不需要密码。
密码使用 scrypt 加盐哈希存储,不保存明文。密码门禁还带:
- 会话 cookie
- 登录限速:5 次/分/IP
- 7 天会话
独立密码网关¶
frpc 隧道不会直接转发到 DSH 主端口。访问请求会先经过本地密码网关,验证通过后再转发到 DSH 主端口。
这样可以保证公网隧道访问也必须输入面板密码,同时不影响本机 127.0.0.1 的免密访问。
手机端 UI 适配¶
插件会注入移动端适配 CSS,用于改善手机端访问 Web GUI 时的界面显示。
首次安全确认与 randomUUID 补丁¶
首次使用时,需要阅读并确认安全风险后,才解锁相关开关。
插件还包含 crypto.randomUUID 补丁,用于修复局域网 HTTP 环境下 randomUUID 缺失的问题。
安装与启用¶
在 shell 中执行以下命令,将 chicheng-gate 添加到 web profile:
dsh plugin --profile web add github:534119219/chicheng-gate
安装后,进入 Web GUI 的设置页,在侧栏选择「赤橙网关」即可看到相关配置卡片。
典型用法¶
下面是一套可按顺序执行的流程。
1、打开 Web GUI,进入「设置」,侧栏选「赤橙网关」。
2、首次进入需要勾选「我已阅读并了解上述安全风险」,然后点「同意」。
3、在「面板密码」卡片中输入至少 8 位密码并保存。
4、如需公网访问,在「内网穿透 (frpc)」卡片中填写:
- 服务器地址
- 端口
- token
- 本机端口
- 远程端口
5、根据访问范围打开开关:
- 局域网访问:打开「远程访问」开关。
- 公网访问:打开「启用 frpc」。
6、远程访问和 frpc 配置改动后,需要重启 dsh web。
frpc 的启用/停用开关本身实时生效,但 frpc 配置项和远程访问配置改动需要重启 dsh web 后才生效。
7、使用对应地址访问:
- 局域网访问:
http://<本机IP>:3080 - 公网 frpc 隧道访问:
http://<frps公网IP>:<远程端口>
公网 frpc 隧道访问首次会要求输入面板密码。
适用场景与注意¶
适合以下场景:
- 希望在局域网内访问 DSH Web GUI。
- 希望通过 frpc 隧道从公网访问 DSH Web GUI。
- 希望给非本机访问增加密码门禁。
- 希望在手机端访问 Web GUI 时有移动端 CSS 适配。
使用前需要注意:
- 开启远程访问会把 Web GUI 绑定到
0.0.0.0,局域网内任何设备都可访问。 - 开启 frpc 内网穿透会把面板暴露到公网。
- 非本机访问包括局域网访问和 frpc 隧道访问,都需要先通过密码验证。
- 本机
127.0.0.1访问不需要密码。 - 登录限速为 5 次/分/IP。
- frpc 启用/停用开关本身实时生效,但 frpc 配置和远程访问配置改动需要重启
dsh web。 - frpc 自动下载带 SHA256 校验,失败可回退手动路径。
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证。
相关链接¶
- GitHub:
https://github.com/534119219/chicheng-gate - 目录页:
https://www.skillhub.cn/plugins/534119219/chicheng-gate