0
|
1 .\" |
|
2 .\" Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> |
|
3 .\" |
|
4 .\" Permission to use, copy, modify, and/or distribute this software for any |
|
5 .\" purpose with or without fee is hereby granted, provided that the above |
|
6 .\" copyright notice and this permission notice appear in all copies. |
|
7 .\" |
|
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
|
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
|
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
|
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
|
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
15 .\" |
|
16 .Dd @MONTH@ @DAY@, @YEAR@ |
|
17 .Dt IRCCD.CONF 5 |
|
18 .Os |
|
19 .Sh NAME |
|
20 .Nm irccd.conf |
|
21 .Nd irccd configuration file |
|
22 .Sh DESCRIPTION |
|
23 The file |
|
24 .Nm irccd.conf |
|
25 contains all parameters for the application |
|
26 .Nm irccd . |
|
27 .Pp |
|
28 The irccd.conf file is .ini based syntax, with some extensions. |
|
29 .\" SYNTAX |
|
30 .Sh SYNTAX |
|
31 The usual syntax is: |
|
32 .Bd -literal -offset indent |
|
33 [foo] |
|
34 option = value |
|
35 |
|
36 [bar] |
|
37 name = "long string enclosed between quotes" |
|
38 |
|
39 [lists] |
|
40 servers = ( "server1", "server2" ) |
|
41 .Pp |
|
42 .Ed |
|
43 Comments start with # and continue to the end of the line. |
|
44 .Pp |
|
45 Note that quotes are needed if the value has more that one word, if not the |
|
46 value will be truncated at the first space found. |
|
47 .\" CONFIGURATION |
|
48 .Sh CONFIGURATION |
|
49 This section shows all available sections with the options allowed for them. |
|
50 .\" GENERAL |
|
51 .Ss general |
|
52 This section covers general options. |
|
53 .Pp |
|
54 .Bl -tag -width XXXXXXXXXXXXXXXXXXX -compact |
|
55 .It uid |
|
56 (string or number) the user id to use (Optional, default: none), |
|
57 .It gid |
|
58 (string or number) the group id to use (Optional, default: none), |
|
59 .It foreground |
|
60 (bool) set to true to not daemonize (Optional, default: false) |
|
61 .It pidfile |
|
62 (string) path to a file where to store the irccd pid (Optional, default: none). |
|
63 .El |
|
64 .\" LOGS |
|
65 .Ss logs |
|
66 This section can let you configure how irccd should log the messages. |
|
67 .Pp |
|
68 .Bl -tag -width XXXXXXXXXXXXXXXXXXX -compact |
|
69 .It verbose |
|
70 (bool) be verbose (Optional, default: false), |
|
71 .It type |
|
72 (string) which kind of logging, console, file or syslog (Optional, default: console). |
|
73 .El |
|
74 .Pp |
|
75 The following parameters are available for type "file": |
|
76 .Pp |
|
77 .Bl -tag -width PARAMETERXXX -compact -offset indent |
|
78 .It path-logs |
|
79 (string) path to the normal messages, |
|
80 .It path-errors |
|
81 (string) path to the error messages. |
|
82 .El |
|
83 .\" IDENTITY |
|
84 .Ss identity |
|
85 This section is completely optional, if you don't provide one, irccd will use |
|
86 a default identity with irccd as nickname and username. This section is |
|
87 redefinable, you can create one or more. |
|
88 .Pp |
|
89 .Bl -tag -width XXXXXXXXXXXXXXXXXXX -compact |
|
90 .It name |
|
91 (id) the identity unique id. |
|
92 .It nickname |
|
93 (string) the nickname (Optional, default: irccd). |
|
94 .It realname |
|
95 (string) the realname (Optional, default: IRC Client daemon). |
|
96 .It username |
|
97 (string) the username name (Optional, default: irccd). |
|
98 .It ctcp-version |
|
99 (string) what version to respond to CTCP VERSION (Optional, default: IRC Client Daemon). |
|
100 .It ctcp-autoreply |
|
101 (bool) enable auto CTCP VERSION reply, (Optional, default: true). |
|
102 .El |
|
103 .\" SERVER |
|
104 .Ss server |
|
105 This section is used to connect to one or more server. Thus, this section is also redefinable. |
|
106 .Pp |
|
107 .Bl -tag -width XXXXXXXXXXXXXXXXXXX -compact |
|
108 .It name |
|
109 (id) the unique id. |
|
110 .It host |
|
111 (string) the server address. |
|
112 .It port |
|
113 (int) the server port. |
|
114 .It identity |
|
115 (string) an identity to use (Optional, default: irccd's default). |
|
116 .It password |
|
117 (string) an optional password (Optional, default: none). |
|
118 .It auto-rejoin |
|
119 (bool) auto rejoin a channel after being kicked (Optional, default: false), |
|
120 .It join-invite |
|
121 (bool) join channels upon invitation (Optional, default: false). |
|
122 .It channels |
|
123 (list) list of channels to auto join, (Optional, default: empty). |
|
124 .It command-char |
|
125 (string) the prefix for invoking special commands (Optional, default: !). |
|
126 .It ssl |
|
127 (bool) enable or disable SSL (Optional, default: false). |
|
128 .It ssl-verify |
|
129 (bool) verify the SSL certificates (Optional, default: true). |
|
130 .It reconnect |
|
131 (bool) enable reconnection after failure (Optional, default: true). |
|
132 .It reconnect-tries |
|
133 (int) number of tries before giving up. A value of 0 means indefinitely (Optional, default: 0). |
|
134 .It reconnect-timeout |
|
135 (int) number of seconds to wait before retrying (Optional, default: 30). |
|
136 .El |
|
137 .\" PLUGINS |
|
138 .Ss plugins |
|
139 This section is used to load plugins. |
|
140 .Pp |
|
141 Just add any key you like to load a plugin. If the value is not specified, the plugin is searched through the standard |
|
142 directories, otherwise, provide the full path (including the .js extension). |
|
143 .Pp |
|
144 Example |
|
145 .Bd -literal |
|
146 [plugins] |
|
147 hangman = "" |
|
148 .Ed |
|
149 .\" TRANSPORT |
|
150 .Ss transport |
|
151 This section defines transports, you may use sockets to do a basic IPC system within irccd. |
|
152 .Pp |
|
153 With transports, you can may ask `irccd` to send a message, a notice or even kicking someone from a channel. Irccd |
|
154 will also notify all clients connected to this transport on IRC events. |
|
155 .Pp |
|
156 There are two type of listeners availables: |
|
157 .Bl -enum -offset 2n |
|
158 .It |
|
159 Internet sockets, IPv4 and IPv6 |
|
160 .It |
|
161 Unix sockets, based on files (not available on Windows) |
|
162 .El |
|
163 .Pp |
|
164 .Bl -tag -width XXXXXXXXXXXXXXXXXXX -compact |
|
165 .It |
|
166 (string) type of listener "ip" or "unix" |
|
167 .El |
|
168 .Pp |
|
169 The following parameters are available for type "ip": |
|
170 .Pp |
|
171 .Bl -tag -width PARAMETERXXX -compact -offset indent |
|
172 .It port |
|
173 (int) port number. |
|
174 .It address |
|
175 (string) address to bind or "*" for any (Optional, default: *). |
|
176 .It familty |
|
177 (list) ipv6, ipv4. Both are accepted (Optional, default: ipv4) |
|
178 .El |
|
179 .Pp |
|
180 The following parameters are available for type "unix": |
|
181 .Pp |
|
182 .Bl -tag -width PARAMETERXXX -compact -offset indent |
|
183 .It path |
|
184 (string) the file path to the socket. |
|
185 .El |
|
186 .\" RULE |
|
187 .Ss rule |
|
188 The rule section is one of the most powerful within irccd configuration. |
|
189 .Pp |
|
190 It let you enable or disable plugins and IRC events for specific criterias. For |
|
191 instance, you may want to disable a plugin only for a specific channel on a |
|
192 specific server. And because rules are evaluated in the order they are defined, |
|
193 you can override rules. |
|
194 .Pp |
|
195 .Bl -tag -width XXXXXXXXXXXXXXXXXXX -compact |
|
196 .It servers |
|
197 (list) a list of servers that will match the rule (Optional, default: empty), |
|
198 .It channels |
|
199 (list) a list of channel (Optional, default: empty), |
|
200 .It plugins |
|
201 (list) which plugins (Optional, default: empty), |
|
202 .It events |
|
203 (list) which events (e.g onCommand, onMessage, ...) (Optional, default: empty), |
|
204 .It action |
|
205 (string) set to **accept** or **drop**. |
|
206 .\" FILES |
|
207 .Sh FILES |
|
208 The default config file is located at |
|
209 .Em @CMAKE_INSTALL_PREFIX@/@WITH_ETCDIR@/irccd.conf |
|
210 .Pp |
|
211 The user defined file follow the XDG standard and is usually |
|
212 .Em $HOME/.config/irccd/irccd.conf . |
|
213 If the XDG variable is not set, we use that path. |
|
214 .\" SEE ALSO |
|
215 .Sh SEE ALSO |
|
216 .Xr irccd 1 |
|
217 .\" AUTHORS |
|
218 .Sh AUTHORS |
|
219 irccd was written by David Demelier <markand@malikania.fr> |