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