open source, from Keikai

Reach your machines
from anywhere

One binary. Shell in, run commands and copy files by name, through any NAT. No account, no server to host, no config.

free · macOS and Linux · MIT or Apache-2.0

A laptop at a cafe. A server behind a home router. No port-forwarding, no public IP.

Direct

Your machines talk to each other, end-to-end encrypted, through any NAT. No port-forwarding, no public IP, no VPN appliance.

Nothing to host

No account and no coordination server. When a direct path is blocked, a relay forwards encrypted packets it cannot read, and you can run your own with one flag.

By name

Invite a machine and it answers as myserver.hop from anywhere, on a private address only your machines can reach. Your own private network, with ssh, scp and VNC working as they always did.

Sessions that survive

Close the laptop, switch networks, come back: the shell you left is still there, with its screen intact.

Agent-ready

One skill and your AI tools can reach every machine, run a command across all of them, and search their logs together, within limits you set. How agents use it.

Install and use

Two machines, three steps, under a minute.

On the machine you want to reach

Installs WireHop as an always-on service and prints a one-time invite.

$ curl -fsSL https://wirehop.org/install.sh | bash -s -- --host $ hop invite Invite: eyJ0eX...

On your laptop

Redeem the invite once. The machine is saved under its name.

$ curl -fsSL https://wirehop.org/install.sh | bash $ hop connect eyJ0eX... Saved as known host: myserver

From now on

Just the name. Works from any network, no setup on the router.

$ hop myserver # open a shell $ hop myserver -- uptime # run one command $ hop cp ./file myserver:~ # copy files $ hop tunnel myserver 3000 # its port 3000, at localhost:3000

macOS (Apple Silicon and Intel) and Linux (x86_64, ARM64, ARMv7). Also on GitHub Releases as signed binaries and a macOS .pkg, and on npm as npx -y @wirehop/wirehop. All install options and how to verify a download.

Your own private network

Every machine you invite is also on a VPN your machines run themselves. We call it a warren.

Each machine gets a private address and a name like myserver.hop, reachable from anywhere by any other machine you invited. No coordination server, no port-forwarding, no config files. The tools you already use just work: screen-share into your desktop over VNC, ssh and scp by name, open a web UI on a box behind a home router.

Bridge a printer, a NAS or a whole LAN through one machine that sits on it. How the private network works.

# screen-share into your desktop $ open vnc://myserver.hop # the usual tools, by name $ ssh myserver.hop $ scp report.pdf myserver.hop:~ $ open http://myserver.hop:8080

Go further

The same install, invite, connect. More machines, more hands.