Overview
dsh-lan-access
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **Disabling from a remote machine cannot reconnect that page.** The listener returns to `127.0.0.1`, which only exists on the server machine, so the remote tab keeps retrying a dead origin. Re-enable from the server machine (or the loopback page); the row states this when it applies. - **The automatic handoff is loopback-only.** The process launch token is minted into the target URL only for a loopback page, so it never leaks to a remote LAN browser. A bind change started from a non-loopback page (rare — the selector is disabled while enabled) falls back to the plain address link, and you must supply the launch token printed by `dsh web`. - **A fresh browser on the new origin needs the launch token.** The URL shown in the row omits `?token=`, by design. The automatic handoff carries it only for the page that performed the switch. - **One concrete address, never a wildcard.** The listener binds exactly one selected IPv4/IPv6 address; `0.0.0.0`, `::`, link-local, and OS-temporary IPv6 addresses are never offered. Change the selection by disabling first. - **Other tabs on the old origin do not follow.** Only the page that toggles navigates to the new origin. Any other tab still open on the old address keeps retrying until it is refreshed at the new address or closed. - **A saved address that disappears fails visibly.** If the machine loses the selected interface (network change, VPN drop, IPv6 privacy rotation), startup refuses the bind instead of falling back to another interface. Set `"enabled": false` in `$DSH_HOME/lan-access.json`, restart locally, and reselect an available address.
