Repository navigation
CrossShell 0.2.0. The host agent can now be started on a server by another app for one session, and is published here as standalone binaries: SecureShell Go's remote desktop uses them.
Engine
- Protocol:
CAP_DEFLATE(caps bit 0) and tile encoding 4, Deflate:
a zlib stream (RFC 1950) of the same BGRX bytes a Zstd tile carries. A
viewer that sets the bit inHello.capsgets lossless tiles as Deflate
instead of Zstd; the host answersWelcome.caps = Hello.caps & host caps.
Viewers sending 0, CrossShell's own included, get exactly what they got
before. The reserved CopyPrev encoding moves to 5. - Host flags for remote-launched agents (SecureShell Go):
--runtime-dir DIR:host.json, the instance lock,status.jsonand
the log go inDIR(created 0700,host.json0600).--exit-when-idle SECS: exit when no viewer connected withinSECSof
start, orSECSafter the last viewer left.--no-notify: see below.
- Connect notification: while a viewer is connected the host shows
"Your screen is being viewed (and controlled) from ": a desktop
notification on Linux, a notification-area balloon (toast) on Windows. - Linux build flavours: PipeWire is now a default cargo feature. Without
it the agent has the X11 backend only, links no C library and builds as a
fully static musl binary.--versionnames the backends of the build. scripts/build-agents.shbuilds the standalone agents (Linux x86_64 and
aarch64, full and X11-only; Windows x64 and arm64) intodist/agents/
withSHA256SUMS.crossshell-protoexamplessgo_fixtureswrites golden fixtures (encoded
frames, expected pixels, every message type) for other implementations of
the protocol.
Arm64 (prepared as 0.1.2, first released here)
Added
- Linux arm64 (aarch64) and Windows 11 on ARM (arm64) builds:
crossshell-<version>-linux-arm64.tar.gzand
crossshell-<version>-windows-arm64.zip, built natively next to the x64
ones. The application is unchanged. - The snap builds for arm64 as well as amd64.
- CI builds, tests and smoke-runs the engine and the app on native runners of
each architecture, checks that every binary in the packages is the right
architecture, and attaches the tarballs and zips of both architectures, with
SHA256SUMS, to a published release without replacing any file that is
already on it.
Changed
scripts/build-linux.shbuilds for the architecture of the machine it runs
on, andscripts/package-windows.ps1packs the Windows zip for the
architecture of the machine it runs on.- The snap's PipeWire plugin paths follow the architecture the snap is built
for.
Standalone agents
crossshell-host-* are the agent on its own, for apps that start it over SSH:
- Linux x86_64 and aarch64: full (Mutter, portal and X11; needs libpipewire-0.3).
- Linux x86_64 and aarch64
-x11: X11 only, fully static. - Windows x64 and arm64.
Their sums are in crossshell-host-SHA256SUMS.
Guide: CrossShell on learn.dhivalabs.com: install steps, a beginner guide and troubleshooting.