- commit
- 9be10a5214813440c6b99f4a1bf69f8c7f2de1c9
- parent
- 76cb3783dacc9abf9ad7ba3648b0124ff3bfcbb6
- author
- Dami <dami.etoile@gmail.com>
| M | docs/ | 10 | ++++++++++ |
| M | docs/ | 2 | ++ |
| M | docs/ | 6 | ++++++ |
@@ -88,6 +88,12 @@ Clients that speak NIP-96 instead find the same store through `/.well-known/nost
8888 8989 To report a file, send a signed NIP-56 report that names its hash to `PUT /report`. It lands in the owner's reports queue next to reported events. Deleting a reported file also blocks its hash, so it cannot be uploaded again.9090 91+## Pages and feeds92+93+Every name is a site as well as a relay. A note has a page at `https://<name>.bind.ws/e/<id>` and an article at `/a/<d>` (yours) or `/a/<npub>/<d>` (anyone's), with the tags link previews need, so a link to your relay unfurls in chat apps and on social sites. `/feed.xml` is an Atom feed of the relay's notes and articles; add `?kinds=30023` for articles only or `?author=<hex>` for one person.94+95+Pages exist only while **Rules > Reads** is *anyone*. On a members-only relay they answer 404, so nothing leaks.96+9197 ## Scripts9298 9399 If you write scripts, the relay has an HTTP door. Sign a request with your key (NIP-98) and post to `/events`, `/query` or `/count`. No websocket needed.@@ -104,6 +110,10 @@ Jobs spend awake time, which fuel counts. Up to five standing jobs per relay.
104110 105111 Your bans and kind rules apply to what arrives. Your write rule does not: you asked for these events.106112 113+## Notifications114+115+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.116+107117 ## Leave108118 109119 Your data is yours. Any relay that supports sync (NIP-77) can pull everything from your relay:@@ -67,6 +67,8 @@ Join terms are shown to people who open an invite link, and published at `/terms
6767 6868 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.6969 70+**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.71+7072 ## Storage7173 7274 What is taking space and what to do about it.@@ -80,6 +80,12 @@ Joins (9021, with an optional invite `code`), leaves (9022) and the moderation k
8080 8181 Moderators cannot act on the owner or on each other; only the owner appoints or removes moderators. `transferowner` hands the relay to a member and leaves the old owner as a moderator; the identity key and fuel do not change.8282 83+## Pages, feed and notifications84+85+`src/pages.ts` renders kind 1 at `/e/<id>` and kind 30023 at `/a/<d>` (the owner's) or `/a/<author>/<d>` with Open Graph tags, and `/feed.xml` as Atom, from the same store query the console uses, with an access of no pubkeys so private kinds can never appear. Every page path answers 404 unless reads are open. `nostr:` references become links here when the target is on this relay.86+87+`src/notify.ts` lets the relay write its owner: a kind 14 rumour sealed and gift wrapped with the identity key (NIP-59, NIP-44), stored as the owner's inbox and pushed best effort to the relays in the owner's kind 10050 through the pull code's `dial`. Hooks: a report filed (either door), the daily alarm when fuel turns low (once, then daily while low), a pull finishing, and the test button. Switched off by default in `policy.notify`. The catch-all retention rule skips kind 1059 so the inbox survives it.88+8389 ## Management8490 8591 `src/manage.ts` implements NIP-86 over NIP-98. The console is a client of it. `verifyNIP98` is a local implementation: kind 27235, 60-second window, `u` matches host and path, method matches, payload hash matches.