mirror of
https://github.com/jmcorgan/fips.git
synced 2026-08-09 00:04:54 +00:00
Forward-merge the v0.4.0 pre-release content (dependency refresh, CI deb-install + AUR-build legs, docs refresh, doc-comment fixes, and the Phase 4 source-content squash: CHANGELOG, release notes, README, fips.yaml, Cargo.toml metadata, reference docs) up the one-way flow. Conflict fixups (keep next's identity, fold in master's improvements): - Version: keep next's 0.5.0-dev (Cargo.toml/lock). - README status: keep next's v0.5.0-dev / wire-format-breaking framing and the Breaking-section pointer; fold in the Nym transport and the "global, public test mesh of thousands of nodes" description. - docs/reference/cli-fips.md: keep next's 0.5.0-dev version example. - CHANGELOG: keep next's XX-handshake admission entry (no early cap gate on XX) and drop master's IK early-cap-at-handle_msg1 entry, which describes IK-only behavior that does not apply on next; take master's OR-union mesh-size rewrite (next carries the OR-union code); restore the Tor connect_refused and MMP receiver-report entries that the Fixed-section consolidation would otherwise have dropped. - lifecycle.rs: keep the mDNS/LAN handshake doc-comment as Noise XX (next unifies on XX), not master's XX-to-IK correction. Quartet green on the merged tree: fmt, build, clippy -D warnings, and cargo test --lib (1434 passed).
How-To Guides
Task-oriented, step-by-step recipes for operators with a specific goal in mind. Each guide assumes the reader already knows what FIPS is and wants to get a particular thing done — enable a feature, deploy a component, troubleshoot a class of problem.
How-to guides do not teach concepts (that is the role of design/) and do not enumerate options (that is the role of reference/). They take the reader along the shortest correct path from "I want to do X" to "X is done".
Available Guides
| Guide | Goal |
|---|---|
| enable-mesh-firewall.md | Activate the default-deny nftables baseline on fips0 |
| enable-nostr-discovery.md | Turn on Nostr-mediated discovery (3 capabilities — resolve, advertise, open — across 5 scenarios) |
| deploy-tor-onion.md | Run a Tor onion service for inbound FIPS connections |
| tune-udp-buffers.md | Set host sysctls so FIPS UDP sockets don't get clamped |
| tune-file-descriptors.md | Raise RLIMIT_NOFILE so a busy node doesn't exhaust file descriptors (EMFILE) as peer count grows |
| run-as-unprivileged-user.md | Run the daemon under a dedicated unprivileged service account (drops the default-root posture) |
| deploy-gateway.md | Manually deploy fips-gateway on a non-OpenWrt Linux host (LAN-to-mesh outbound + mesh-to-LAN inbound port-forwards). For the OpenWrt path, see the gateway tutorial. |
| troubleshoot-gateway.md | Diagnostic recipes for the gateway, organised by half (outbound, inbound, common) |
| persistent-identity.md | Provision a stable Nostr keypair so the node keeps the same npub across restarts |
| host-aliases.md | Use shortnames (test-us01.fips, my-laptop.fips) instead of full npubs by editing /etc/fips/hosts or setting peer aliases |
| set-up-bluetooth-peer.md | Configure a Bluetooth Low Energy peer link |
| diagnose-mtu-issues.md | Triage MTU-shaped failures and rule out their imposters (bufferbloat, transport saturation) |