Files
NetMesh/resources/mosh/README.md

58 lines
1.9 KiB
Markdown
Raw Normal View History

# Bundled `mosh-client` (MoshCatty)
This directory holds the pure Rust `mosh-client` from
[binaricat/MoshCatty](https://github.com/binaricat/MoshCatty).
Netcatty runs SSH + `mosh-server` bootstrap itself, then launches this binary
(see `electron/bridges/moshHandshake.cjs` and `terminalBridge/moshSession.cjs`).
## Layout
| Target | Release asset | Local path |
|--------|---------------|------------|
| Linux x64 | `mosh-client-linux-x64.tar.gz` | `linux-x64/mosh-client` |
| Linux arm64 | `mosh-client-linux-arm64.tar.gz` | `linux-arm64/mosh-client` |
| macOS universal | `mosh-client-darwin-universal.tar.gz` | `darwin-universal/mosh-client` |
| Windows x64 | `mosh-client-win32-x64.tar.gz` | `win32-x64/mosh-client.exe` |
Each tarball contains **only** the client binary (no Cygwin DLLs, no terminfo).
Windows builds static-link the MSVC CRT (`moshcatty-0.1.1+`).
Release tags: `moshcatty-*` (require `moshcatty-0.1.8+`) from
`binaricat/MoshCatty`, with `SHA256SUMS`.
### Linux glibc floors
Linux assets must start on the same distros Netcatty packages for. From
`moshcatty-0.1.2`, MoshCatty builds Linux clients on:
| Target | Build image | Max required GLIBC |
|--------|-------------|--------------------|
| `linux-x64` | AlmaLinux 8 | 2.28 |
| `linux-arm64` | Debian bullseye | 2.31 |
Do **not** pin packaging to `moshcatty-0.1.0` / `0.1.1` Linux binaries: those
were built on Ubuntu runners and require GLIBC 2.34.
## Fetch
```sh
# Optional pin (0.1.8+ disables unsafe local backspace prediction)
export MOSH_BIN_RELEASE=moshcatty-0.1.8
npm run fetch:mosh
# Dev: host platform; resolves latest moshcatty-* if unset
npm run fetch:mosh:dev
```
Env: `MOSH_BIN_OWNER` / `MOSH_BIN_REPO` (default `binaricat` / `MoshCatty`),
`MOSH_BIN_BASE_URL` for mirrors.
`electron-builder` packages `Resources/mosh/mosh-client[.exe]` only.
## Licenses
- MoshCatty client: **GPL-3.0-or-later**
- Upstream Mosh protocol reference: **GPL-3.0**
- Netcatty is **GPL-3.0**