Simon Ser
3863b8cb6b
Add webpush extension
...
References: https://github.com/ircv3/ircv3-specifications/pull/471
Co-authored-by: delthas <delthas@dille.cc>
2022-06-14 16:16:12 +02:00
Simon Ser
22b235602b
Add soju.im/account-required
...
References: https://github.com/ircv3/ircv3-specifications/pull/492
2022-06-04 10:52:28 +02:00
Simon Ser
e2e232fa9c
config: add message-store memory
...
The old way to do this was `message-store fs ""`, which is
misleading.
2022-05-09 16:59:27 +02:00
Simon Ser
80ed0d2a6c
Rename "log" config directive to "message-store"
...
This is more explicit and removes the ambiguity with error logging.
2022-05-09 16:41:41 +02:00
Brett Cornwall
9d188a7cb6
doc/getting-started: Fix simple misspelling.
2022-05-05 18:53:15 +02:00
Simon Ser
23f94a5c6e
doc/ext/bouncer-networks: remove BOUNCER BIND auth restriction
...
We now stash the network ID until connection registration completes.
2022-05-03 09:32:21 +02:00
Simon Ser
48ec515120
doc/ext/bouncer-networks: specify how attributes are cleared in notifications
...
We send an "error" attribute without a value to clear it, for instance.
2022-05-01 19:37:36 +02:00
delthas
683cfe0615
Add support for the SEARCH extension
2022-04-12 17:58:16 +02:00
delthas
f7a468194d
bouncer-networks: Add a read-only error attribute
...
This is useful for clients to display additional info abotu why a
network is disconnected.
2022-04-11 08:38:31 +02:00
Simon Ser
17374f2094
doc/getting-started: ask to install soju
...
This might seem obvious but… let's add a short sentence just in
case.
2022-04-06 15:58:16 +02:00
Simon Ser
3d8022d030
doc/getting-started: mention TLS and on-disk logs
2022-03-26 18:42:34 +01:00
Simon Ser
ad8192cb82
doc/getting-started: add paragraph about client names
2022-03-26 18:22:33 +01:00
Simon Ser
18bb3e6138
doc: split off multi-upstream documentation
...
Multi-upstream mode is confusing for new users. Let's explain how
it works in a separate file.
2022-03-24 19:16:43 +01:00
Simon Ser
43371bf347
Add the soju.im/no-implicit-names extension
...
References: https://github.com/ircv3/ircv3-ideas/issues/87
2022-03-22 21:03:20 +01:00
Simon Ser
86f08ec35d
doc/soju.1: fix syntax error
2022-03-21 16:11:11 +01:00
delthas
2ac9bd9c94
Require an explicit *
network suffix for multi-upstream
...
Most users will connect to their server with `<username>` as their
username in order to configure their upstreams.
Multi-upstream can be unintuitive to them and should not be enabled on
that first connection that is usually used for upstream configuration.
Multi-upstream is instead a power-user feature that should be explicitly
enabled with a specific network suffix.
We reserve the network suffix `*` and use it a special case to mean that
it requests multi-upstream mode.
2022-03-21 09:56:20 +01:00
Simon Ser
5feae506d4
doc/soju.1: recommend using a FQDN for the hostname
2022-03-15 23:01:08 +01:00
Simon Ser
e5ec93179c
doc/ext: add README
...
All authors have acknowledged the dual license.
The second license is the same as the one used by the IRCv3 working
group.
2022-03-04 10:36:41 +01:00
Simon Ser
7e20c27332
doc: move read spec to ext/
2022-02-11 19:49:21 +01:00
delthas
cae248f672
Add support for the wip soju.im/read capability and READ command
...
READ lets downstream clients share information between each other about
what messages have been read by other downstreams.
Each target/entity has an optional corresponding read receipt, which is
stored as a timestamp.
- When a downstream sends:
READ #chan timestamp=2020-01-01T01:23:45.000Z
the read receipt for that target is set to that date
- soju sends READ to downstreams:
- on JOIN, if the client uses the soju.im/read capability
- when the read receipt timestamp is set by any downstream
The read receipt date is clamped by the previous receipt date and the
current time.
2022-02-11 19:41:46 +01:00
Simon Ser
3f91cfb8c3
service: make name arg optional for network commands
...
Makes commands less verbose.
2022-02-07 21:33:16 +01:00
Simon Ser
57715d8ce2
service: switch to -network flag for certfp and sasl commands
...
Instead of always requiring users to explicitly specify the network
name, guess it from the downstream connection.
Network commands are left as-is because it's not yet clear how to
handle them.
2022-02-04 16:47:34 +01:00
Simon Ser
43c440e600
Add "sasl status" command
2021-12-01 11:03:27 +01:00
Simon Ser
e42b507377
doc/soju.1: add network create
example
2021-11-30 09:26:07 +01:00
Simon Ser
98af48d254
doc/per-user-ip: new documentation article
2021-11-17 18:04:14 +01:00
Simon Ser
d722f56000
Add pprof HTTP server
...
This enables production debugging of the bouncer.
Closes: https://todo.sr.ht/~emersion/soju/155
2021-11-17 16:18:52 +01:00
Simon Ser
8f8d7aab0e
Add basic Prometheus metrics exporter
...
This only exports the default metrics for now.
References: https://todo.sr.ht/~emersion/soju/142
2021-11-17 15:58:18 +01:00
Simon Ser
55840312b4
Add per-user IP addresses
...
The new upstream-user-ip directive allows bouncer operators to
assign one IP address per user.
2021-11-17 15:07:58 +01:00
Simon Ser
3941f67380
Add config option to globally disable multi-upstream mode
...
Closes: https://todo.sr.ht/~emersion/soju/122
2021-11-17 11:41:11 +01:00
Simon Ser
73295e4fa7
Allow most config options to be reloaded
...
Closes: https://todo.sr.ht/~emersion/soju/42
2021-11-16 00:38:04 +01:00
Simon Ser
07c962018d
Add title config option
...
Closes: https://todo.sr.ht/~emersion/soju/146
2021-11-02 22:38:07 +01:00
Simon Ser
a9a066faac
Add bouncer MOTD
...
Closes: https://todo.sr.ht/~emersion/soju/137
2021-10-13 10:58:34 +02:00
Simon Ser
c8aba6286f
doc.soju.1: fix typo and improve formatting for "certfp generate"
2021-10-12 21:34:25 +02:00
Simon Ser
8ef2de196d
doc/soju.1: add descriptions for all flags for "user create"
2021-10-12 21:31:12 +02:00
Simon Ser
96f8751e3d
doc/soju.1: use angle-brackets for URL
...
Helps a bit terminal emulators to recognize the link.
2021-10-12 21:27:48 +02:00
Simon Ser
4e9ddf78ab
service: allow updating other users
2021-10-12 09:11:14 +02:00
Hubert Hirtz
6e06663615
PostgreSQL support
2021-10-11 15:21:04 +02:00
Simon Ser
5a2d6246ec
Add "server notice" command
2021-10-08 10:52:03 +02:00
Simon Ser
94dbfff11d
Add max-user-networks config option
2021-10-07 20:43:10 +02:00
Simon Ser
9f021ba9a9
doc/soju.1: mention that accept-proxy-ip affects PROXY proto
2021-10-07 20:04:20 +02:00
Simon Ser
f93616fb41
Add "server status" command
...
Right now, it prints the number of active users and number of
downstream connections.
2021-10-05 19:13:53 +02:00
delthas
896caebfcf
service: Introduce network quote
...
This command enables sending a raw line to a specific network.
2021-07-07 10:34:46 +02:00
Simon Ser
00538e7028
doc/soju.1: improve "user create" docs
2021-06-28 16:55:49 +02:00
Simon Ser
09b04792b9
Merge "change-password" into "user update"
...
Add a -password flag to the "user update" command.
2021-06-28 16:55:44 +02:00
Simon Ser
a14f646135
Add per-user realname setting
...
This allows users to set a default realname used if the per-network
realname isn't set.
A new "user update" command is introduced and can be extended to edit
other user properties and other users in the future.
2021-06-25 20:33:13 +02:00
Simon Ser
089608409e
doc/soju.1: document bouncer-wide broadcasts
2021-06-23 19:30:47 +02:00
Simon Ser
520ed76adf
doc/soju.1: explain http-origin defaults
2021-06-11 10:26:22 +02:00
Simon Ser
95ae92860f
doc/ext/bouncer-networks: fix typo
2021-05-29 13:18:06 +02:00
Simon Ser
7d648f702e
Allow networks to be disabled
2021-05-26 10:51:02 +02:00
Simon Ser
d9a40addf7
doc/getting-started: s/Freenode/Libera Chat/
2021-05-26 08:39:06 +02:00