Changeset 823 in code for trunk/doc/suika-config.5
- Timestamp:
- Sep 15, 2023, 4:20:11 AM (21 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/suika-config.5
r817 r823 1 .Dd $Mdocdate$ 2 .Dt SUIKA-CONFIG 5 3 .Os 4 .Sh NAME 5 .Nm suika-config 6 .Nd Configuration file for suika IRC bouncer 7 .Sh DESCRIPTION 1 '\" t 2 .\" Title: suika-config 3 .\" Author: Simon Ser and contributors / Izuru Yakumo 4 .\" Generator: Asciidoctor 2.0.20 5 .\" Date: 2023-09-15 6 .\" Manual: Suika IRC Bouncer 7 .\" Source: SUIKA-CONFIG 8 .\" Language: English 9 .\" 10 .TH "SUIKA\-CONFIG" "5" "2023-09-15" "SUIKA\-CONFIG" "Suika IRC Bouncer" 11 .ie \n(.g .ds Aq \(aq 12 .el .ds Aq ' 13 .ss \n[.ss] 0 14 .nh 15 .ad l 16 .de URL 17 \fI\\$2\fP <\\$1>\\$3 18 .. 19 .als MTO URL 20 .if \n[.g] \{\ 21 . mso www.tmac 22 . am URL 23 . ad l 24 . . 25 . am MTO 26 . ad l 27 . . 28 . LINKSTYLE blue R < > 29 .\} 30 .SH "NAME" 31 suika-config \- Configuration file for suika(1) 32 .SH "DESCRIPTION" 33 .sp 8 34 The config file has one directive per line 9 35 .sp 10 36 Example: 11 37 .sp 12 38 listen ircs:// 13 .Pp14 39 tls cert.pem key.pem 15 .Pp16 40 hostname example.org 17 41 .sp 18 42 The following directives are supported: 19 20 .Bl -tag -width 7n -compact 21 .It listen <uri> 22 Listening URI (default: ":6697") 23 43 .sp 44 .RS 4 45 .ie n \{\ 46 \h'-04'\(bu\h'+03'\c 47 .\} 48 .el \{\ 49 . sp -1 50 . IP \(bu 2.3 51 .\} 52 listen <uri> 53 Listening URI (default ":6697") 54 .RE 55 .sp 24 56 The following URIs are supported: 25 .Bl -tag -width 11n -compact 26 .It ircs://[host]:[port] 27 listens with TLS over TCP 28 .It irc+insecure://[host]:[port] 29 listens with plain-text over TCP 30 .It unix:///<path> 31 listens on a Unix domain socket 32 .It wss://[host]:[port] 33 listens for WebSocket connections over 34 TLS 35 .It ws+insecure://[host]:[port] 36 listens for plain-text WebSocket 37 connections 38 .It ident://[host]:[port] 39 listens for plain-text ident 40 connections 41 .It http+prometheus://[host]:[port] 42 listens for plain-text HTTP 43 connections and serves Prometheus 44 metrics (host must be "localhost") 45 .It http+pprof://[host]:[port] 46 listens for plain-text HTTP 47 connections and serves pprof 48 runtime profiling data 49 (host must be "localhost"). 50 For more information, see: 51 <https://pkg.go.dev/net/http/pprof>. 52 .El 53 54 If the scheme is omitted, "ircs" is assumed. 55 If multiple "listen" directives are specified, 56 suika will listen on each of them. 57 58 .It hostname <name> 57 .sp 58 .RS 4 59 .ie n \{\ 60 \h'-04'\(bu\h'+03'\c 61 .\} 62 .el \{\ 63 . sp -1 64 . IP \(bu 2.3 65 .\} 66 ircs://host:port 67 Listens with TLS over TCP 68 .RE 69 .sp 70 .RS 4 71 .ie n \{\ 72 \h'-04'\(bu\h'+03'\c 73 .\} 74 .el \{\ 75 . sp -1 76 . IP \(bu 2.3 77 .\} 78 irc+insecure://host:port 79 Listens with plain\-text over TCP 80 .RE 81 .sp 82 .RS 4 83 .ie n \{\ 84 \h'-04'\(bu\h'+03'\c 85 .\} 86 .el \{\ 87 . sp -1 88 . IP \(bu 2.3 89 .\} 90 unix:///<path> 91 Listens on a Unix domain socket 92 .RE 93 .sp 94 .RS 4 95 .ie n \{\ 96 \h'-04'\(bu\h'+03'\c 97 .\} 98 .el \{\ 99 . sp -1 100 . IP \(bu 2.3 101 .\} 102 unix+admin:///<path> 103 Listens on a Unix domain socket for use with suikactl(1) 104 .RE 105 .sp 106 .RS 4 107 .ie n \{\ 108 \h'-04'\(bu\h'+03'\c 109 .\} 110 .el \{\ 111 . sp -1 112 . IP \(bu 2.3 113 .\} 114 wss://host:port 115 Listens for WebSocket connections over TLS 116 .RE 117 .sp 118 .RS 4 119 .ie n \{\ 120 \h'-04'\(bu\h'+03'\c 121 .\} 122 .el \{\ 123 . sp -1 124 . IP \(bu 2.3 125 .\} 126 ws+insecure://host:port 127 Listens for plain\-text WebSocket connections 128 .RE 129 .sp 130 .RS 4 131 .ie n \{\ 132 \h'-04'\(bu\h'+03'\c 133 .\} 134 .el \{\ 135 . sp -1 136 . IP \(bu 2.3 137 .\} 138 ident://host:port 139 Listens for plain\-text ident connections 140 .RE 141 .sp 142 .RS 4 143 .ie n \{\ 144 \h'-04'\(bu\h'+03'\c 145 .\} 146 .el \{\ 147 . sp -1 148 . IP \(bu 2.3 149 .\} 150 http+prometheus://host:port 151 Listens for plain\-text HTTP connections and serves Prometheus metrics (host must be "localhost") 152 .RE 153 .sp 154 .RS 4 155 .ie n \{\ 156 \h'-04'\(bu\h'+03'\c 157 .\} 158 .el \{\ 159 . sp -1 160 . IP \(bu 2.3 161 .\} 162 http+pprof://host:port 163 Listens for plain\-text HTTP connections and serves pprof runtime profiling data (host must be "localhost") 164 For more information, see: \c 165 .URL "https://pkg.go.dev/net/http/pprof" "" "." 166 .RE 167 .sp 168 .RS 4 169 .ie n \{\ 170 \h'-04'\(bu\h'+03'\c 171 .\} 172 .el \{\ 173 . sp -1 174 . IP \(bu 2.3 175 .\} 176 hostname <name> 59 177 Server hostname 60 61 .It title <title> 62 Server title. This will be sent as 63 the ISUPPORT NETWORK value when 64 clients don't select a specific 65 network. 66 67 .It tls <cert> <key> 68 Enable TLS support. The certificate 69 and key files must be PEM-encoded. 70 71 .It db <driver> <source> 72 Set the database location for user, 73 network and channel storage. By 74 default, a sqlite3 database is 75 opened in ./suika.db. 76 178 .RE 179 .sp 180 .RS 4 181 .ie n \{\ 182 \h'-04'\(bu\h'+03'\c 183 .\} 184 .el \{\ 185 . sp -1 186 . IP \(bu 2.3 187 .\} 188 title <title> 189 Server title. This will be sent as the ISUPPORT NETWORK value when clients don\(cqt select a specific network. 190 .RE 191 .sp 192 .RS 4 193 .ie n \{\ 194 \h'-04'\(bu\h'+03'\c 195 .\} 196 .el \{\ 197 . sp -1 198 . IP \(bu 2.3 199 .\} 200 tls <cert> <key> 201 Enable TLS support. The certificate and key files must be PEM\-encoded. 202 .RE 203 .sp 204 .RS 4 205 .ie n \{\ 206 \h'-04'\(bu\h'+03'\c 207 .\} 208 .el \{\ 209 . sp -1 210 . IP \(bu 2.3 211 .\} 212 db <driver> <source> 213 Set the database location for user, network and channel storage. 214 By default, a sqlite3 database is opened in ./suika.db. 215 .RE 216 .sp 77 217 Supported drivers: 78 79 .Bl tag -width 7n -compact 80 .It sqlite3 81 expects source to be a path to 82 the SQLite file 83 .It postgres 84 expects source to be a space- 85 separated list of key=value 86 parameters, e.g. db postgres 87 host=/run/postgresql 88 dbname=suika. Note that 89 sslmode defaults to require. 90 For more information on 91 connection strings, see: 92 <https://pkg.go.dev/github.com/lib/pq#hdr-Connection_String_Parameters> 93 .El 94 95 .It log fs <path> 96 Path to the bouncer logs directory, or empty to 97 disable logging. By default, logging is disabled. 98 99 .It http-origin <patterns> 100 List of allowed HTTP origins for WebSocket listeners. 101 The parameters are interpreted as shell patterns, see *glob*(7). 102 103 By default, only the request host is authorized. 104 Use this directive to enable cross-origin WebSockets. 105 106 .It accept-proxy-ip <cidr..> 107 Allow the specified IPs to act as a proxy. Proxys have the ability to 108 overwrite the remote and local connection addresses (via the PROXY protocol, 109 the Forwarded HTTP header field defined in RFC 7239 or the X-Forwarded-\* 110 HTTP header fields). The special name "localhost" accepts the loopback 111 addresses 127.0.0.0/8 and ::1/128. 112 218 * sqlite3: expects source to be a path to the SQLite file 219 * postgres: expects source to be a space\- separated list of key=value parameters, e.g. db postgres host=/run/postgresql dbname=suika. 220 Note that sslmode defaults to require. 221 For more information on connection strings, see: \c 222 .URL "https://pkg.go.dev/github.com/lib/pq#hdr\-Connection_String_Parameters" "" "" 223 .sp 224 .RS 4 225 .ie n \{\ 226 \h'-04'\(bu\h'+03'\c 227 .\} 228 .el \{\ 229 . sp -1 230 . IP \(bu 2.3 231 .\} 232 log fs <path> 233 Path to the bouncer logs directory, or empty to disable logging. 234 By default, logging is disabled. 235 .RE 236 .sp 237 .RS 4 238 .ie n \{\ 239 \h'-04'\(bu\h'+03'\c 240 .\} 241 .el \{\ 242 . sp -1 243 . IP \(bu 2.3 244 .\} 245 http\-origin <patterns> 246 List of allowed HTTP origins for WebSocket listeners. The parameters are interpreted as shell patterns, see glob(3) 247 By default, only the request host is authorized. Use this directive to enable cross\-origin WebSockets. 248 .RE 249 .sp 250 .RS 4 251 .ie n \{\ 252 \h'-04'\(bu\h'+03'\c 253 .\} 254 .el \{\ 255 . sp -1 256 . IP \(bu 2.3 257 .\} 258 accept\-proxy\-ip <cidr..> 259 Allow the specified IPs to act as a proxy. 260 Proxies have the ability to overwrite the remote and local connection addresses (via the PROXY protocol, the Forwarded HTTP header field defined in RFC 7239 or the X\-Forwarded\- HTTP header fields). 261 The special name "localhost" accepts the loopback addresses 127.0.0.0/8 and ::1/128. 113 262 By default, all IPs are rejected. 114 115 .It max-user-networks <limit> 263 .RE 264 .sp 265 .RS 4 266 .ie n \{\ 267 \h'-04'\(bu\h'+03'\c 268 .\} 269 .el \{\ 270 . sp -1 271 . IP \(bu 2.3 272 .\} 273 max\-user\-networks <limit> 116 274 Maximum number of networks per user. By default, there is no limit. 117 118 .It motd <path> 119 Path to the MOTD file. The bouncer MOTD is sent to clients which aren't 120 bound to a specific network. By default, no MOTD is sent. 121 122 .It multi-upstream-mode <true|false> 123 Globally enable or disable multi-upstream mode. 124 By default, multi-upstream mode is enabled. 125 126 .It upstream-user-ip <cidr...> 127 Enable per-user IP addresses. 128 One IPv4 range and/or one IPv6 range can be 129 specified in CIDR notation. 130 One IP address per range will be assigned to 131 each user and will be used as the source address when connecting to an 132 upstream network. 133 134 This can be useful to avoid having the whole bouncer banned from an upstream 135 network because of one malicious user. 136 .El 137 .Sh SEE ALSO 138 .Xr suika 1 139 .Xr suika-bouncerserv 7 140 .Sh AUTHORS 141 .An Simon Ser and contributors Aq https://emersion.fr 142 .An Izuru Yakumo Aq Mt yakumo.izuru@chaotic.ninja 275 .RE 276 .sp 277 .RS 4 278 .ie n \{\ 279 \h'-04'\(bu\h'+03'\c 280 .\} 281 .el \{\ 282 . sp -1 283 . IP \(bu 2.3 284 .\} 285 motd <path> 286 Path to the MOTD file. 287 The bouncer MOTD is sent to clients which aren\(cqt bound to a specific network. 288 By default, no MOTD is sent. 289 .RE 290 .sp 291 .RS 4 292 .ie n \{\ 293 \h'-04'\(bu\h'+03'\c 294 .\} 295 .el \{\ 296 . sp -1 297 . IP \(bu 2.3 298 .\} 299 multi\-upstream\-mode <true|false> 300 Globally enable or disable multi\-upstream mode. 301 By default, multi\-upstream mode is enabled. 302 .RE 303 .sp 304 .RS 4 305 .ie n \{\ 306 \h'-04'\(bu\h'+03'\c 307 .\} 308 .el \{\ 309 . sp -1 310 . IP \(bu 2.3 311 .\} 312 upstream\-user\-ip <cidr...> 313 Enable per\-user IP addresses. 314 One IPv4 range and/or one IPv6 range can be specified in CIDR notation. 315 One IP address per range will be assigned to each user and will be used as the source address when connecting to an upstream network. 316 This can be useful to avoid having the whole bouncer banned from an upstream network because of one malicious user. 317 .RE 318 .SH "SEE ALSO" 319 .sp 320 suika(1) 321 suikadb(1) 322 suika\-znc\-import(1) 323 suika\-bouncerserv(7) 324 .SH "AUTHOR" 325 .sp 326 Simon Ser and contributors / Izuru Yakumo
Note:
See TracChangeset
for help on using the changeset viewer.