- commit
- 2fa662cf91a98d6c9252c0e3a743bf22323dd743
- parent
- fa62595c443f8eb900cd67ead3594300d4f12874
- author
- Dami <dami.etoile@gmail.com>
| M | docs/ | 7 | +++++++ |
| M | docs/ | 4 | ++++ |
| M | docs/ | 6 | ++++++ |
@@ -120,6 +120,13 @@ Your bans and kind rules apply to what arrives. Your write rule does not: you as
120120 121121 The relay can write to you. On the Identity tab, switch on what you want to hear about: a report arriving, fuel running low, a pull finishing. Each is a NIP-17 private message signed by the relay's own key, stored on your relay as your inbox and pushed to your DM relays when your kind 10050 is here. It shows up in whatever client you already use for messages.122122 123+## One name per job124+125+Names are cheap, so a relay does not have to do everything. Two ways to spread a life over several names:126+127+- **Presets that mirror.** On the Rules tab, the `search`, `articles`, `media` and `dm` presets turn a name into a single-purpose relay. `search` and `articles` take a source relay and keep a standing pull of their kinds from it, every six hours or daily, so `alice-search` stays a read-only copy of `alice` that clients can point search at. `media` is a file host whose only events are profiles and Blossom server lists. `dm` is an inbox for private messages that only members can read.128+- **Fork this relay.** On the Identity tab, a fork leases a new name, copies this relay into it (everything, only your events, or chosen kinds, with or without the people) and reserves the claim for a key: yours, to split a name by job, or someone else's, to hand a community its own relay with its history. The new name is temporary until it is claimed, and one fork an hour is allowed.129+123130 ## Leave124131 125132 Your data is yours. Any relay that supports sync (NIP-77) can pull everything from your relay:@@ -51,6 +51,8 @@ The per-address limit is what stops a client from opening many sockets to multip
5151 5252 Above the rules form, one button per preset sets writes, reads, the directory, the kind rules and the keep-for rules together. Limits, identity, people and bans stay. **Default** is what a fresh claim has. **Outbox** is only you writing, anyone reading, private kinds refused. **Inbox** takes notes, replies, reactions, comments, reports and zaps from anyone and keeps them 90 days. **Private** is only you writing and only members reading, every kind, forever. **Chat** is the members-only group: private messages, chat and threads, directory hidden. Your own profile and lists always land, whatever the kind rules say. Names are cheap, so one name per role is the way to run all four.5353 54+Four more presets make single-purpose names: **Media** (members upload files; the only events accepted are profiles and Blossom server lists), **Search replica** (a read-only copy of another relay's searchable kinds, refreshed every six hours), **Articles** (long-form and profiles only, mirrored daily from a source if one is given) and **DM inbox** (anyone drops gift wraps, only members read). The replica presets take a source relay URL in the field next to the buttons; applying a preset again replaces the standing pull rather than adding one, and applying a preset with no source removes it. The pull appears in the Jobs table on the Storage tab.55+5456 ## Identity5557 5658 Name, description, icon and contact appear in your relay's public information document, which clients read. The relay also keeps a profile of its own, signed with its own key, made from the name, description and icon, so it shows up like a person in clients that look one up.@@ -71,6 +73,8 @@ One row per list that names relays: relay list (kind 10002), DM inbox (10050), s
7173 7274 **Notifications.** Three switches, all off until you turn them on: a report arrives, fuel runs low, a pull finishes. The relay writes you a NIP-17 private message with its own key, sealed and gift wrapped, stored here as your inbox and pushed to the relays in your kind 10050 when this relay holds one. **Send a test message** proves the path end to end. Only the owner can read these; the catch-all keep-for rule leaves gift wraps alone, though a rule set on kind 1059 itself still applies. Fuel is reported once when it turns low and then once a day while it stays low.7375 76+- **Fork this relay** leases a new name, copies this relay into it and reserves the claim for a key. Choose a name or take a memorable one, choose who claims it (you by default, or an npub), what to copy (everything, only your events, or a list of kinds) and whether the people come along. The result is the new console URL to hand over; the new name expires like any lease unless it is claimed. One fork an hour.77+7478 ## Storage7579 7680 What is taking space and what to do about it.@@ -105,3 +105,9 @@ Members inviting members is `invited_by` on the member row, set from the invite'
105105 ## Protocol surface106106 107107 NIP-01, 09, 11, 13, 17/59 private kinds, 29, 40, 42, 45 with HLL, 50, 56, 62, 67, 70, 77, 86, 98, plus NIP-05, NIP-43, NIP-57, NIP-96 with NIP-94, and Blossom BUD-01/02/04/06/08/09. `test/conformance` is a black-box suite that runs against any relay URL.108+109+## Forks and replicas110+111+`forkrelay` builds a new relay from three things that already exist: it leases a name through the same `lease` method the apex uses, reserved for the holder; calls `adoptFrom` on the new object, an RPC method HTTP cannot reach, which copies the plain members and adds a once pull job from this relay's public URL with the optional filter; and returns the console URL to hand over. The new object pulls on its own alarm. One fork an hour per relay, recorded in storage.112+113+Replica presets (`search`, `articles`) are rule bundles plus a standing pull labelled `replica` of the preset's kinds from a source relay. Applying any preset removes the earlier replica job first, so a name holds at most one.