]> jfr.im git - irc/quakenet/qwebirc.git/blame_incremental - config.py.example
Merge pull request #402 from retropc/reqs
[irc/quakenet/qwebirc.git] / config.py.example
... / ...
CommitLineData
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.
10
11# The following line is required, don't remove it!
12from qwebirc.config_options import *
13
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: SSLPORT
24# SSL port of IRC server to connect to.
25# If this option is uncommented it will override IRCPORT.
26#SSLPORT = 6697
27
28# OPTION: REALNAME
29# The realname field of IRC clients will be set to this value.
30REALNAME = "http://moo.com/"
31
32# OPTION: IDENT
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
37# IDENT = IDENT_HEX
38# - the literal value IDENT_NICKNAME, this will use the users
39# supplied nickname as their ident.
40IDENT = "webchat"
41
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
50# OPTION: WEBIRC_MODE
51# This option controls how the IP/hostname of the connecting
52# browser will be sent to IRC.
53#
54# Possible values include:
55# - the string "webirc", i.e. WEBIRC_MODE = "webirc"
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>.
67# - the string "cgiirc", i.e. WEBIRC_MODE = "cgiirc"
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.
72# - the literal value None, i.e. WEBIRC_MODE = None
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
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.
93BASE_URL = "http://foo.foo.org/"
94
95# OPTION: NETWORK_NAME
96# The name of your IRC network, displayed throughout the
97# application.
98NETWORK_NAME = "FooNet"
99
100# OPTION: LOGO_URL
101# URL (relative or absolute) to your logo (max height 68 pixels).
102# If not set the default network name will shown in text.
103# Can be set to "" to display the logo box without setting the
104# logo (for use with CUSTOM_CSS)
105#LOGO_URL="images/logo.png"
106
107# OPTION: CUSTOM_CSS
108# Filename of custom css to include.
109# Must be in the css directory.
110#CUSTOM_CSS="mynetwork.css"
111
112# OPTION: ANALYTICS_HTML
113# If you have an analytics service, you can paste the HTML
114# between the triple quotes.
115#ANALYTICS_HTML = """
116#"""
117
118# OPTION: CUSTOM_MENU_ITEMS
119# Adds custom URLs to the top left menu.
120#CUSTOM_MENU_ITEMS = [
121# ["Help!", "http://www.my.help.site.example/"],
122# ["Privacy policy", "http://www.privacy.policy.example/"],
123#]
124
125# OPTION: APP_TITLE
126# The title of the application in the web browser.
127APP_TITLE = NETWORK_NAME + " Web IRC"
128
129# NICKNAME VALIDATION OPTIONS
130# ---------------------------------------------------------------------
131#
132# OPTION: NICKNAME_VALIDATE
133# If True then user nicknames will be validated according to
134# the configuration below, otherwise they will be passed
135# directly to the ircd.
136NICKNAME_VALIDATE = True
137
138# OPTION: NICKNAME_VALID_FIRST_CHAR
139# A string containing valid characters for the first letter of
140# a nickname.
141# Default is as in RFC1459.
142import string
143NICKNAME_VALID_FIRST_CHAR = string.letters + "_[]{}`^\\|"
144
145# OPTION: NICKNAME_VALID_SUBSEQUENT_CHAR
146# A string containing valid characters for the rest of the
147# nickname.
148NICKNAME_VALID_SUBSEQUENT_CHARS = NICKNAME_VALID_FIRST_CHAR + string.digits + "-"
149
150# OPTION: NICKNAME_MINIMUM_LENGTH
151# Minimum characters permitted in a nickname on your network.
152NICKNAME_MINIMUM_LENGTH = 2
153
154# OPTION: NICKNAME_MAXIMUM_LENGTH
155# Maximum characters permitted in a nickname on your network.
156# Ideally we'd extract this from the ircd, but we need to know
157# before we connect.
158NICKNAME_MAXIMUM_LENGTH = 15
159
160# ADMIN ENGINE OPTIONS
161# ---------------------------------------------------------------------
162#
163# OPTION: ADMIN_ENGINE_HOSTS:
164# List of IP addresses to allow onto the admin engine at
165# http://instance/adminengine
166ADMIN_ENGINE_HOSTS = ["127.0.0.1"]
167
168# PROXY OPTIONS
169# ---------------------------------------------------------------------
170#
171# OPTION: FORWARDED_FOR_HEADER
172# If you're using a proxy that passes through a forwarded-for
173# header set this option to the header name, also set
174# FORWARDED_FOR_IPS.
175#FORWARDED_FOR_HEADER="x-forwarded-for"
176
177# OPTION: FORWARDED_FOR_IPS
178# This option specifies the IP addresses that forwarded-for
179# headers will be accepted from.
180#FORWARDED_FOR_IPS=["127.0.0.1"]
181
182# EXECUTION OPTIONS
183# ---------------------------------------------------------------------
184#
185# OPTION: ARGS (optional)
186# These arguments will be used as if qwebirc was run directly
187# with them, see run.py --help for a list of options.
188#ARGS = "-n -p 3989"
189
190# OPTION: SYSLOG_ADDR (optional)
191# Used in conjunction with util/syslog.py and -s option.
192# This option specifies the address and port that syslog
193# datagrams will be sent to.
194#SYSLOG_ADDR = "127.0.0.1", 514
195
196# TUNEABLE VALUES
197# ---------------------------------------------------------------------
198#
199# You probably don't want to fiddle with these unless you really know
200# what you're doing...
201
202# OPTION: UPDATE_FREQ
203# Maximum rate (in seconds) at which updates will be propagated
204# to clients
205UPDATE_FREQ = 0.5
206
207# OPTION: MAXBUFLEN
208# Maximum client AJAX recieve buffer size (in bytes), if this
209# buffer size is exceeded then the client will be disconnected.
210# This value should match the client sendq size in your ircd's
211# configuration.
212MAXBUFLEN = 100000
213
214# OPTION: MAXSUBSCRIPTIONS
215# Maximum amount of 'subscriptions' to a specific AJAX channel,
216# i.e. an IRC connection.
217# In theory with a value greater than one you can connect more
218# than one web IRC client to the same IRC connection, ala
219# irssi-proxy.
220MAXSUBSCRIPTIONS = 1
221
222# OPTION: MAXLINELEN
223# If the client sends a line greater than MAXLINELEN (in bytes)
224# then they will be disconnected.
225# Note that IRC normally silently drops messages >=512 bytes.
226MAXLINELEN = 600
227
228# OPTION: DNS_TIMEOUT
229# DNS requests that do not respond within DNS_TIMEOUT seconds
230# will be cancelled.
231DNS_TIMEOUT = 5
232
233# OPTION: HTTP_AJAX_REQUEST_TIMEOUT
234# Connections made to the AJAX engine are closed after this
235# this many seconds.
236# Note that this value is intimately linked with the client
237# AJAX code at this time, changing it will result in bad
238# things happening.
239HTTP_AJAX_REQUEST_TIMEOUT = 295
240
241# OPTION: HTTP_REQUEST_TIMEOUT
242# Connections made to everything but the AJAX engine will
243# be closed after this many seconds, including connections
244# that haven't started/completed an HTTP request.
245HTTP_REQUEST_TIMEOUT = 5
246
247# OPTION: STATIC_BASE_URL
248# This value is used to build the URL for all static HTTP
249# requests.
250# You'd find this useful if you're running multiple qwebirc
251# instances on the same host.
252STATIC_BASE_URL = ""
253
254# OPTION: DYNAMIC_BASE_URL
255# This value is used to build the URL for all dynamic HTTP
256# requests.
257# You'd find this useful if you're running multiple qwebirc
258# instances on the same host.
259DYNAMIC_BASE_URL = ""
260
261# OPTION: DYNAMIC_CONFIGURATION
262# If True then request configuration from the backend when we
263# initially connect.
264DYNAMIC_CONFIGURATION = False
265
266# OPTION: CONNECTION_RESOLVER
267# A list of (ip, port) tuples of resolvers to use for looking
268# the SRV record(s) used for connecting to the name set in
269# IRC_SERVER.
270# The default value is None, and in this case qwebirc will use
271# the system's default resolver(s).
272CONNECTION_RESOLVER = None
273
274# OPTION: ACCOUNT_WHOIS_COMMAND
275# Command sent when a username is clicked.
276#ACCOUNT_WHOIS_COMMAND = "/msg Q whois #"
277
278# QUAKENET SPECIFIC VALUES
279# ---------------------------------------------------------------------
280#
281# These values are of no interest if you're not QuakeNet.
282# At present they still need to be set, this will change soon.
283#
284# OPTION: HMACKEY
285# Shared key to use with hmac WEBIRC_MODE.
286HMACKEY = "mrmoo"
287
288# OPTION: HMACTEMPORAL
289# Divisor used for modulo HMAC timestamp generation.
290HMACTEMPORAL = 30
291
292# OPTION: AUTHGATEDOMAIN
293# Domain accepted inside authgate tickets.
294AUTHGATEDOMAIN = "webchat_test"
295
296# OPTION: QTICKETKEY
297# Key shared with the authgate that is used to decrypt
298# qtickets.
299QTICKETKEY = "boo"
300
301# OPTION: AUTH_SERVICE
302# Service that auth commands are sent to. Also used to check
303# responses from said service.
304AUTH_SERVICE = "Q!TheQBot@CServe.quakenet.org"
305
306# OPTION: AUTH_OK_REGEX
307# JavaScript regular expression that should match when
308# AUTH_SERVICE has returned an acceptable response to
309# authentication.
310AUTH_OK_REGEX = "^You are now logged in as [^ ]+\\.$"
311
312# OPTION: AUTHGATEPROVIDER
313# Authgate module to use, normally imported directly.
314# dummyauthgate does nothing.
315import dummyauthgate as AUTHGATEPROVIDER