OverviewFilesCommitsIssuesDocsReleasesPeers

hypermosh-shell commits / e8f74a5

docs: clarify mosh is not bundled + Bare-compat note
README now states mosh must be installed separately (package manager, or extract-from-deb on minimal targets) and documents the Bare gotcha: Node globals must be imported (process, Buffer, ...). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
e8f74a545cfef3e79f68e3f93142ec93d750e2ae
by plankatron <plankatron@users.noreply.github.com> · 2026-07-14T21:45:04.000Z

Changed files (1) +14 -0

README.md +14 -0
……@@ -48,6 +48,15 @@ npm install # hyperdht, b4a, hypercore-id-encoding, protomux, c
4848# requires `mosh` (mosh-server + mosh-client) installed on both ends
4949```
5050
51**mosh is not bundled** — install it via your package manager (`apt install mosh`,
52`brew install mosh`, …). On a minimal or locked-down target where the package
53manager can't configure packages, extract the binaries straight from `.deb`s:
54
55```sh
56apt-get download mosh libprotobuf23 libssl3 libutempter0
57for d in *.deb; do dpkg-deb -x "$d" /; done && ldconfig
58```
59
5160Dual-runtime: Node and [Bare](https://github.com/holepunchto/bare) via the
5261`#node:*` import map (`dgram`→`bare-dgram`, `child_process`→`bare-subprocess`, …).
5362
……@@ -83,6 +92,11 @@ hypermosh names # list known names
8392 so mosh's earliest packets survive the DHT connect instead of being dropped.
8493- **Auto-reconnect = roaming.** On stream close the client redials the pubkey; mosh
8594 resyncs the session across it.
95- **Bare compatibility.** Node globals are *not* globals in Bare — each one
96 (`process`, `Buffer`, …) must be imported. This code imports `process` and routes
97 `fs`/`dgram`/`child_process`/etc. through the `#node:*` map, so it runs on Bare as
98 well as Node. If you add code touching a Node global directly, expect
99 `process is not defined` on Bare until you import it.
86100
87101## Tests
88102