Commit Graph

106 Commits

Author SHA1 Message Date
Jon Staab
5b9b89543f Get service url when handling auth rather than mutating the relay, allow user to override service url via env var 2024-12-31 22:10:13 -03:00
fiatjaf
6275f52134 support hyperloglog handlers on COUNT. 2024-12-07 00:26:22 -03:00
Anthony Accioly
582a74c000 refactor: apply CORS rules on relay 2024-11-05 18:37:12 +00:00
fiatjaf
1dc12e5d2e support negentropy. 2024-10-26 23:41:39 -03:00
fiatjaf
9069341657 a context that is canceled whenever a websocket is dropped. 2024-10-16 15:06:47 -03:00
fiatjaf
39d882857c fix missing ! in CheckID() 2024-09-25 14:34:04 -03:00
fiatjaf
cc891d06ed update go-nostr and make checkid faster. 2024-09-24 19:04:18 -03:00
kehiy
eb92c2aac5 make check id more simple. 2024-09-14 10:21:47 -03:00
fiatjaf
79eaedcffe remove useless boolean comparison. 2024-09-05 14:38:59 -03:00
fiatjaf
ef57f54a28 fix listeners convoluted magic and add tests for it. 2024-08-01 18:16:08 -03:00
fiatjaf
a103353254 fix development mess. 2024-08-01 12:41:27 -03:00
fiatjaf
5f0f9eec99 .PreventBroadcast slice of functions for controlling what events get broadcasted and to whom.
addresses https://t.me/nip29_temp/303
2024-07-31 10:34:53 -03:00
fiatjaf
a63dc829df routing. 2024-07-30 12:53:27 -03:00
fiatjaf
9d6dad073a fix nip86 route header matching. 2024-07-11 15:36:25 -03:00
fiatjaf
535f4c90e0 split nip11 handler into its own file and implement nip86 (relay management api). 2024-07-08 15:42:42 -03:00
fiatjaf
ef4a14a831 nip11: signal support for deletions and count if those handlers exist. 2024-07-07 23:37:43 -03:00
fiatjaf
746f030f46 I'm a teapot -> Too many requests 2024-05-17 20:58:17 -03:00
fiatjaf
f8afb51ee9 ratelimits. 2024-05-12 20:37:00 -03:00
fiatjaf
848e76c664 do not notify listeners when a duplicated event is received. 2024-04-26 14:56:50 -03:00
fiatjaf
cd4c25c845 implement NIP-70 ["-"] tag support. 2024-02-13 12:22:15 -03:00
fiatjaf
d721fcdd67 make overwriting and broadcasting work for kind:5 delete events too. 2024-01-18 18:20:24 -03:00
fiatjaf
89ac8f1f1a add clause for websocket close code 4537 because why? 2024-01-05 20:55:24 -03:00
fiatjaf
0f7d26f26e missed from last commit: setting ws.Authed to nil. 2023-12-27 12:55:05 -03:00
fiatjaf
21b08cb044 fix closing of closed ws.Authed channel when client AUTHs twice. 2023-12-27 12:30:23 -03:00
fiatjaf
5b17786273 bring back RequestAuth(ctx), now as a global. 2023-12-25 09:30:13 -03:00
fiatjaf
77600dc05c expose GetSubscriptionID(ctx) 2023-12-25 09:14:09 -03:00
fiatjaf
9f635e4e41 fix writeErr nil pointer. 2023-12-22 22:35:44 -03:00
fiatjaf
9b22ea3ee6 fail properly when a storage function errors and other fixes related to prefixed reason messages. 2023-12-22 19:51:35 -03:00
fiatjaf
7e06629953 superficial tweaks to auth handling. 2023-12-09 14:41:54 -03:00
fiatjaf
3ec0020baa add OnDisconnect() handlers. 2023-12-09 09:00:11 -03:00
fiatjaf
d3a0c545d2 GetIP() and GetOpenSubscriptions() utils. 2023-12-09 08:19:37 -03:00
fiatjaf
c09d21b621 clarity: break->return 2023-12-09 00:14:08 -03:00
fiatjaf
5823515d27 streamlined connection closes on failure.
account for the fact that the time.Ticker channel is
not closed when the ticker is stopped.
2023-12-09 00:00:22 -03:00
fiatjaf
9273a4b809 use a special context for each REQ stored-events handler that can be canceled. 2023-12-08 23:48:30 -03:00
fiatjaf
ddfc9ab64a fun with connection contexts and context cancelations. 2023-12-08 22:51:00 -03:00
fiatjaf
375236cfe2 fix sign on error checking. 2023-12-06 21:32:48 -03:00
fiatjaf
35e801379a make NIP-42 actually work, with inferred ServiceURL if that's not manually set. 2023-12-06 15:03:53 -03:00
fiatjaf
22da06b629 new flow for auth based on "auth-required: " rejection messages. 2023-12-06 12:14:58 -03:00
fiatjaf
ad92d0b051 return CLOSED if any of the filters get rejected. 2023-12-06 11:56:56 -03:00
fiatjaf
3c1b062eb8 include original http.Request in WebSocket struct. 2023-11-29 12:26:04 -03:00
fiatjaf
84d01dc1d3 rename auth-related fields on WebSocket struct. 2023-11-29 12:23:21 -03:00
fiatjaf
386a89676a use go-nostr envelopes and support CLOSED when filters are rejected. 2023-11-28 22:43:06 -03:00
fiatjaf
90697ad3d3 OverwriteRelayInformation 2023-11-27 00:54:45 -03:00
fiatjaf
d608c67791 store websocket object under WS_KEY at the connection context. 2023-11-23 19:36:46 -03:00
fiatjaf
7a221cf9f0 add missing return when checking id. 2023-11-22 17:30:34 -03:00
fiatjaf
2edf754907 cors. 2023-11-20 09:07:52 -03:00
fiatjaf
18e4904a00 check id before signature and do not allow invalid ids. 2023-11-19 16:40:29 -03:00
fiatjaf
591b49fe73 do not log on normal websocket close. 2023-11-19 08:30:06 -03:00
fiatjaf
8fd6436ac8 rework nip11 support to be more transparent. 2023-11-18 10:35:08 -03:00
fiatjaf
d2544d0f4d stop uselessly returning NIPs that are obviously supported on NIP-11 response. 2023-11-18 08:03:32 -03:00