chicheng-gate:DSH Web GUI 的遠程訪問、frpc 隧道與面板密碼門禁

前言

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜