source: code/trunk/doc/suika-config.adoc@ 823

Last change on this file since 823 was 823, checked in by yakumo.izuru, 21 months ago

Use asciidoctor for generating manpages.
Rename suikactl to suikadb.

Signed-off-by: Izuru Yakumo <yakumo.izuru@…>

File size: 3.5 KB
RevLine 
[823]1= suika-config(5)
2Simon Ser and contributors / Izuru Yakumo
3v0.4.3
4
5:doctype: manpage
6:manmanual: Suika IRC Bouncer
7:mansource: SUIKA-CONFIG
8
9== Name
10suika-config - Configuration file for suika(1)
11
12== Description
13The config file has one directive per line
14
15Example:
16
17listen ircs://
18tls cert.pem key.pem
19hostname example.org
20
21The following directives are supported:
22
23* listen <uri>
24Listening URI (default ":6697")
25
26The following URIs are supported:
27
28* ircs://host:port
29Listens with TLS over TCP
30* irc+insecure://host:port
31Listens with plain-text over TCP
32* unix:///<path>
33Listens on a Unix domain socket
34* unix+admin:///<path>
35Listens on a Unix domain socket for use with suikactl(1)
36* wss://host:port
37Listens for WebSocket connections over TLS
38* ws+insecure://host:port
39Listens for plain-text WebSocket connections
40* ident://host:port
41Listens for plain-text ident connections
42* http+prometheus://host:port
43Listens for plain-text HTTP connections and serves Prometheus metrics (host must be "localhost")
44* http+pprof://host:port
45Listens for plain-text HTTP connections and serves pprof runtime profiling data (host must be "localhost")
46For more information, see: https://pkg.go.dev/net/http/pprof.
47
48--
49
50* hostname <name>
51Server hostname
52* title <title>
53Server title. This will be sent as the ISUPPORT NETWORK value when clients don't select a specific network.
54* tls <cert> <key>
55Enable TLS support. The certificate and key files must be PEM-encoded.
56* db <driver> <source>
57Set the database location for user, network and channel storage.
58By default, a sqlite3 database is opened in ./suika.db.
59
60Supported drivers:
61* sqlite3: expects source to be a path to the SQLite file
62* postgres: expects source to be a space- separated list of key=value parameters, e.g. db postgres host=/run/postgresql dbname=suika.
63Note that sslmode defaults to require.
64For more information on connection strings, see: https://pkg.go.dev/github.com/lib/pq#hdr-Connection_String_Parameters
65
66--
67
68* log fs <path>
69Path to the bouncer logs directory, or empty to disable logging.
70By default, logging is disabled.
71
72* http-origin <patterns>
73List of allowed HTTP origins for WebSocket listeners. The parameters are interpreted as shell patterns, see glob(3)
74By default, only the request host is authorized. Use this directive to enable cross-origin WebSockets.
75
76* accept-proxy-ip <cidr..>
77Allow the specified IPs to act as a proxy.
78Proxies 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).
79The special name "localhost" accepts the loopback addresses 127.0.0.0/8 and ::1/128.
80By default, all IPs are rejected.
81
82* max-user-networks <limit>
83Maximum number of networks per user. By default, there is no limit.
84
85* motd <path>
86Path to the MOTD file.
87The bouncer MOTD is sent to clients which aren't bound to a specific network.
88By default, no MOTD is sent.
89
90* multi-upstream-mode <true|false>
91Globally enable or disable multi-upstream mode.
92By default, multi-upstream mode is enabled.
93
94* upstream-user-ip <cidr...>
95Enable per-user IP addresses.
96One IPv4 range and/or one IPv6 range can be specified in CIDR notation.
97One IP address per range will be assigned to each user and will be used as the source address when connecting to an upstream network.
98This can be useful to avoid having the whole bouncer banned from an upstream network because of one malicious user.
99
100== See Also
101suika(1)
102suikadb(1)
103suika-znc-import(1)
104suika-bouncerserv(7)
Note: See TracBrowser for help on using the repository browser.