Commit Graph

7 Commits

Author SHA1 Message Date
2ro 931dd9eec9 README: public-note lockdown via authorization.public_note_authors
Kinds 1 and 30023 accepted only from configured authors (npub or hex;
closed by default). event_kind_allowlist example updated to the real
24-kind default incl. 30023 and marketplace kinds. Self-hoster
guarantee stated. Unshipped grin1 method removed from the paid-name
flow.
2026-07-04 22:20:21 -04:00
2ro 4367644a61 relay: lock public notes (kinds 1, 30023) to operator-authorized authors
Add a RestrictedKindAuthors admission policy: the public-note kinds (1 text
note, 30023 long-form article) are accepted only from authors listed in
authorization.public_note_authors (npub or hex). Closed by default; every
other kind is unaffected and kind 0 profiles stay open. Registered right
after the kind whitelist so a locked kind is decided before the auth gate.

- add 30023 to DEFAULT_ALLOWED_KINDS and the config.toml example
- reuse utils::{is_nip19,nip19_to_hex}; invalid entries logged and skipped
- unit tests for the lockdown (cargo test --lib green: 110 passed)
2026-07-04 19:58:41 -04:00
2ro 7701c20aa8 Merge pull request #1 from 2ro/tor-migration
Test and build / test_floonet-rs (push) Has been cancelled
Retire the mixnet exit; document Tor as the transport
2026-07-04 08:40:37 -07:00
2ro ff148e219b Retire the mixnet exit; document Tor as the transport
The Goblin wallet moved off the Nym mixnet to Tor: it now reaches relays
over a Tor circuit to their clearnet endpoint, so the relay-side
co-located mixnet exit is dead weight. Remove it entirely.

- delete the vendored `mixexit/` subcrate (drops the nym-sdk dependency
  chain with it) and `src/exit.rs` (the in-process supervisor)
- un-wire the touch points: `pub mod exit;` (lib.rs), the `MixnetExit`
  struct + `Settings.exit` field + its `Default` entry (config.rs), the
  `exit::validate` / `exit::spawn` call sites (server.rs), the commented
  `[exit]` block (config.toml)
- README: drop the "Mixnet exit" section and its feature bullet; add a
  "Transport privacy (Tor)" note (wallets connect over Tor; an operator
  can optionally front the relay with an onion at the deploy layer)

Pure subtraction: the exit was always optional and default-off, so no
behavior changes for anyone not already running it. Builds green;
cargo test and clippy pass.
2026-07-04 06:26:07 -04:00
2ro 94ffffe27c docs(readme): call out name authority co-location in the feature summary
Test and build / test_floonet-rs (push) Has been cancelled
Matches the detail already in the "Name authority" section below —
in-process on the same listener means no separate hostname to run.
2026-07-03 13:20:49 -04:00
2ro 8a97fc0394 floonet-rs: whitelist the marketplace kind set
Test and build / test_floonet-rs (push) Has been cancelled
Extend the default-deny admission whitelist from the Goblin-wallet-only
kinds to the union with Magick Market so one relay serves both apps, matching
floonet-strfry. Adds 1 note, 7 reaction, 14/16/17 order+receipt (Gamma),
1111 comment, 10000 mute/blacklist, 24133 remote signing, 30000/30003
NIP-51 sets, 30078 app data, 30402/30405/30406 listing/collection/shipping,
31990 handler info. Keeps the Goblin base including 13 seal and 27235
NIP-98. DEFAULT_ALLOWED_KINDS, config.toml, and tests updated together.
2026-07-02 22:19:36 -04:00
Goblin 9fa97ebb5c floonet-rs: hardened nostr-rs-relay for the Grin community
Test and build / test_floonet-rs (push) Has been cancelled
nostr-rs-relay + a default-deny admission pipeline (kinds 0,3,5,13,1059,
10002,10050,27235 only), NIP-42 auth, neutral NIP-11, a built-in name
authority (paid names via GoblinPay), and a config-toggled co-located
mixnet exit supervisor. Single binary + installer + hardened systemd, or
Docker Compose. Relay core untouched (additive admission + authority).
2026-07-02 08:22:18 -04:00