mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
docs: refresh tutorials, how-to, design, reference, and examples for v0.4.0
Pre-cut documentation pass for the 0.4.0 release, verified against current source. Corrections: - fipsctl: stale 'show identities'/'show node' -> 'show status' (host-a-service, run-as-unprivileged-user) - mesh address derivation: first 16 bytes of SHA-256(pubkey) with the leading byte set to 0xfd, not a fixed fd97: prefix (reach-mesh-services, ipv6-adapter-walkthrough) - gateway control socket mode 0660 -> 0770 (troubleshoot-gateway) - Tor example: add advertised_port: 8443 so the published port matches the prose (enable-nostr-discovery) - bloom mesh-size estimate rewritten to the OR-union-of-peer-filters algorithm; plus mtu deep-link, gateway pool wording, and a NAT failure-mode line - examples: delete orphaned nostr-rs-relay config, accept inbound to the local 8443 TCP listener, fix fd::/8 -> fd00::/8 typos, dotless wireguard alias Additions: - new Nym mixnet transport section (fips-transport-layer) and the architecture transport list - new LAN/mDNS discovery section (fips-nostr-discovery) - reference docs: Nym transport, LAN discovery, and new control/stats surfaces; drop ble from the connect transport list
This commit is contained in:
@@ -98,11 +98,10 @@ is what you want.
|
||||
Or via the daemon:
|
||||
|
||||
```sh
|
||||
sudo fipsctl show identities
|
||||
sudo fipsctl show status
|
||||
```
|
||||
|
||||
The first JSON entry has `local: true` and a `ula` field — that
|
||||
is your address.
|
||||
The JSON has an `ipv6_addr` field — that is your address.
|
||||
|
||||
For the rest of this tutorial we will write the address as
|
||||
`<your-fips0-addr>`. Substitute the actual `fd97:...` value
|
||||
|
||||
@@ -63,9 +63,11 @@ mesh address:
|
||||
dig npub1qmc3cvfz0yu2hx96nq3gp55zdan2qclealn7xshgr448d3nh6lks7zel98.fips AAAA +short
|
||||
```
|
||||
|
||||
You should see one AAAA record returning a `fd97:...` address.
|
||||
The prefix is the FIPS ULA range (`fd00::/8`, with `fd97:...`
|
||||
covering the address space derived from npubs).
|
||||
You should see one AAAA record returning an address such as
|
||||
`fd97:...`. The prefix is the FIPS ULA range (`fd00::/8`): only
|
||||
the leading `fd` byte is fixed, and everything after it is hash
|
||||
output derived from the npub, so the digits beyond `fd` vary per
|
||||
node.
|
||||
|
||||
The query went through `systemd-resolved` (or your platform
|
||||
equivalent), which routed `.fips` queries to the daemon's local
|
||||
|
||||
@@ -56,8 +56,11 @@ hostname on the public internet. There is no separate
|
||||
the tool takes a hostname, it accepts a `.fips` hostname.
|
||||
|
||||
> **Where the address comes from.** Every FIPS node's mesh
|
||||
> address is the SHA-256 of its public key, truncated to the
|
||||
> bottom 64 bits and prepended with `fd97:`. Names of the form
|
||||
> address is the first 16 bytes of SHA-256 of its public key,
|
||||
> with the leading byte replaced by `0xfd` (the `fd00::/8` ULA
|
||||
> prefix). The remaining bytes are hash output, so an address
|
||||
> like `fd97:...` is per-node — the `97` is part of the hash,
|
||||
> not a fixed prefix shared across nodes. Names of the form
|
||||
> `<npub>.fips` and any shortname mapped in `/etc/fips/hosts`
|
||||
> are aliases for that address. The daemon's local DNS
|
||||
> responder hands the answer back to your kernel without ever
|
||||
|
||||
Reference in New Issue
Block a user