source: code/trunk/doc/soju.1.scd@ 321

Last change on this file since 321 was 321, checked in by contact, 5 years ago

doc: update URL to sr.ht hub in man page

File size: 5.0 KB
RevLine 
[169]1soju(1)
2
3# NAME
4
5soju - IRC bouncer
6
7# SYNOPSIS
8
9*soju* [options...]
10
11# DESCRIPTION
12
13soju is a user-friendly IRC bouncer. It connects to upstream IRC servers on
14behalf of the user to provide extra features.
15
16- Multiple separate users sharing the same bouncer, each with their own
17 upstream servers
18- Clients connecting to multiple upstream servers via a single connection to
19 the bouncer
20- Sending the backlog (messages received while the user was disconnected from
21 the bouncer), with per-client buffers
22
23When joining a channel, the channel will be saved and automatically joined on
24the next connection. When registering or authenticating with NickServ, the
25credentials will be saved and automatically used on the next connection if the
[284]26server supports SASL. When parting a channel with the reason "detach", the
27channel will be detached instead of being left.
[169]28
[214]29When all clients are disconnected from the bouncer, the user is automatically
30marked as away.
31
[169]32soju supports two connection modes:
33
34- Single upstream mode: one downstream connection maps to one upstream
35 connection. To enable this mode, connect to the bouncer with the username
36 "<username>/<network>". If the bouncer isn't connected to the upstream
37 server, it will get automatically added. Then channels can be joined and
38 parted as if you were directly connected to the upstream server.
39- Multiple upstream mode: one downstream connection maps to multiple upstream
40 connections. Channels and nicks are suffixed with the network name. To join
41 a channel, you need to use the suffix too: _/join #channel/network_. Same
42 applies to messages sent to users.
43
[190]44For per-client history to work, clients need to indicate their name. This can
45be done by adding a "@<client>" suffix to the username.
46
[169]47# OPTIONS
48
49*-h, -help*
50 Show help message and quit.
51
52*-config* <path>
[264]53 Path to the config file. If unset, a default config file is used.
[169]54
55*-debug*
56 Enable debug logging (this will leak sensitive information such as
57 passwords).
58
[317]59*-listen* <uri>
60 Listening URI (default: ":6697").
[169]61
62# CONFIG FILE
63
64The config file has one directive per line.
65
[317]66*listen* <uri>
67 Listening URI (default: ":6697").
[169]68
[317]69 The following URIs are supported:
70
71 - _[ircs://][host][:port]_ listens with TLS over TCP (default port if
72 omitted: 6697)
73 - _irc+insecure://[host][:port]_ listens with plain-text over TCP (default
74 port if omitted: 6667)
75
76 If the scheme is omitted, "ircs" is assumed. If multiple *listen*
77 directives are specified, soju will listen on each of them.
78
[169]79*hostname* <name>
80 Server hostname (default: system hostname).
81
82*tls* <cert> <key>
83 Enable TLS support. The certificate and the key files must be PEM-encoded.
84
85*sql* <driver> <source>
[254]86 Set the SQL driver settings. The only supported driver is "sqlite3". The
[264]87 source is the path to the SQLite database file. By default, the path to the
88 database file is "soju.db".
[169]89
[178]90*log* <path>
[264]91 Path to the bouncer logs root directory, or empty to disable logging. By
92 default, logging is disabled.
[178]93
[169]94# IRC SERVICE
95
96soju exposes an IRC service called *BouncerServ* to manage the bouncer.
97Commands can be sent via regular private messages
98(_/msg BouncerServ <command> [args...]_). Commands may be written in full or
99abbreviated form, for instance *network* can be abbreviated as *net* or just
100*n*.
101
102*help* [command]
103 Show a list of commands. If _command_ is specified, show a help message for
104 the command.
105
106*network create* *-addr* <addr> [options...]
[269]107 Connect to a new network at _addr_. _-addr_ is mandatory.
[169]108
[269]109 _addr_ supports several connection types:
[317]110
[269]111 - _[ircs://]host[:port]_ connects with TLS over TCP
[270]112 - _irc+insecure://host[:port]_ connects with plain-text TCP
[269]113
114 Other options are:
115
[169]116 *-name* <name>
117 Short network name. This will be used instead of _addr_ to refer to the
118 network.
119
120 *-username* <username>
121 Connect with the specified username. By default, the nickname is used.
122
123 *-pass* <pass>
124 Connect with the specified server password.
125
126 *-realname* <realname>
127 Connect with the specified real name. By default, the nickname is used.
128
129 *-nick* <nickname>
130 Connect with the specified nickname. By default, the account's username
131 is used.
132
[307]133*certfp generate* *[options...]* <network name>
134 Generate self-signed certificate and use it for authentication.
135
136 Generates RSA-3072 private key by default.
137
138 Options are:
139
140 *-key-type* <type>
141 Private key algoritm to use. Valid values are: rsa, ecdsa, ed25519.
142 ecdsa uses NIST P-521 curve.
143
144 *-bits* <bits>
145 Size of RSA key to generate. Ignored for other key types.
146
147*certfp fingerprint* <network name>
148 Show SHA-1 and SHA-256 fingerprints for the certificate
149 currently used with the network.
150
151*certfp reset* <network name>
152 Disable SASL EXTERNAL authentication and remove stored certificate.
153
[320]154*change-password* <new password>
155 Change current user password.
156
[208]157*network delete* <name>
158 Disconnect and delete a network.
159
[169]160*network status*
161 Show a list of saved networks and their current status.
162
163# AUTHORS
164
165Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
166open-source contributors. For more information about soju development, see
[321]167https://sr.ht/~emersion/soju.
Note: See TracBrowser for help on using the repository browser.