]> jfr.im git - irc/quakenet/qwebirc.git/blame - config.py.example
Split up about.html lines.
[irc/quakenet/qwebirc.git] / config.py.example
CommitLineData
b8357cf5
CP
1# qwebirc configuration file
2#
3# This a Python program that is imported, so feel free to use any
4# Python here!
5#
6# Note that some changes to this configuration file require re-running
7# compile.py and others require restarting qwebirc (and some require
8# both!)
9# If in doubt always re-compile and restart.
1435dd92 10
930be88a
CP
11# The following line is required, don't remove it!
12from qwebirc.config_options import *
13
b8357cf5
CP
14# IRC OPTIONS
15# ---------------------------------------------------------------------
16#
17# OPTION: IRCSERVER
18# Hostname (or IP address) of IRC server to connect to.
19# OPTION: IRCPORT
20# Port of IRC server to connect to.
21IRCSERVER, IRCPORT = "irc.myserver.com", 6667
22
bf568ed8
CP
23# OPTION: SSLPORT
24# SSL port of IRC server to connect to.
25# If this option is uncommented it will override IRCPORT.
26#SSLPORT = 6697
27
b8357cf5
CP
28# OPTION: REALNAME
29# The realname field of IRC clients will be set to this value.
4094890f 30REALNAME = "http://moo.com/"
9a2bf266 31
b8357cf5 32# OPTION: IDENT
930be88a
CP
33# ident to use on irc, possible values include:
34# - a string, e.g. IDENT = "webchat"
35# - the literal value IDENT_HEX, this will set the ident to the
36# a hexadecimal version of the users IP address, e.g
dd21c156 37# IDENT = IDENT_HEX
930be88a
CP
38# - the literal value IDENT_NICKNAME, this will use the users
39# supplied nickname as their ident.
b8357cf5
CP
40IDENT = "webchat"
41
dc8d270f
CP
42# OPTION: OUTGOING_IP
43# The IP address to bind to when connecting to the IRC server.
44#
45# This will not change the IP address that qwebirc listens on.
46# You will need to call run.py with the --ip/-i option if you
47# want that.
48#OUTGOING_IP = "127.0.0.1"
49
b8357cf5 50# OPTION: WEBIRC_MODE
de4380a1
CP
51# This option controls how the IP/hostname of the connecting
52# browser will be sent to IRC.
b8357cf5
CP
53#
54# Possible values include:
f5f8d5e0 55# - the string "webirc", i.e. WEBIRC_MODE = "webirc"
efd064c5
CP
56# Use WEBIRC type blocks, with a server configuration of
57# the following style:
58#
59# cgiirc {
60# type webirc;
61# hostname <qwebirc's ip address>;
62# password <password>;
63# };
64#
65# Remember to set the WEBIRC_PASSWORD value to be the
66# same as <password>.
f5f8d5e0 67# - the string "cgiirc", i.e. WEBIRC_MODE = "cgiirc"
b8357cf5
CP
68# old style CGIIRC command, set CGIIRC_STRING to be the
69# command used to set the ip/hostname, and set
70# WEBIRC_PASSWORD to be the password used in the server's
71# configuration file.
f5f8d5e0 72# - the literal value None, i.e. WEBIRC_MODE = None
b8357cf5
CP
73# Send the IP and hostname in the realname field, overrides
74# the REALNAME option.
75WEBIRC_MODE = None
76
77# OPTION: WEBIRC_PASSWORD
78# Used for WEBIRC_MODE webirc and cgiirc, see WEBIRC_MODE
79# option documentation.
80#WEBIRC_PASSWORD = "fish"
81
82# OPTION: CGIIRC_STRING
83# Command sent to IRC server in for cgiirc WEBIRC_MODE.
84# See WEBIRC_MODE option documentation.
85#CGIIRC_STRING = "CGIIRC"
86
87# UI OPTIONS
88# ---------------------------------------------------------------------
89#
90# OPTION: BASE_URL
de4380a1
CP
91# URL that this qwebirc instance will be available at, add the
92# port number if your instance runs on a port other than 80.
2dfab0e1
CP
93BASE_URL = "http://foo.foo.org/"
94
b8357cf5
CP
95# OPTION: NETWORK_NAME
96# The name of your IRC network, displayed throughout the
97# application.
98NETWORK_NAME = "FooNet"
99
d47f88d9
CP
100# OPTION: ANALYTICS_HTML
101# If you have an analytics service, you can paste the HTML
102# between the triple quotes.
103#ANALYTICS_HTML = """
104#"""
105
b8357cf5
CP
106# OPTION: APP_TITLE
107# The title of the application in the web browser.
108APP_TITLE = NETWORK_NAME + " Web IRC"
109
cc608160
CP
110# NICKNAME VALIDATION OPTIONS
111# ---------------------------------------------------------------------
112#
113# OPTION: NICKNAME_VALIDATE
114# If True then user nicknames will be validated according to
115# the configuration below, otherwise they will be passed
116# directly to the ircd.
117NICKNAME_VALIDATE = True
118
119# OPTION: NICKNAME_VALID_FIRST_CHAR
120# A string containing valid characters for the first letter of
121# a nickname.
122# Default is as in RFC1459.
123import string
124NICKNAME_VALID_FIRST_CHAR = string.letters + "_[]{}`^\\|"
125
126# OPTION: NICKNAME_VALID_SUBSEQUENT_CHAR
127# A string containing valid characters for the rest of the
128# nickname.
129NICKNAME_VALID_SUBSEQUENT_CHARS = NICKNAME_VALID_FIRST_CHAR + string.digits + "-"
130
131# OPTION: NICKNAME_MINIMUM_LENGTH
132# Minimum characters permitted in a nickname on your network.
133NICKNAME_MINIMUM_LENGTH = 2
134
135# OPTION: NICKNAME_MAXIMUM_LENGTH
136# Maximum characters permitted in a nickname on your network.
137# Ideally we'd extract this from the ircd, but we need to know
138# before we connect.
139NICKNAME_MAXIMUM_LENGTH = 15
b8357cf5
CP
140
141# FEEDBACK OPTIONS
142# ---------------------------------------------------------------------
143#
144# These options control the feedback module, which allows users to
145# send feedback directly from qwebirc (via email).
146#
147# OPTION: FEEDBACK_FROM
148# E-mail address that feedback will originate from.
391f51ff 149FEEDBACK_FROM = "moo@moo.com"
b8357cf5
CP
150
151# OPTION: FEEDBACK_TO:
152# E-mail address that feedback will be sent to.
391f51ff 153FEEDBACK_TO = "moo@moo.com"
b8357cf5
CP
154
155# OPTION: FEEDBACK_SMTP_HOST
156# Hostname/IP address of SMTP server feedback will be sent
157# through.
158# OPTION: FEEDBACK_SMTP_PORT
159# Port of SMTP server feedback will be sent through.
160FEEDBACK_SMTP_HOST, FEEDBACK_SMTP_PORT = "127.0.0.1", 25
161
162# ADMIN ENGINE OPTIONS
163# ---------------------------------------------------------------------
164#
165# OPTION: ADMIN_ENGINE_HOSTS:
166# List of IP addresses to allow onto the admin engine at
167# http://instance/adminengine
85f01e3f 168ADMIN_ENGINE_HOSTS = ["127.0.0.1"]
9a2bf266 169
23f85e9b
CP
170# PROXY OPTIONS
171# ---------------------------------------------------------------------
172#
173# OPTION: FORWARDED_FOR_HEADER
174# If you're using a proxy that passes through a forwarded-for
175# header set this option to the header name, also set
176# FORWARDED_FOR_IPS.
177#FORWARDED_FOR_HEADER="x-forwarded-for"
178
179# OPTION: FORWARDED_FOR_IPS
180# This option specifies the IP addresses that forwarded-for
181# headers will be accepted from.
182#FORWARDED_FOR_IPS=["127.0.0.1"]
183
b8357cf5
CP
184# EXECUTION OPTIONS
185# ---------------------------------------------------------------------
186#
187# OPTION: ARGS (optional)
188# These arguments will be used as if qwebirc was run directly
189# with them, see run.py --help for a list of options.
190#ARGS = "-n -p 3989"
191
39cf79cc
CP
192# OPTION: SYSLOG_ADDR (optional)
193# Used in conjunction with util/syslog.py and -s option.
194# This option specifies the address and port that syslog
195# datagrams will be sent to.
196#SYSLOG_ADDR = "127.0.0.1", 514
197
b8357cf5
CP
198# TUNEABLE VALUES
199# ---------------------------------------------------------------------
200#
201# You probably don't want to fiddle with these unless you really know
202# what you're doing...
203
204# OPTION: UPDATE_FREQ
205# Maximum rate (in seconds) at which updates will be propagated
206# to clients
207UPDATE_FREQ = 0.5
208
209# OPTION: MAXBUFLEN
210# Maximum client AJAX recieve buffer size (in bytes), if this
211# buffer size is exceeded then the client will be disconnected.
de4380a1
CP
212# This value should match the client sendq size in your ircd's
213# configuration.
214MAXBUFLEN = 100000
b8357cf5
CP
215
216# OPTION: MAXSUBSCRIPTIONS
217# Maximum amount of 'subscriptions' to a specific AJAX channel,
218# i.e. an IRC connection.
219# In theory with a value greater than one you can connect more
220# than one web IRC client to the same IRC connection, ala
221# irssi-proxy.
222MAXSUBSCRIPTIONS = 1
223
224# OPTION: MAXLINELEN
225# If the client sends a line greater than MAXLINELEN (in bytes)
226# then they will be disconnected.
de4380a1 227# Note that IRC normally silently drops messages >=512 bytes.
b8357cf5 228MAXLINELEN = 600
348574ee 229
b8357cf5
CP
230# OPTION: DNS_TIMEOUT
231# DNS requests that do not respond within DNS_TIMEOUT seconds
00cc5cd5 232# will be cancelled.
28c4ad01 233DNS_TIMEOUT = 5
b5c84380 234
b8357cf5
CP
235# OPTION: HTTP_AJAX_REQUEST_TIMEOUT
236# Connections made to the AJAX engine are closed after this
237# this many seconds.
238# Note that this value is intimately linked with the client
239# AJAX code at this time, changing it will result in bad
240# things happening.
1bccb3e6 241HTTP_AJAX_REQUEST_TIMEOUT = 295
b8357cf5
CP
242
243# OPTION: HTTP_REQUEST_TIMEOUT
244# Connections made to everything but the AJAX engine will
245# be closed after this many seconds, including connections
246# that haven't started/completed an HTTP request.
247HTTP_REQUEST_TIMEOUT = 5
b5c84380 248
fbe5af77
CP
249# OPTION: STATIC_BASE_URL
250# This value is used to build the URL for all static HTTP
251# requests.
252# You'd find this useful if you're running multiple qwebirc
253# instances on the same host.
254STATIC_BASE_URL = ""
255
256# OPTION: DYNAMIC_BASE_URL
257# This value is used to build the URL for all dynamic HTTP
258# requests.
259# You'd find this useful if you're running multiple qwebirc
260# instances on the same host.
261DYNAMIC_BASE_URL = ""
262
b60ea11d 263# OPTION: CONNECTION_RESOLVER
f6c5443a
CP
264# A list of (ip, port) tuples of resolvers to use for looking
265# the SRV record(s) used for connecting to the name set in
266# IRC_SERVER.
267# The default value is None, and in this case qwebirc will use
268# the system's default resolver(s).
b60ea11d
CP
269CONNECTION_RESOLVER = None
270
355dbcb7
CP
271# OPTION: HELP_URL
272# Shown to the user if they type /HELP or click on the Help!
273# option in the user interface.
274HELP_URL = ""
275
b8357cf5
CP
276# QUAKENET SPECIFIC VALUES
277# ---------------------------------------------------------------------
278#
279# These values are of no interest if you're not QuakeNet.
280# At present they still need to be set, this will change soon.
281#
282# OPTION: HMACKEY
283# Shared key to use with hmac WEBIRC_MODE.
9a2bf266 284HMACKEY = "mrmoo"
b8357cf5
CP
285
286# OPTION: HMACTEMPORAL
287# Divisor used for modulo HMAC timestamp generation.
9a2bf266 288HMACTEMPORAL = 30
b5c84380 289
b8357cf5
CP
290# OPTION: AUTHGATEDOMAIN
291# Domain accepted inside authgate tickets.
9a2bf266 292AUTHGATEDOMAIN = "webchat_test"
b8357cf5
CP
293
294# OPTION: QTICKETKEY
295# Key shared with the authgate that is used to decrypt
296# qtickets.
9a2bf266 297QTICKETKEY = "boo"
b8357cf5
CP
298
299# OPTION: AUTH_SERVICE
300# Service that auth commands are sent to. Also used to check
301# responses from said service.
348574ee 302AUTH_SERVICE = "Q!TheQBot@CServe.quakenet.org"
b8357cf5
CP
303
304# OPTION: AUTH_OK_REGEX
305# JavaScript regular expression that should match when
306# AUTH_SERVICE has returned an acceptable response to
307# authentication.
348574ee 308AUTH_OK_REGEX = "^You are now logged in as [^ ]+\\.$"
b8357cf5
CP
309
310# OPTION: AUTHGATEPROVIDER
311# Authgate module to use, normally imported directly.
312# dummyauthgate does nothing.
313import dummyauthgate as AUTHGATEPROVIDER