Greg Heartsfield
9e22776227
refactor: whitespace
2023-07-03 10:35:51 -05:00
thesimplekid
ddc58a2f1c
feat: config sending dms on pay to relay signup
2023-07-03 09:51:28 -05:00
Greg Heartsfield
4647476622
improvement: default to logging on stdout
2023-06-23 10:34:25 -05:00
Jamin M
f4beb884b3
feat: allow logging output to file
2023-06-23 10:02:49 -05:00
Greg Heartsfield
eba7a32615
perf: reduce SQLite connection count and idle lifetime
...
On lightly loaded relays, we free up memory faster by letting idle
connections be reclaimed in 10 seconds instead of the default 10
minutes. This also sets the minimum to zero connections, instead of
always trying to hold one open.
2023-05-07 19:38:18 -05:00
Greg Heartsfield
993fec4eed
improvement: document pg connection_write config
2023-04-30 10:10:06 -05:00
rorp
8e4e2d824b
feat(NIP-42): limit access to kind 4 DMs
2023-03-03 09:04:35 -06:00
Greg Heartsfield
5508020777
improvement: configure pay-to-relay defaults and comment block
2023-02-25 15:53:32 -06:00
Greg Heartsfield
43021910ea
improvement: disable pay-to-relay by default
2023-02-25 15:41:30 -06:00
thesimplekid
c0158af18b
feat(NIP-111): pay to relay (experimental)
2023-02-25 15:38:26 -06:00
Greg Heartsfield
96359aafab
docs: better example of kinds for allowlist
2023-02-25 14:05:11 -06:00
Mike White
5414629298
feat: add event kind allowlist
2023-02-25 14:00:01 -06:00
Greg Heartsfield
3229e4192f
feat: publish favicon.ico
2023-02-16 18:03:28 -06:00
rorp
5cecfba319
feat(NIP-42): pubkey authentication
...
Configurable in `config.toml`. Limited functionality, but this does
send metadata to gRPC for event authorization.
fixes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/66
2023-02-15 18:51:40 -06:00
Greg Heartsfield
46160bb1f9
fix: correct name of gRPC configuration in toml
2023-02-13 17:30:26 -06:00
Greg Heartsfield
a16c4e698a
feat: gRPC authorization for events
...
closes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/46
2023-02-11 13:26:08 -06:00
Greg Heartsfield
ac14a0759f
docs: clarify wording around subscription limits
2023-02-03 13:08:31 -06:00
Greg Heartsfield
facaed7805
improvement: guidance for subscription limits
2023-02-01 18:09:30 -06:00
Greg Heartsfield
57e1b53c13
feat: postgres migration schema v2
...
This primarily deals with correctly handling tag values.
2023-01-27 20:13:47 -06:00
Kieran
16f6e974c8
feat: add support for PostgreSQL as a backend repository
2023-01-22 16:26:54 -06:00
Greg Heartsfield
e996d4c009
improvement: default to having a event creation rate limit (5/sec)
2023-01-20 11:10:43 -06:00
Greg Heartsfield
585fdd3884
fix: use data_dir from config.toml if present
...
fixes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/64
2023-01-16 17:21:12 -06:00
Greg Heartsfield
0db6487ce3
fix: allow tokio tracing to be enabled
...
fixes https://github.com/scsibug/nostr-rs-relay/issues/48
2023-01-14 09:47:23 -06:00
0xtr
7774db8c47
feat: add event kind blacklist
...
Adds a list to the config where you can specify which event kinds to blacklist.
The blacklist check will run right after verifying that the pubkey is allowed
to post events to the relay.
2022-12-27 17:10:34 -06:00
Greg Heartsfield
0b51675b38
improvement: change suggestion and default for max sqlite DB readers
2022-12-25 11:17:08 -06:00
Greg Heartsfield
b24d2f9aaa
perf: set default blocking threads to lower value
2022-12-18 12:20:57 -06:00
Greg Heartsfield
d10348f7e1
feat: configurable blocking threads
2022-12-18 09:14:04 -06:00
Greg Heartsfield
8598e443d8
wip: add configuration for future feature (client concurrent db limits)
2022-12-17 23:19:48 -06:00
Greg Heartsfield
0d8d39ad22
feat: add rate limiting setting for subscription creation
2022-12-17 09:27:29 -06:00
William Casarin
50577b2dfa
feat: add network.ping_interval setting
...
Add a ping interval setting that allows you to customize the websocket
ping interval. The default of 5 minutes may be too high for some proxy
servers that disconnect connections that are held open for too long.
2022-11-05 07:40:28 -05:00
Greg Heartsfield
ae5bf98d87
feat: retrieve client IP from header in config.toml
...
If the config.toml has defined a HTTP header to look for a remote IP,
that will be logged. Otherwise, the socket address IP will be used.
closes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/47
2022-11-04 18:05:01 -05:00
Greg Heartsfield
4fa8616c73
feat: enable use of tokio-console with diagnostics.tracing setting
...
View real-time tokio diagnostics by setting the configuration option
"diagnostics.tracing" to true.
2022-09-11 12:44:45 -05:00
Greg Heartsfield
72f1c19b21
feat(NIP-22): advertise support for event created_at limits
...
The `reject_future_limits` option can now be disabled, and is by
default.
NIP-11 advertises support for created_at limits.
The message for future-dated events has been modified, to be closer to
the recommended example in the NIP.
2022-09-10 20:40:10 -05:00
Greg Heartsfield
e48bae10e6
feat: support in-memory SQLite database
2022-09-06 06:06:01 -05:00
Greg Heartsfield
34ad549cde
fix: update event buffer size comment in config
2022-02-20 11:46:24 -06:00
Greg Heartsfield
b593001229
fix: remove setting from example config
2022-02-13 09:37:05 -06:00
Greg Heartsfield
5913b9f87a
feat: send notices when authorization checks fail
2022-02-13 09:35:54 -06:00
Greg Heartsfield
234a8ba0ac
feat: limit event publishing to NIP-05 verified users
...
This adds a new configurable feature to restrict event publishing to
only users with NIP-05 verified metadata. Domains can be whitelisted
or blacklisted. Verification expiration and schedules are
configurable.
This upgrades the database to add a table for tracking verification
records.
2022-02-12 09:29:25 -06:00
Greg Heartsfield
98c6fa6f39
feat: allow whitelisting of pubkeys for new events
...
This adds a configuration option, `authorization.pubkey_whitelist`
which is an array of pubkeys that are allowed to publish events on
this relay.
2022-01-26 21:39:03 -06:00
Greg Heartsfield
f1206e76f2
feat: database reader connection pooling
...
Added connection pooling for queries, as well as basic configuration
options for min/max connections.
2022-01-25 20:39:24 -06:00
Greg Heartsfield
030b64de62
feat: replace email with contact field in relay info.
...
This finalizes the NIP-11 spec implementation.
Fixes https://todo.sr.ht/~gheartsfield/nostr-rs-relay/21 .
2022-01-16 08:34:19 -06:00
Greg Heartsfield
2924da88bc
feat: incorporated improvements from NIP-11 discussion
...
Change descr to description. Add `id` for websocket URL. Use
integers for supported NIPs instead of strings. Top-level is object,
instead of the array before.
2022-01-03 22:03:30 -05:00
Greg Heartsfield
d3da4eb009
feat: implementation of proposed NIP-11 (server metadata)
2022-01-03 18:42:24 -05:00
Greg Heartsfield
4171a8870e
feat: reject events that are too large
...
A new configuration setting controls the maximum size of event
messages, and sends a notice to the client if they exceed it.
Fixes https://todo.sr.ht/~gheartsfield/nostr-rs-relay/14
2021-12-31 15:19:35 -06:00
Greg Heartsfield
8f3891c781
docs: docker and config updates
2021-12-31 14:08:04 -06:00
Greg Heartsfield
5a19a8876f
feat: allow database directory configuration
...
Adds configuration options for database directory, either on command
line through (--db dir-name) or the config.toml file.
Fixes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/13
2021-12-31 11:51:57 -06:00
Greg Heartsfield
20ee5a054c
feat: rate limit event creation
...
A configuration option, `messages_per_sec`, imposes a global limit on
the rate for which new events can be stored.
Fixes https://todo.sr.ht/~gheartsfield/nostr-rs-relay/6
2021-12-30 21:07:21 -06:00