______ _______ _______ ______ _______ _____ _______ | | | | | __ \ _ | \| ___| | ---| - | | < | -- | ___| |______|_______|__|_|__|___|__|___|___|_____/|_______|
no server. no relay.
just peers.
just peers.
comrade shares your terminal directly with another machine over a hole-punched peer-to-peer link — SSH end-to-end, gated on a one-time token. There is no central server and no relay in the data path: the two ends find each other over the DHT (or the local network) and talk straight to one another.
$ demo
# install
Debian / Ubuntu — signed apt repository
sudo install -d -m 0755 /etc/apt/keyrings sudo curl -fsSL https://comrade.makrotopia.org/comrade-archive-keyring.asc \ -o /etc/apt/keyrings/comrade.asc echo "deb [signed-by=/etc/apt/keyrings/comrade.asc] https://comrade.makrotopia.org stable main" \ | sudo tee /etc/apt/sources.list.d/comrade.list # use "testing" instead of "stable" on Debian testing sudo apt update && sudo apt install comrade
macOS — Homebrew
brew tap dangowrt/comrade brew trust dangowrt/comrade # Homebrew 4.3+ requires trusting the tap brew install comrade # hosting a session also needs tmux
OpenWrt — apk from packages feed, snapshot builds only for now
apk update apk add comrade # hosting a session also needs tmux: apk add tmux
Arch Linux — not in the official repos; build from the in-tree PKGBUILDs
git clone https://github.com/dangowrt/comrade cd comrade/packaging/arch (cd kcp && makepkg -si) (cd comrade && makepkg -si)
Nix / NixOS — flake
nix run github:dangowrt/comrade nix profile install github:dangowrt/comrade
Windows — direct download today, winget planned
# grab a static exe from the latest release and put it on PATH: # comrade-x64.exe / comrade-arm64.exe # hosting a session also needs tmux, a native ConPTY build: winget install arndawg.tmux-windows # future: once the manifest is accepted into winget-pkgs # winget install dangowrt.comrade