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
|`--tun`|| Put surfaces on a private TUN network (`utun` on macOS, a pre-created device like `ps0` on Linux); the resolver answers in-stack on `10.99.0.53:53`|
208
216
|`--resolver`|| Loopback mode, an alternative to `--tun`: serve the `*.pai-sho` resolver on this UDP address (e.g. `127.0.0.1:5353`) |
209
217
@@ -229,7 +237,8 @@ who to dial, and the proof you may. When you already know a peer's key,
229
237
230
238
**Forwarding.** Each peer hears only the ports granted to it, and traffic runs
231
239
over the encrypted QUIC connection. It goes both ways: something on your own
232
-
`:4001` becomes reachable on a peer with `pai-sho expose 4001 --to <key>`.
240
+
`:4001` becomes reachable on a peer with `pai-sho expose 4001 --to <key>`, where
241
+
the key comes from `pai-sho key` on the machine you are granting to.
233
242
234
243
**The network.** With `--tun`, the daemon runs its own TCP/IP stack on a private
235
244
network interface. The daemon sits at `10.99.0.1`, peers get addresses on
@@ -238,9 +247,9 @@ interface is created ahead of time and owned by the daemon's user, so the daemon
238
247
needs no elevated capability. On macOS the daemon creates a utun itself, which
239
248
needs root.
240
249
241
-
**Surfaces.** A peer's ports are addressed together at one address, named after
242
-
its enrollment label. A peer is projected automatically the first time it
243
-
announces a granted port. Because each peer owns its address, two peers can serve
250
+
**Surfaces.** A peer's ports are addressed together at one address, under the
251
+
name you gave it, or a short form of its key if nothing named it. A peer is
252
+
projected automatically the first time it announces a granted port. Because each peer owns its address, two peers can serve
244
253
the same port without colliding. `project` overrides the automatic choice (pin an
245
254
address with `--ip`, rename with `--as`), `unproject` takes a surface down, and
246
255
projections survive a restart ([ADR 0004](docs/adr/0004-peer-surfaces.md)).
@@ -274,4 +283,14 @@ which keeps it easy to reason about exactly what is reachable.
274
283
[pigeons](https://pigeons.computer), SSH over iroh from the same team, is where
275
284
pai-sho's connection handling comes from.
276
285
286
+
## More
287
+
288
+
[docs/scenarios.md](docs/scenarios.md) works two flows end to end: a shared build
289
+
box reached from a laptop, and a laptop booting a vibenv. Each says what has to
290
+
be true, what travels between the machines, and why the commands are shaped the
291
+
way they are.
292
+
293
+
The [ADRs](docs/adr) record the decisions: directed grants, invitations,
294
+
host-attested enrollment, peer surfaces, and the owned resolver.
295
+
277
296
Questions or ideas: come by the [Discord](https://discord.com/invite/YNbScHBHrh).
0 commit comments