AllMyStuff is a desktop app that links the computers you own into a single private network. From one window you can watch and control any machine's screen, open a terminal on it, and move files between them — without setting up a VPN, forwarding ports, or signing into a cloud service. It scans each machine's hardware automatically and lays everything out as a graph you click through.
It's free, open source, and runs on macOS, Linux, and Windows.
- Remote desktop. View and control any machine's screen at up to 4K, with one tab per monitor. Keyboard and mouse pass through, so a remote machine works as if you were sitting at it.
- Remote shell. Open a real terminal on any of your machines. No SSH daemon,
keys, or port forwarding to set up — it runs over the mesh. There's also a
standalone command-line terminal, AMSTerm (
amst):amst <machine>drops you into a shell on any machine you own, right from your own terminal, and a bareamstopens one on this machine. It installs on its own (see below). - File access. Browse, preview, and transfer files between machines. Downloads land straight on your disk; nothing routes through a third party.
- Automatic discovery. Each machine reports its hardware and attached devices — displays, cameras, microphones, disks — and they appear on the graph, ready to connect.
- Peer-to-peer and encrypted. Traffic flows directly between your machines over an end-to-end encrypted mesh. There is no central server holding your data.
- Headless mode. Put a machine with no screen on the graph with
allmystuff serve, and keep it there across reboots as a system service.
macOS and Linux
curl -fsSL https://allmystuff.works/install.sh | shWindows
irm https://allmystuff.works/install.ps1 | iexThe installer downloads the verified binaries, adds allmystuff and the
desktop app to your PATH, and sets up the MyOwnMesh
daemon the app runs on. Pre-built bundles (.dmg, .msi, .deb, .AppImage)
and portable archives are on the
releases page.
AMSTerm is the command-line terminal as a standalone program — a real shell on any machine you own, over the mesh. It installs separately (it's the same build, just its own small binary):
# macOS and Linux
curl -fsSL https://allmystuff.works/install-amst.sh | sh# Windows
irm https://allmystuff.works/install-amst.ps1 | iexThis drops the amst command on your PATH, adds an AMSTerm app launcher
(and, on Windows, a desktop + Start Menu shortcut and an "AMSTerm here"
right-click menu on folders). amst is a client of this machine's AllMyStuff
node; if none is running it opens the desktop app to bring one up (or, on a
headless box, starts a headless node directly and says so) — so install
AllMyStuff too.
The app opens to a populated demo graph, so you can explore the interface without connecting anything first.
To use it for real, install AllMyStuff on each computer you want to reach. They discover one another and appear on the graph. Click a machine to see its hardware, then open a session:
- Screen to watch or control it,
- Terminal for a shell,
- Files to browse and transfer.
For a machine without a display — a home server, a build box — run
allmystuff serve to put it on the graph headless, or allmystuff service install to keep it running across logins and reboots.
AllMyStuff is written in Rust, with a Tauri and Svelte desktop interface. It runs as a client of the MyOwnMesh daemon, which handles peer identity, discovery, and encrypted transport — so connections are direct and work through NATs without manual port forwarding.
The networking engine — presence, session setup, and the screen, audio, input,
terminal, and file channels — lives in one Rust crate that both front ends
share: the desktop app and the headless allmystuff serve binary run the same
code. The device graph and its routing rules are pure Rust, mirrored to
TypeScript so the UI stays interactive on its own.
See ARCHITECTURE.md for the full design and crate layout.
AllMyStuff is under active development. What works today:
| Area | Status | Notes |
|---|---|---|
| Device scanner | ✅ | Linux, macOS, and Windows; built and tested on all three in CI |
| Desktop graph UI | ✅ | Interactive on both demo and live data |
| Remote desktop | ✅ | H.264 up to 4K/30 fps with an MJPEG fallback; keyboard and mouse passthrough |
| Remote terminal | ✅ | A real PTY per tab over the mesh; no SSH daemon required |
| File access | ✅ | Browse, preview, upload, download, rename, delete |
| Audio and camera | ✅ | Opus audio and H.264 camera over the same transport |
| Discovery and routing | ✅ | Peers appear via presence; sessions negotiate and tear down cleanly |
| File/disk streaming | 🚧 | Sessions set up; bulk transport is in progress |
just setup # one-time: Rust, Node, pnpm, and GUI dependencies
just dev # run the app with hot reloadThe CLI reference, platform requirements, and notes on helping test macOS, Windows, and Raspberry Pi builds are in CONTRIBUTING.md.
MIT.
