Skip to content

Commit a655b82

Browse files
frahlgclaude
andcommitted
docs: install + self-update instructions
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent f6d4c71 commit a655b82

1 file changed

Lines changed: 37 additions & 2 deletions

File tree

README.md

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,24 @@ looking at*.
3434
never sees plaintext.
3535
- **macOS + Linux**, single static Go binaries. MIT licensed.
3636

37+
## Install
38+
39+
Prebuilt binaries for macOS and Linux are published on GitHub Releases. Install the
40+
client with one line:
41+
42+
```bash
43+
# client (mir)
44+
curl -fsSL https://raw.githubusercontent.com/srcfl/miranda/main/install.sh | sh
45+
46+
# agent on a machine you want to reach
47+
curl -fsSL https://raw.githubusercontent.com/srcfl/miranda/main/install.sh | sh -s -- --agent
48+
```
49+
50+
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
52+
target with `INSTALL_DIR=/usr/local/bin`. Prefer building from source? See the
53+
[Quickstart](#quickstart) below.
54+
3755
## Quickstart
3856

3957
```bash
@@ -60,6 +78,24 @@ mir attach laptop macmini linux
6078
Everything defaults to the hosted relay + STUN, so no flags are needed. Point at your
6179
own infrastructure with `--signal` / `MIR_SIGNAL` and `--stun` / `MIR_STUN`.
6280

81+
## Updating
82+
83+
`mir` and `mir-agent` check GitHub for a newer release at most once a day and print a
84+
one-line notice — never blocking your command. Apply it when you choose:
85+
86+
```bash
87+
mir self-update
88+
mir-agent self-update
89+
```
90+
91+
Disable the check with `MIR_NO_UPDATE_CHECK=1`. For unattended machines, opt into
92+
automatic updates — applied only when no session is active, then the agent re-execs
93+
in place so its PID (and any systemd wrapper) survives:
94+
95+
```bash
96+
mir-agent up --auto-update # or MIR_AUTO_UPDATE=1
97+
```
98+
6399
## Don't trust the relay — that's the whole point
64100

65101
There's a relay, because two machines behind two NATs need an introduction. **You
@@ -107,8 +143,7 @@ invisible spirit that carries messages and can't speak of what it carries).
107143
real shell over P2P, multiplex across all your machines, persistent `tmux`
108144
sessions. A hosted relay is live at `relay.sourceful-labs.net`.
109145
- 🚧 **Coming:** the browser client (passkeys + WebRTC + xterm.js → from your phone),
110-
one-line install, signed releases, a third-party audit, and (one day) a
111-
decentralized relay.
146+
signed releases (cosign), a third-party audit, and (one day) a decentralized relay.
112147

113148
> **Ops note:** agents auto-add a local `registration_secret` to `config.json` on the
114149
> next `mir-agent enroll`, `mir-agent pair`, or `mir-agent up`. Restart long-running

0 commit comments

Comments
 (0)