1 # qwebirc configuration file
3 # This a Python program that is imported, so feel free to use any
6 # Note that some changes to this configuration file require re-running
7 # compile.py and others require restarting qwebirc (and some require
9 # If in doubt always re-compile and restart.
11 # The following line is required, don't remove it!
12 from qwebirc.config_options import *
15 # ---------------------------------------------------------------------
18 # Hostname (or IP address) of IRC server to connect to.
20 # Port of IRC server to connect to.
21 IRCSERVER, IRCPORT = "irc.myserver.com", 6667
24 # The realname field of IRC clients will be set to this value.
25 REALNAME = "http://moo.com/"
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
33 # - the literal value IDENT_NICKNAME, this will use the users
34 # supplied nickname as their ident.
38 # The IP address to bind to when connecting to the IRC server.
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
43 #OUTGOING_IP = "127.0.0.1"
46 # This option controls how the IP/hostname of the connecting
47 # browser will be sent to IRC.
49 # Possible values include:
50 # - the string "webirc", i.e. WEBIRC_MODE = "webirc"
51 # Use WEBIRC type blocks, with a server configuration of
52 # the following style:
56 # hostname <qwebirc's ip address>;
57 # password <password>;
60 # Remember to set the WEBIRC_PASSWORD value to be the
62 # - the string "cgiirc", i.e. WEBIRC_MODE = "cgiirc"
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
67 # - the literal value None, i.e. WEBIRC_MODE = None
68 # Send the IP and hostname in the realname field, overrides
69 # the REALNAME option.
72 # OPTION: WEBIRC_PASSWORD
73 # Used for WEBIRC_MODE webirc and cgiirc, see WEBIRC_MODE
74 # option documentation.
75 #WEBIRC_PASSWORD = "fish"
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"
83 # ---------------------------------------------------------------------
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.
88 BASE_URL = "http://foo.foo.org/"
90 # OPTION: NETWORK_NAME
91 # The name of your IRC network, displayed throughout the
93 NETWORK_NAME = "FooNet"
96 # The title of the application in the web browser.
97 APP_TITLE = NETWORK_NAME + " Web IRC"
99 # NICKNAME VALIDATION OPTIONS
100 # ---------------------------------------------------------------------
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.
106 NICKNAME_VALIDATE = True
108 # OPTION: NICKNAME_VALID_FIRST_CHAR
109 # A string containing valid characters for the first letter of
111 # Default is as in RFC1459.
113 NICKNAME_VALID_FIRST_CHAR = string.letters + "_[]{}`^\\|"
115 # OPTION: NICKNAME_VALID_SUBSEQUENT_CHAR
116 # A string containing valid characters for the rest of the
118 NICKNAME_VALID_SUBSEQUENT_CHARS = NICKNAME_VALID_FIRST_CHAR + string.digits + "-"
120 # OPTION: NICKNAME_MINIMUM_LENGTH
121 # Minimum characters permitted in a nickname on your network.
122 NICKNAME_MINIMUM_LENGTH = 2
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
128 NICKNAME_MAXIMUM_LENGTH = 15
131 # ---------------------------------------------------------------------
133 # These options control the feedback module, which allows users to
134 # send feedback directly from qwebirc (via email).
136 # OPTION: FEEDBACK_FROM
137 # E-mail address that feedback will originate from.
138 FEEDBACK_FROM = "moo@moo.com"
140 # OPTION: FEEDBACK_TO:
141 # E-mail address that feedback will be sent to.
142 FEEDBACK_TO = "moo@moo.com"
144 # OPTION: FEEDBACK_SMTP_HOST
145 # Hostname/IP address of SMTP server feedback will be sent
147 # OPTION: FEEDBACK_SMTP_PORT
148 # Port of SMTP server feedback will be sent through.
149 FEEDBACK_SMTP_HOST, FEEDBACK_SMTP_PORT = "127.0.0.1", 25
151 # ADMIN ENGINE OPTIONS
152 # ---------------------------------------------------------------------
154 # OPTION: ADMIN_ENGINE_HOSTS:
155 # List of IP addresses to allow onto the admin engine at
156 # http://instance/adminengine
157 ADMIN_ENGINE_HOSTS = ["127.0.0.1"]
160 # ---------------------------------------------------------------------
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
166 #FORWARDED_FOR_HEADER="x-forwarded-for"
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"]
174 # ---------------------------------------------------------------------
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.
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
188 # ---------------------------------------------------------------------
190 # You probably don't want to fiddle with these unless you really know
191 # what you're doing...
193 # OPTION: UPDATE_FREQ
194 # Maximum rate (in seconds) at which updates will be propagated
199 # Maximum client AJAX recieve buffer size (in bytes), if this
200 # buffer size is exceeded then the client will be disconnected.
201 # This value should match the client sendq size in your ircd's
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
214 # If the client sends a line greater than MAXLINELEN (in bytes)
215 # then they will be disconnected.
216 # Note that IRC normally silently drops messages >=512 bytes.
219 # OPTION: DNS_TIMEOUT
220 # DNS requests that do not respond within DNS_TIMEOUT seconds
224 # OPTION: HTTP_AJAX_REQUEST_TIMEOUT
225 # Connections made to the AJAX engine are closed after this
227 # Note that this value is intimately linked with the client
228 # AJAX code at this time, changing it will result in bad
230 HTTP_AJAX_REQUEST_TIMEOUT = 30
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.
236 HTTP_REQUEST_TIMEOUT = 5
238 # OPTION: STATIC_BASE_URL
239 # This value is used to build the URL for all static HTTP
241 # You'd find this useful if you're running multiple qwebirc
242 # instances on the same host.
245 # OPTION: DYNAMIC_BASE_URL
246 # This value is used to build the URL for all dynamic HTTP
248 # You'd find this useful if you're running multiple qwebirc
249 # instances on the same host.
250 DYNAMIC_BASE_URL = ""
252 # OPTION: CONNECTION_RESOLVER
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
256 # The default value is None, and in this case qwebirc will use
257 # the system's default resolver(s).
258 CONNECTION_RESOLVER = None
260 # QUAKENET SPECIFIC VALUES
261 # ---------------------------------------------------------------------
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.
267 # Shared key to use with hmac WEBIRC_MODE.
270 # OPTION: HMACTEMPORAL
271 # Divisor used for modulo HMAC timestamp generation.
274 # OPTION: AUTHGATEDOMAIN
275 # Domain accepted inside authgate tickets.
276 AUTHGATEDOMAIN = "webchat_test"
279 # Key shared with the authgate that is used to decrypt
283 # OPTION: AUTH_SERVICE
284 # Service that auth commands are sent to. Also used to check
285 # responses from said service.
286 AUTH_SERVICE = "Q!TheQBot@CServe.quakenet.org"
288 # OPTION: AUTH_OK_REGEX
289 # JavaScript regular expression that should match when
290 # AUTH_SERVICE has returned an acceptable response to
292 AUTH_OK_REGEX = "^You are now logged in as [^ ]+\\.$"
294 # OPTION: AUTHGATEPROVIDER
295 # Authgate module to use, normally imported directly.
296 # dummyauthgate does nothing.
297 import dummyauthgate as AUTHGATEPROVIDER