- commit
- 1727783aecf7a113c36cfa37d08f88a9ea2862c5
- parent
- f8196a90d13fad2ef4a07180ee5cb1479e4cd44a
- author
- Dami <dami.etoile@gmail.com>
| M | docs/ | 4 | ++++ |
| M | docs/ | 8 | ++++++++ |
| M | docs/ | 4 | ++++ |
@@ -49,6 +49,10 @@ wss://<name>.bind.ws
4949 5050 That is all. The relay speaks the standard protocol, so Damus, Amethyst, noStrudel, Coracle and the rest need no special setup. Your notes, reactions and profile land on your relay the moment you publish.5151 52+## Tell your clients53+54+A relay only helps once your clients know about it. On the Identity tab, **Tell your clients** has one row per list: your relay list (NIP-65), your DM inbox (NIP-17), your search relays and your Blossom servers. Each row fetches the newest copy of that list from this relay and a few well-known indexers, puts this relay first, and asks you to sign the result once. The merged list is sent here, to the relays it names, and to the indexers, so nothing you had listed is lost. **Remove me** publishes the list without this relay.55+5256 ## Invite people5357 5458 A new relay accepts writes from its members only. To add someone:@@ -45,6 +45,10 @@ An empty allow list means every kind. Blocks always win.
4545 4646 The per-address limit is what stops a client from opening many sockets to multiply its allowance. It also serves as the HTTP bridge's rate limit, which has no socket to meter. Address buckets live in memory and reset when the relay sleeps.4747 48+### Presets49+50+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.51+4852 ## Identity4953 5054 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.@@ -59,6 +63,10 @@ Join terms are shown to people who open an invite link, and published at `/terms
5963 6064 **Delete relay** removes everything and returns the name to unclaimed. You type the relay's name to confirm.6165 66+### Tell your clients67+68+One row per list that names relays: relay list (kind 10002), DM inbox (10050), search relays (10007), Blossom servers (10063). **Check** looks for your newest copy here and on the indexers. **Add me** merges this relay into it and publishes the signed result here, to the relays the list names and to the indexers; the row shows which accepted it. **Remove me** does the reverse. Lists are never rebuilt from scratch, so what you had stays.69+6270 ## Storage6371 6472 What is taking space and what to do about it.@@ -84,6 +84,10 @@ Moderators cannot act on the owner or on each other; only the owner appoints or
8484 8585 `listeventsneedingmoderation` is a view over the reports queue: one entry per open reported thing, an event id or a blob hash, with the report's type and words as the reason. `blockip`, `unblockip` and `listblockedips` work on the client's address, which the worker stamps on every forwarded request as `x-relay-ip` from Cloudflare's `cf-connecting-ip`, never read from a client header. The address is kept in the socket's state and in the HTTP doors' virtual connection. Per-address token buckets sit beside the per-connection ones at four times the allowance, and are the bridge's only rate limit.8686 87+## Presets and lists88+89+`src/presets.ts` holds the rule bundles (`applypreset`, `listpresets` over NIP-86), applied through the same Settings methods the console uses one at a time. The owner's own replaceable kinds pass the kind rules, so a relay can always hold its owner's lists. Wiring the relay into those lists happens in the console: it fetches the newest copy from this relay over the NIP-98 bridge and from a few indexers over websockets, merges, signs once, and publishes to every relay the list names.90+8791 ## Protocol surface8892 8993 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.