DSH Remote Access 插件介紹

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 的步驟如下:

  1. 啓動 DSH,使用 dsh --profile web 命令。
  2. 打開設置菜單,找到“遠程訪問”選項。
  3. 選擇“LAN”模式,指定本地監聽端口,保存並啓用連接。
  4. 複製生成的鏈接,在連接同一局域網的其他設備上打開。

frpc 隧道配置

若需通過公網訪問,需配置 frpc 隧道。使用前請確保主機已安裝與服務器 frps 版本兼容的 frpc 可執行文件。

  1. 在“遠程訪問”設置中,輸入 frpc 的絕對路徑或通過文件選擇器定位該程序。
  2. 選擇“Tunnel”模式。
  3. 提供以下配置信息:
    • frpc 客戶端路徑:本地 frpc 的路徑。
    • 服務器地址:frps 的控制地址或 IP。
    • 服務器端口:frps 的 bindPort(通常是 7000)。
    • server.token:與服務器 [auth].token 保持一致。
    • 公網端點:選擇域名或 IP+端口。
  4. 通過生成的鏈接在另一臺設備上打開 Web UI。

安全與注意事項

  • 訪問控制:插件會生成令牌作爲訪問憑據。更改配置會撤銷舊的訪問鏈接。請將生成的鏈接視爲持有者憑據,切勿在聊天、工單或日誌中公開。
  • 服務器安全:主要 Web 服務器保持在迴環地址。未授權的請求會收到 401 錯誤。
  • frpc 版本:必須確保主機提供的 frpc 可執行文件與服務器 frps 版本兼容。
  • 權限要求:安裝 Git 倉庫依賴時,可能需要 pnpm-workspace.yaml 的權限配合。建議僅安裝可信來源的插件,並鎖定具體的提交版本。

總結

該插件通過簡單的設置,爲 DSH Web profile 提供了遠程訪問能力。無論是局域網內的快速調試,還是通過 frpc 建立的公網隧道,都爲開發者提供了靈活的控制手段。更多細節可參考其 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

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

小夜