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

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

Add support for bouncer logs

Add bouncer logs, in a network/channel/date.log format, in a similar
manner to ZNC log module. PRIVMSG, JOIN, PART, QUIT, MODE are logged.

Add a config directive for the logs file, including a way to disable
them entirely.

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