source: code/trunk/doc/suika-config.5@ 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: 5.7 KB
Line 
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"
31suika-config \- Configuration file for suika(1)
32.SH "DESCRIPTION"
33.sp
34The config file has one directive per line
35.sp
36Example:
37.sp
38listen ircs://
39tls cert.pem key.pem
40hostname example.org
41.sp
42The following directives are supported:
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.\}
52listen <uri>
53Listening URI (default ":6697")
54.RE
55.sp
56The following URIs are supported:
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.\}
66ircs://host:port
67Listens 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.\}
78irc+insecure://host:port
79Listens 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.\}
90unix:///<path>
91Listens 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.\}
102unix+admin:///<path>
103Listens 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.\}
114wss://host:port
115Listens 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.\}
126ws+insecure://host:port
127Listens 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.\}
138ident://host:port
139Listens 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.\}
150http+prometheus://host:port
151Listens 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.\}
162http+pprof://host:port
163Listens for plain\-text HTTP connections and serves pprof runtime profiling data (host must be "localhost")
164For 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.\}
176hostname <name>
177Server hostname
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.\}
188title <title>
189Server 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.\}
200tls <cert> <key>
201Enable 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.\}
212db <driver> <source>
213Set the database location for user, network and channel storage.
214By default, a sqlite3 database is opened in ./suika.db.
215.RE
216.sp
217Supported drivers:
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.
220Note that sslmode defaults to require.
221For 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.\}
232log fs <path>
233Path to the bouncer logs directory, or empty to disable logging.
234By 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.\}
245http\-origin <patterns>
246List of allowed HTTP origins for WebSocket listeners. The parameters are interpreted as shell patterns, see glob(3)
247By 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.\}
258accept\-proxy\-ip <cidr..>
259Allow the specified IPs to act as a proxy.
260Proxies 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).
261The special name "localhost" accepts the loopback addresses 127.0.0.0/8 and ::1/128.
262By default, all IPs are rejected.
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.\}
273max\-user\-networks <limit>
274Maximum number of networks per user. By default, there is no limit.
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.\}
285motd <path>
286Path to the MOTD file.
287The bouncer MOTD is sent to clients which aren\(cqt bound to a specific network.
288By 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.\}
299multi\-upstream\-mode <true|false>
300Globally enable or disable multi\-upstream mode.
301By 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.\}
312upstream\-user\-ip <cidr...>
313Enable per\-user IP addresses.
314One IPv4 range and/or one IPv6 range can be specified in CIDR notation.
315One IP address per range will be assigned to each user and will be used as the source address when connecting to an upstream network.
316This 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
320suika(1)
321suikadb(1)
322suika\-znc\-import(1)
323suika\-bouncerserv(7)
324.SH "AUTHOR"
325.sp
326Simon Ser and contributors / Izuru Yakumo
Note: See TracBrowser for help on using the repository browser.