DSH’s Web profile runs locally by default. To control the Web UI from another device or access it over the public internet, complex port-forwarding configurations are usually required. This plugin adds a “Remote Access” settings section to the DSH Web profile, allowing you to start LAN access or an frpc tunnel on demand and generate authenticated links for control from other devices.
The plugin name is xiaosenho/dsh-plugin-remote-access, created by xiaosenho and released under the MIT License.
Installation¶
Run the following command in the terminal to install the plugin into the DSH Web profile:
dsh plugin --profile web add @xiaosenho/dsh-plugin-remote-access
When installing from local code or a Git repository, you may first need to allow builds in the Web profile’s pnpm-workspace.yaml; otherwise, pnpm may refuse to execute them.
Core Features¶
This plugin primarily provides the following capabilities:
- Add Remote Access settings: Adds a remote access configuration entry to the Web profile settings.
- Start connections on demand: Supports starting LAN access or an
frpctunnel, allowing you to select the connection method as needed. - Authenticated links: Generates links with tokens for accessing the Web UI from another device.
- Browser compatibility: Injects a
crypto.randomUUID()compatibility method on the browser side, ensuring RPC calls work correctly in plain HTTP environments.
LAN Access Configuration¶
The steps for accessing the Web UI from a local area network are as follows:
- Start DSH using the
dsh --profile webcommand. - Open the settings menu and find the “Remote Access” option.
- Select “LAN” mode, specify the local listening port, save the settings, and enable the connection.
- Copy the generated link and open it on another device connected to the same local network.
frpc Tunnel Configuration¶
To access the interface over the public internet, configure an frpc tunnel. Before use, ensure the host has an frpc executable compatible with the server’s frps version.
- In the “Remote Access” settings, enter the absolute path to
frpcor locate the program using a file picker. - Select “Tunnel” mode.
- Provide the following configuration details:
frpcclient path: The path to the localfrpcexecutable.- Server address: The control address or IP of
frps. - Server port: The
bindPortforfrps(usually 7000). server.token: Must match the server’s[auth].token.- Public endpoint: Select a domain name or an IP + port.
- Open the Web UI on another device using the generated link.
Security and Notes¶
- Access control: The plugin generates a token as the access credential. Changing the configuration revokes old access links. Treat generated links as bearer credentials and do not expose them in chats, tickets, or logs.
- Server security: The main web server remains bound to the loopback address. Unauthorized requests receive a 401 error.
frpcversion: Ensure the providedfrpcexecutable is compatible with the server’sfrpsversion.- Permission requirements: When installing Git repository dependencies,
pnpm-workspace.yamlpermissions may need to be adjusted. It is recommended to install plugins only from trusted sources and to pin specific commit versions.
Summary¶
This plugin provides remote access capabilities to the DSH Web profile through simple configuration. Whether for quick debugging within a local network or public internet tunnels established via frpc, it gives developers a flexible means of control. For more details, refer to its GitHub repository.