You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A vhs-rendered demo GIF (assets/demo.tape + assets/demo.sh, illustrative)
shows the whole story: mir up serves a machine; from a laptop mir list
auto-discovers it by name (B2) and mir attach drops into its real shell —
peer-to-peer, Noise-encrypted end-to-end, no SSH. Rework the README hero
with shields badges, a punchy SSH-less tagline, the centered GIF, and
Features rows for zero-config discovery + LAN-direct. Refresh the version
pin example to v0.6.0.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
**SSH-less, peer-to-peer, end-to-end-encrypted shells on every machine you own** — reach a
10
+
real terminal from your laptop or your phone's browser, authenticated by a passkey, brokered
11
+
by a relay you **never have to trust**.
12
+
13
+
<palign="center">
14
+
<img src="assets/miranda-demo.gif" width="900"
15
+
alt="mir up serves a machine; from a laptop, mir list auto-discovers it by name and mir attach drops into its real shell — peer-to-peer, Noise-encrypted end-to-end, no SSH">
16
+
</p>
17
+
18
+
<palign="center"><sub>Serve a machine, then reach its real shell from anywhere — P2P + Noise, the relay never sees a keystroke.</sub></p>
19
+
20
+
Terminal traffic flows **directly peer-to-peer** over a WebRTC DataChannel, end-to-end
21
+
encrypted with the Noise `KK` handshake. A small relay only introduces the two ends and then
22
+
steps aside — it sees ciphertext and routing metadata, never your keystrokes or output. The
23
+
relay, in other words, has **the right to remain silent**.
24
+
25
+
It's `tmux` for terminals that live on different machines: tmux owns the windows/panes and
26
+
persistence on each host; Miranda owns *which machine you're looking at* — and your machines
27
+
**find each other by wallet**, so a new one shows up everywhere the moment it comes online.
18
28
19
29
## Features
20
30
@@ -28,6 +38,11 @@ looking at*.
28
38
survive the browser sleeping or the network dropping.
29
39
-**Cross-machine multiplexer** — attach several machines at once and switch focus
30
40
with a hotkey.
41
+
-**Zero-config discovery** — your machines self-publish a wallet-signed, *encrypted*
42
+
record; every device of yours lists them by name automatically — no `add-machine`, no
43
+
pairing between your own machines. The relay holds only opaque blobs it can't read.
44
+
-**LAN-direct** — on the same network, `mir attach` finds the machine over mDNS and
45
+
connects straight over QUIC: no relay round-trip at all, automatic fallback if it's remote.
31
46
-**Browser or CLI** — the `mir` CLI in your terminal, or any browser including
32
47
iPhone Safari.
33
48
-**Self-hostable, blind relay** — run your own, or use the hosted one; either way it
@@ -48,7 +63,7 @@ curl -fsSL https://raw.githubusercontent.com/srcfl/miranda/main/install.sh | sh
48
63
```
49
64
50
65
The installer verifies each download against the release `checksums.txt` before
51
-
installing to `~/.local/bin`. Pin a version with `MIR_VERSION=v0.1.0`, or change the
66
+
installing to `~/.local/bin`. Pin a version with `MIR_VERSION=v0.6.0`, or change the
52
67
target with `INSTALL_DIR=/usr/local/bin`. Prefer building from source? See the
0 commit comments