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

Last change on this file since 269 was 269, checked in by delthas, 5 years ago

Add support for IRC address schemes

This is preparatory work for adding other connection types to upstream
servers. The service command network create now accepts a scheme in
the address flag, which specifies how to connect to the upstream server.

The only supported scheme for now is ircs, which is also the default if
no scheme is specified. ircs connects to a network over a TLS TCP
connection.

File size: 3.9 KB
Line 
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
26server supports SASL.
27
28When all clients are disconnected from the bouncer, the user is automatically
29marked as away.
30
31soju supports two connection modes:
32
33- Single upstream mode: one downstream connection maps to one upstream
34 connection. To enable this mode, connect to the bouncer with the username
35 "<username>/<network>". If the bouncer isn't connected to the upstream
36 server, it will get automatically added. Then channels can be joined and
37 parted as if you were directly connected to the upstream server.
38- Multiple upstream mode: one downstream connection maps to multiple upstream
39 connections. Channels and nicks are suffixed with the network name. To join
40 a channel, you need to use the suffix too: _/join #channel/network_. Same
41 applies to messages sent to users.
42
43For per-client history to work, clients need to indicate their name. This can
44be done by adding a "@<client>" suffix to the username.
45
46# OPTIONS
47
48*-h, -help*
49 Show help message and quit.
50
51*-config* <path>
52 Path to the config file. If unset, a default config file is used.
53
54*-debug*
55 Enable debug logging (this will leak sensitive information such as
56 passwords).
57
58*-listen* <address>
59 Listening address (default: ":6667").
60
61# CONFIG FILE
62
63The config file has one directive per line.
64
65*listen* <address>
66 Listening address (default: ":6667").
67
68*hostname* <name>
69 Server hostname (default: system hostname).
70
71*tls* <cert> <key>
72 Enable TLS support. The certificate and the key files must be PEM-encoded.
73
74*sql* <driver> <source>
75 Set the SQL driver settings. The only supported driver is "sqlite3". The
76 source is the path to the SQLite database file. By default, the path to the
77 database file is "soju.db".
78
79*log* <path>
80 Path to the bouncer logs root directory, or empty to disable logging. By
81 default, logging is disabled.
82
83# IRC SERVICE
84
85soju exposes an IRC service called *BouncerServ* to manage the bouncer.
86Commands can be sent via regular private messages
87(_/msg BouncerServ <command> [args...]_). Commands may be written in full or
88abbreviated form, for instance *network* can be abbreviated as *net* or just
89*n*.
90
91*help* [command]
92 Show a list of commands. If _command_ is specified, show a help message for
93 the command.
94
95*network create* *-addr* <addr> [options...]
96 Connect to a new network at _addr_. _-addr_ is mandatory.
97
98 _addr_ supports several connection types:
99 - _[ircs://]host[:port]_ connects with TLS over TCP
100
101 Other options are:
102
103 *-name* <name>
104 Short network name. This will be used instead of _addr_ to refer to the
105 network.
106
107 *-username* <username>
108 Connect with the specified username. By default, the nickname is used.
109
110 *-pass* <pass>
111 Connect with the specified server password.
112
113 *-realname* <realname>
114 Connect with the specified real name. By default, the nickname is used.
115
116 *-nick* <nickname>
117 Connect with the specified nickname. By default, the account's username
118 is used.
119
120*network delete* <name>
121 Disconnect and delete a network.
122
123*network status*
124 Show a list of saved networks and their current status.
125
126# AUTHORS
127
128Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
129open-source contributors. For more information about soju development, see
130https://git.sr.ht/~emersion/soju.
Note: See TracBrowser for help on using the repository browser.