Skip to content

CrossShell 0.1.0

Choose a tag to compare

@dhivadhiva dhivadhiva released this 11 Oct 19:03

First release. CrossShell links a Linux machine and a Windows machine (or any mix of the two) on the same network.

What's in it

  • SSH both ways, set up for you.
    • CrossShell enables the OS's own OpenSSH server with one admin prompt.
    • It pairs machines with a 6-digit code shown on both screens, exchanges keys and pins host keys. Nothing is trusted on first use.
    • Afterwards ssh <name> works from any terminal, and so do VS Code Remote-SSH, rsync, scp and git.
  • Terminal tabs.
  • Two-pane SFTP file manager:
    • Drag and drop and a transfer queue.
    • Windows drive paths are handled.
  • Port forwards (local and remote), with one-click presets for common dev ports.
  • Remote desktop. You can view or control the other screen in both directions. CrossShell uses its own engine, tunneled through SSH, so no ports open beyond SSH.
    • Windows: captures with DXGI Desktop Duplication, so it works on Windows Home too.
    • Linux: uses GNOME's Mutter API, which needs no prompt, or the xdg portal (KDE, wlroots), or X11.
    • Extras: clipboard sync, display picker, quality presets and fit or 1:1 scaling.

Download

Linux x64 crossshell-0.1.0-linux-x64.tar.gz: extract it and run ./cross_shell
Windows 10/11 x64 crossshell-0.1.0-windows-x64.zip: extract it and run cross_shell.exe

Verify the downloads with SHA256SUMS.

Known limits

  • These builds are not code-signed. Windows SmartScreen will warn on first launch. If Smart App Control is on, it may block cross_shell.exe or the screen-share agent crossshell-host.exe, and the app tells you when that happens. Signed builds are planned.
  • Windows secure desktop: UAC prompts, the lock screen and the sign-in screen can't be captured by an agent running in your session. The viewer shows a notice until they go away.
  • Linux desktops other than GNOME: the portal shows its consent dialog the first time you share.
  • LAN only. To connect across networks, use a VPN (Tailscale or WireGuard) and Pair by address.
  • Windows firewall: Windows asks to allow the app on first run. This machine → Open firewall instead adds rules limited to the local network.

The design, wire protocol and pairing spec are in PLAN.md.