Introduction¶
Under DSH’s plugin architecture, issues encountered by mobile browsers when accessing the web UI can be resolved using small plugins. dsh-lan-bridge addresses a specific error encountered by mobile browsers when accessing the DeepSeek Harness web UI:
crypto.randomUUID is not a function.
By injecting a polyfill into the page, it allows the DSH web UI to function over pure HTTP without requiring certificates, warning handling, or public network tunnels.
What is this¶
dsh-lan-bridge is a DSH plugin and LAN bridge maintained by Def1ce. The package name is dsh-lan-bridge. Verified information indicates the version is 0.2.1, the license is MIT, and the README states zero dependencies.
The problem it solves can be summarized as: allowing mobile devices to access the DSH web interface via http:// without being unusable due to the absence of crypto.randomUUID.
Core Features¶
- Install as a DSH plugin: The plugin injects the
crypto.randomUUIDpolyfill into theindex.htmlreturned by DSH, allowing mobile devices to directly access DSH’s own port without requiring an extra process. - Implement the polyfill using a more generic API: Based on
crypto.getRandomValues, it implementsrandomUUID, making it usable in pure HTTP scenarios. - Reduce the configuration cost for LAN access: Starting from version 0.2.1, the DSH webserver automatically binds to
0.0.0.0, and adds the LAN IP to the/apitrust list. - Provide an independent CLI proxy:
bin/dsh-bridge.cjscan proxy local web applications and automatically forward WebSocket real-time channels. - Targeted at older iOS scenarios: The README indicates it can be used on older iOS versions, making it suitable for browser environments that lack
randomUUIDor are unusable over pure HTTP.
Installation and Usage¶
For the plugin method, it is recommended to use the versioned installation command first, as verified information indicates that newly released versions have a pnpm 24-hour gating period:
dsh plugin --profile web add dsh-lan-bridge@0.2.1
If the version has been released for more than 24 hours, you can also use the command without a version number:
dsh plugin --profile web add dsh-lan-bridge
After installation, restart DSH to allow the plugin to enter DSH’s page rendering chain. Once the mobile device is connected to the same WiFi, open DSH’s local port:
http://<电脑局域网IP>:3080
Typical Usage¶
Plugin Method¶
First install the plugin, then restart DSH, and finally access DSH’s 3080 port from a mobile browser. This method does not require an extra process and is suitable for scenarios where you only want the DSH web interface to open normally in a mobile browser.
Independent CLI Proxy¶
If you wish to proxy a local web application rather than just DSH, you can directly run the CLI included in the project:
node bin/dsh-bridge.cjs
You can also install it as a global command:
npm install -g dsh-lan-bridge && dsh-lan-bridge
When customizing the backend or port, you can explicitly specify parameters:
dsh-lan-bridge --backend http://127.0.0.1:3080 --http-port 8088
After starting, connect the mobile device to the same WiFi and open:
http://<电脑局域网IP>:8088
On Windows, the documentation mentions that you can double-click start.bat to start the CLI method; at this point, DSH needs to be running on port 3080.
Applicable Scenarios and Notes¶
This plugin is most suitable for use within a trusted LAN: mobile devices, tablets, and computers access the DSH web UI over the same WiFi, especially in older iOS or pure HTTP environments.
When using the plugin method, the polyfill injection occurs during the page rendering chain returned by DSH. Since the DSH web interface does not have login authentication, you should check the source code and license before installing, and do not expose the LAN port directly to the public internet.
The project documentation indicates that package.json declares node >= 18. The community directory is an independent site with no official affiliation to DeepSeek/Huafan, and can be understood as an independent plugin source.
Conclusion¶
The value of dsh-lan-bridge is focused: it solves the problem of the DSH mobile web interface being unusable over pure HTTP with a small crypto.randomUUID polyfill.
GitHub repository:
https://github.com/Def1ce/dsh-lan-bridge
Verified information does not provide a specific directory page URL; if you need to find it in the DSH community directory, you can search by the plugin name dsh-lan-bridge.