upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/48.md
diff options
context:
space:
mode:
Diffstat (limited to '48.md')
-rw-r--r--48.md60
1 files changed, 60 insertions, 0 deletions
diff --git a/48.md b/48.md
new file mode 100644
index 0000000..8f22781
--- /dev/null
+++ b/48.md
@@ -0,0 +1,60 @@
1NIP-48
2======
3
4Proxy Tags
5----------
6
7`draft` `optional` `author:alexgleason`
8
9Nostr events bridged from other protocols such as ActivityPub can link back to the source object by including a `"proxy"` tag, in the form:
10
11```
12["proxy", <id>, <protocol>]
13```
14
15Where:
16
17- `<id>` is the ID of the source object. The ID format varies depending on the protocol. The ID must be universally unique, regardless of the protocol.
18- `<protocol>` is the name of the protocol, e.g. `"activitypub"`.
19
20Clients may use this information to reconcile duplicated content bridged from other protocols, or to display a link to the source object.
21
22Proxy tags may be added to any event kind, and doing so indicates that the event did not originate on the Nostr protocol, and instead originated elsewhere on the web.
23
24### Supported protocols
25
26This list may be extended in the future.
27
28| Protocol | ID format | Example |
29| -------- | --------- | ------- |
30| `activitypub` | URL | `https://gleasonator.com/objects/9f524868-c1a0-4ee7-ad51-aaa23d68b526` |
31| `atproto` | AT URI | `at://did:plc:zhbjlbmir5dganqhueg7y4i3/app.bsky.feed.post/3jt5hlibeol2i` |
32| `rss` | URL with guid fragment | `https://soapbox.pub/rss/feed.xml#https%3A%2F%2Fsoapbox.pub%2Fblog%2Fmostr-fediverse-nostr-bridge` |
33| `web` | URL | `https://twitter.com/jack/status/20` |
34
35### Examples
36
37ActivityPub object:
38
39```json
40{
41 "kind": 1,
42 "content": "I'm vegan btw",
43 "tags": [
44 [
45 "proxy",
46 "https://gleasonator.com/objects/8f6fac53-4f66-4c6e-ac7d-92e5e78c3e79",
47 "activitypub"
48 ]
49 ],
50 "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",
51 "created_at": 1691091365,
52 "id": "55920b758b9c7b17854b6e3d44e6a02a83d1cb49e1227e75a30426dea94d4cb2",
53 "sig": "a72f12c08f18e85d98fb92ae89e2fe63e48b8864c5e10fbdd5335f3c9f936397a6b0a7350efe251f8168b1601d7012d4a6d0ee6eec958067cf22a14f5a5ea579"
54}
55```
56
57### See also
58
59- [FEP-fffd: Proxy Objects](https://codeberg.org/fediverse/fep/src/branch/main/fep/fffd/fep-fffd.md)
60- [Mostr bridge](https://mostr.pub/) \ No newline at end of file