Simon Ser
0edf3a40c2
service: add channel delete command
2022-12-08 16:00:00 +01:00
Sandra Snan
87b2d32682
Be more clear that -connect-command needs quotes
2022-11-28 15:10:39 +01:00
zsrv
926dcb37ac
Make the auto-away functionality configurable
2022-09-26 19:52:07 +02:00
Simon Ser
dde4ee9518
config: drop multi-upstream-mode
2022-09-26 16:57:05 +02:00
Simon Ser
085f5c17a4
doc: drop multi-upstream mode bits
2022-09-26 16:57:05 +02:00
gildarts
0777ca0d29
Add ability for a user to delete themselves
...
Adds user self delete
Adds confirmation of user deletion
2022-07-12 18:14:11 +02:00
Simon Ser
dc0a847240
Add per-user default nickname
...
The soju username is immutable. Add a separate nickname setting so
that users can change their nickname for all networks.
References: https://todo.sr.ht/~emersion/soju/110
2022-07-08 18:01:05 +02:00
Simon Ser
5ef7e07061
contrib/znc-import: move to subdir
...
Go isn't happy when multiple scripts share the same directory.
2022-07-04 15:52:09 +02:00
Simon Ser
71d639699e
Add support for draft/read-marker
...
References: https://github.com/ircv3/ircv3-specifications/pull/489
2022-07-01 13:33:28 +02:00
gildarts
4bc9aaf659
Add detach option to channel update
...
Add `-detached` to `channel update` command
Co-authored-by: Simon Ser <contact@emersion.fr>
Closes: https://todo.sr.ht/~emersion/soju/140
2022-06-24 22:04:12 +02:00
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