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 倉庫。