-
Notifications
You must be signed in to change notification settings - Fork 22
/
iris.conf.example
378 lines (288 loc) · 13.1 KB
/
iris.conf.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
# Iris configuration file
#
# This is in a format similar to ini files and similar.
# Lines beginning with # are comments.
#
# Note that some changes to this configuration file require re-running
# compile.py, others require restarting Iris, and some may require both.
# Individual blocks are labeled with their requirements.
#
# Be warned that some settings are, via inclusion in the frontend, exposed
# to users. These blocks are labeled.
# EXECUTION OPTIONS
# These options set parameters to Iris startup and execution.
# They require a backend restart to change.
[execution]
# ARGS: These arguments will be used as if Iris was run directly with
# with them, see run.py --help for a list of options.
# Set empty for no options.
args: -n -p 3989
# SYSLOG ADDR: Used in conjunction with util/syslog.py and -s option.
# This option specifies the address that syslog datagrams will be sent
# to. If enabled, set syslog_port, too.
syslog_addr:
# SYSLOG PORT: Sets the port to send syslog datagrams to, if syslog_addr is set.
syslog_port: 514
# BACKEND IRC CONNECTION OPTIONS
# These options provide the needed information for the backend to connect to
# the IRC server and perform registration.
# They require a backend restart to change.
[irc]
# SERVER: Hostname (or IP address) of IRC server to connect to.
server: irc.myserver.com
# PORT: Port of IRC server to connect to.
port: 6667
# SSL: Use SSL to connect to IRC server or not
ssl: false
# BIND IP: The (local) IP address to bind to for the IRC server connection.
# Leave unset to bind to the first applicable interface.
bind_ip:
# REALNAME: The realname field for clients connecting through the
# webclient.
realname: http://moo.com/
# IDENT: Type of ident to use on IRC, possible values include:
# string: Use a fixed string specified by ident_string.
# hex: Use the user's IP, in hexadecimal.
# nick: Use the user's specified nickname.
ident: string
# IDENT STRING: A fixed string to use as an ident on IRC.
# See ident setting documentation.
ident_string: webchat
# WEBIRC MODE: This option controls how the IP/hostname of the
# connecting browser will be sent to IRC. If set, the IRC server may
# be able to transparently display users of Iris as from their
# original hosts, rather than as coming from the webclient's IP.
# Possible values include:
# webirc: Use WEBIRC type blocks, with an IRCD configuration of
# the following style:
#
# cgiirc: {
# type webirc;
# hostname <qwebirc's ip address>;
# password <password>;
# };
#
# You must set webirc_password to be the same as <password>.
#
# realname: Disables WEBIRC.
# Sends the IP and hostname in the realname field in the format
# <hostname>/<ip> - <normal realname>, convenient for human reading.
#
# <left empty>: Disables WEBIRC.
# Sends the IP in the realname field, overriding the REALNAME option.
webirc_mode:
# WEBIRC PASSWORD: Used for webirc mode "webirc", see webirc_mode option
# documentation.
webirc_password: fish
# ATHEME ENGINE OPTIONS
# These options control communication with Atheme by the Atheme engine backend,
# and in some cases, features enabled in the Atheme frontend.
# They require a backend restart and a rerun of compile.py to update.
[athemeengine]
# XMLRPC PATH: Address of your Atheme directory instance. Allows
# authentication to NickServ ala SASL AUTHCOOKIE.
# If you don't have an Atheme directory instance, leave unset.
# Leave this unset to disable all Atheme integration.
xmlrpc_path: http://127.0.0.1:8080/xmlrpc
# CHAN LIST ENABLED: Whether to permit channel lists to be requested.
# These could be a memory usage concern on large networks (at least if the
# below are set badly). Enables the channel list in the frontend if true.
chan_list_enabled: true
# CHAN LIST MAX AGE: Maximum age of a channel list before a new list will be
# requested and used for all future requests. This is how potentially outdated
# the displayed channel list can be for clients requesting a new list.
# Measured in seconds.
chan_list_max_age: 120
# CHAN LIST COUNT: Number of old channel lists to keep. These permit clients
# showing part of a previous list to explicitly request more of the same list
# until it is expired.
chan_list_count: 3
# FEEDBACK ENGINE OPTIONS
# These options control the feedback system backend, which allows users to
# send feedback directly from Iris, when forwards it via email.
# They require a backend restart to change.
[feedbackengine]
# FEEDBACK FROM: E-mail address that feedback will originate from.
from: moo@moo.com
# FEEDBACK TO: E-mail address that feedback will be sent to.
to: moo@moo.com
# SMTP HOST: Hostname/IP address of SMTP server feedback will be sent
# through.
smtp_host: 127.0.0.1
# SMTP PORT: Port of SMTP server feedback will be sent through.
smtp_port: 25
# FRONTEND OPTIONS
# These alter the general settings and text used within the frontend.
# Many of these are overridable by query string, in which case these settings
# serve as the default when they are not.
# These are exposed to users.
# These require a rerun of compile.py to change.
[frontend]
# BASE URL: URL that this qwebirc instance will be available at, add
# the port number if your instance runs on a port other than 80.
base_url: http://foo.foo.org/
# NETWORK NAME: The name of your IRC network, displayed throughout the
# application.
network_name: FooNet
# APP TITLE: The title of the application in the web browser.
# The title of the application in the web browser.
app_title: %(network_name)s Web IRC
# EXTRA HTML: Additional HTML (e.g. analytics code) to place in the <head> of
# generated documents. Note: For multi-line values, indent all the lines
# after the first with at least one space or tab.
extra_html: <script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '*analytics account number here*']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
# INITIAL NICK: Default initial nickname for the user.
# '.' characters will be replaced by random digits.
# Leave blank to force the user to enter a nick before connecting.
initial_nick:
# INITIAL CHANS: Default channels to join on connect.
# Comma-separate channels, and provide keys after, space-separated.
# Leave blank for to join no channels by default.
initial_chans:
# PROMPT: Whether the user should be prompted to edit their connection details
# before connecting. Ignored if initial_nick or initial_chans are empty.
prompt: true
# CHAN PROMPT: Whether the user should be prompted to edit the default channel
# provided by settings before connecting if prompted for connection details.
# Otherwise, they are only prompted for nick. Ignored if initial_chans is empty.
# Primarily useful as a query string parameter for embedded webclients.
chan_prompt: true
# CHAN AUTOCONNECT: Whether on clicking a channel in the client prior to
# connect, in a channel list or other URLified text, they should be
# automatically connected and joined without any further confirmation if they
# have a nick either provided by settings or typed into a connect window.
# If set false, then the user is simply redirected to the connect window, with
# the channel set in the channel box.
chan_autoconnect: true
# STATIC BASE URL: This value is used to build the URL for all static
# HTTP requests. You'd find this useful if you're running multiple
# Iris instances on the same host.
static_base_url: /
# DYNAMIC BASE URL: This value is used to build the URL for all dynamic
# HTTP requests. You'd find this useful if you're running multiple
# Iris instances on the same host.
dynamic_base_url: /
# ATHEME INTEGRATION OPTIONS
# These options control integration with Atheme in the frontend.
# They require a rerun of compile.py to change.
# These are exposed to end users.
[atheme]
# NICKSERV LOGIN: Enable login to a NickServ account using Iris, before
# connecting. Requires SASL with the AUTHCOOKIE method be loaded in Atheme.
# If an XML-RPC connection isn't available, will fall back to SASL PLAIN.
nickserv_login: true
# CHAN LIST ON START: Open the channel listing automatically when the
# client starts. Requires the channel list be enabled, obviously.
# Always defaults off if any query string parameters are specified; must be
# explicitly set on in the query string to enable.
chan_list_on_start: true
# CHAN LIST CLOUD VIEW: Whether the channel list's cloud view should be the
# default, or it should default to the list view. An option to switch view mode
# is shown regardless.
chan_list_cloud_view: false
# UI OPTIONS
# These alter the way the frontend looks and presents information to the user.
# Many of these can be set by user in their options, in which case these
# settings serve as the default.
# These are exposed to users.
# These require a rerun of compile.py to change.
[ui]
# DEDICATED MSG WINDOW: Whether PMs should be shown in a dedicated window.
dedicated_msg_window: false
# DEDICATED NOTICE WINDOW: Whether notices should be shown in a dedicated
# window.
dedicated_notice_window: false
# HIDE JOINPARTS: Whether joins and parts should be hidden in channels.
hide_joinparts: false
# SIMPLE COLOR: If enabled, hides most colour options, only showing the
# background hue slider. This may be desirable if you consider the colour
# options too complicated. Note that how useful the results of moving this
# single slider are depends on the colour you have set.
simple_color: false
# PRIMARY FOREGROUND COLOR: The base foreground colour for the UI.
# Used for the bulk of the text.
# Provide as a hexadecimal RGB value, without a # at the start.
fg_color: DDDDDD
# SECONDARY FOREGROUND COLOR: The secondary foreground colour for the UI.
# Used for titles and links. If left empty, the same as the primary.
# Provide as a hexadecimal RGB value, without a # at the start.
fg_sec_color: 999999
# BACKGROUND COLOR: The base background colour for the UI.
# Provide as a hexadecimal RGB value, without a # at the start.
bg_color: 111111
# LASTPOS LINE: Whether a "last position" marker should be displayed.
lastpos_line: true
# NICK CLICK QUERY: Whether clicking on a nick in channel queries them.
# If off, it whoises instead.
nick_click_query: false
# NICK COLORS: Whether nicks are coloured by default.
nick_colors: false
# NICK STATUS: Whether to show status symbols before nicknames in channel lines.
nick_status: false
# FLASH ON MENTION: Whether to flash the title for attention when highlighted.
flash_on_mention: false
# BEEP ON MENTION: Whether to beep for attention when highlighted.
# Requires Flash; does nothing if the user lacks it.
beep_on_mention: false
# ADMIN ENGINE OPTIONS
# These options control the admin engine backend.
# They require a backend restart to change.
[adminengine]
# HOSTS: Space-separated list of IP addresses to allow onto the admin
# engine at http://instance/adminengine
hosts: 127.0.0.1
# PROXY OPTIONS
# These options manage trust of proxies between the users and the backend.
# They require a backend restart to change.
[proxy]
# FORWARDED FOR HEADER: If you're using a proxy that passes through a
# forwarded-for header, set this option to the header name, also set
# forwarded_for_ips. Leave empty otherwise.
forwarded_for_header:
# FORWARDED FOR IPS: This option specifies the IP addresses that
# forwarded-for headers will be accepted from as a space-separated
# list. Ignored if forwarded_for_header is empty.
forwarded_for_ips: 127.0.0.1
# BACKEND TUNEABLE VALUES
# You probably don't want to fiddle with these unless you really know what
# you're doing...
# These options require a backend restart to change.
[tuneback]
# UPDATE FREQ: Maximum rate (in seconds) at which updates will be
# propagated to clients
update_freq: 0.5
# MAXBUFLEN: Maximum client AJAX recieve buffer size (in bytes), if
# this buffer size is exceeded then the client will be disconnected.
# This value should match the client sendq size in your ircd's
# configuration.
maxbuflen: 100000
# MAXSUBSCRIPTIONS: Maximum amount of 'subscriptions' to a specific
# AJAX channel, i.e. an IRC connection. In theory with a value greater
# than one you can connect more than one web IRC client to the same
# IRC connection, ala irssi-proxy.
maxsubscriptions: 1
# MAXLINELEN: If the client sends a line greater than maxlinelen (in
# bytes) then they will be disconnected.
# Note that IRC normally silently drops messages >=512 bytes.
maxlinelen: 600
# DNS TIMEOUT: DNS requests that do not respond within dns_timeout
# seconds will be cancelled.
dns_timeout: 5
# HTTP AJAX REQUEST TIMEOUT: Connections made to the AJAX engine are
# closed after this many seconds. Note that this value is intimately
# linked with the client AJAX code at this time, changing it will
# result in bad things happening.
http_ajax_request_timeout: 30
# HTTP REQUEST TIMEOUT: Connections made to everything but the AJAX
# engine will be closed after this many seconds, including connections
# that haven't started/completed an HTTP request.
http_request_timeout: 5