Server module refactor; Control module refactor;
[KiwiIRC.git] / config.example.js
CommitLineData
ab15f618
D
1var conf = {};
2
3// Run the Kiwi server under a different user/group
4conf.user = "";
5conf.group = "";
6
7
11dbb00f
D
8// Log file location
9conf.log = "kiwi.log";
10
11
8baf9099
D
12
13/*
14 * Server listen blocks
15 */
16
17// Do not edit this line!
ab15f618
D
18conf.servers = [];
19
8baf9099 20// Example server block
3be87cdd
D
21conf.servers.push({
22 port: 7778,
23 address: "0.0.0.0"
24});
25
ab15f618 26// Example SSL server block
38da7139
D
27//conf.servers.push({
28// port: 7777,
29// address: "0.0.0.0",
30//
31// ssl: true,
32// ssl_key: "server.key",
33// ssl_cert: "cert.pem"
34//});
ab15f618 35
ab15f618 36
8baf9099 37
adefb6bd
D
38// Do we want to enable the built in Identd server?
39conf.identd = {
40 enabled: false,
41 port: 113,
42 address: "0.0.0.0"
43};
44
45
46
8baf9099
D
47
48
49
ab15f618
D
50// Where the client files are
51conf.public_http = "client/";
52
13d7faa3 53// Max connections per connection. 0 to disable
ab15f618
D
54conf.max_client_conns = 5;
55
8838bdd6 56// Max connections per server. 0 to disable.
8ae445ce
JA
57// Setting is ignored if:
58// - There is a WEBIRC password configured for the server,
59// - Kiwi is configured to send the client's ip as a username for the server, or
60// - Kiwi is running in restricted server mode.
8838bdd6
JA
61conf.max_server_conns = 0;
62
d1b3e8b3 63/*
3efb4f33 64* Default encoding to be used by the server
d1b3e8b3 65* As specified and limited to iconv-lite library support.
d1b3e8b3 66*/
3efb4f33 67conf.default_encoding = 'UTF-8';
2eec3842
D
68
69/*
70 * Client side plugins
71 * Array of URLs that will be loaded into the browser when the client first loads up
72 * See http://github.com/prawnsalad/KiwiIRC/wiki/Client-plugins
73 */
74conf.client_plugins = [
75 // "http://server.com/kiwi/plugins/myplugin.html"
76];
77
78
79
ab15f618
D
80// Enabled CAP extensions (See ENTER URL TO CAP INFO HERE PLS)
81conf.cap_options = [];
82
83
84
85
86// Directory to find the server modules
d8002ae0 87conf.module_dir = "../server_modules/";
ab15f618
D
88
89// Which modules to load
991091b7 90conf.modules = [];
ab15f618
D
91
92
93
94
95// WebIRC passwords enabled for this server
96conf.webirc_pass = {
97 //"irc.network.com": "configured_webirc_password",
98 //"127.0.0.1": "foobar"
99};
100
101// Some IRCDs require the clients IP via the username/ident
102conf.ip_as_username = [
86d127f9
PV
103 //"irc.network.com",
104 //"127.0.0.1"
ab15f618
D
105];
106
831b41b0
JA
107// Whether to verify IRC servers' SSL certificates against built-in well-known certificate authorities
108conf.reject_unauthorised_certificates = false;
ab15f618
D
109
110
d99877b8
D
111
112/*
113 * Reverse proxy settings
114 * Reverse proxies that have been reported to work can be found at:
115 * http://github.com/prawnsalad/KiwiIRC/wiki/Running-behind-a-proxy
116 */
76391784 117
d99877b8
D
118// Whitelisted HTTP proxies in CIDR format
119conf.http_proxies = ["127.0.0.1/32"];
c6e3ed44 120
31a18fa4
D
121// Header that contains the real-ip from the HTTP proxy
122conf.http_proxy_ip_header = "x-forwarded-for";
123
d99877b8
D
124// Base HTTP path to the KIWI IRC client (eg. /kiwi)
125conf.http_base_path = "/kiwi";
126
127
ac0b278c 128/*
57c22370 129 * SOCKS (version 5) proxy settings
1515556c
JA
130 * This feature is only available on node 0.10.0 and above.
131 * Do not enable it if you're running 0.8 or below or Bad Things will happen.
ac0b278c
JA
132 */
133conf.socks_proxy = {};
134
135// Enable proxying outbound connections through a SOCKS proxy
136conf.socks_proxy.enabled = false;
137
138// Proxy *all* outbound connections through a SOCKS proxy
139conf.socks_proxy.all = false;
140
141// Use SOCKS proxy for these hosts only (if conf.sock_proxy.all === false)
142conf.socks_proxy.proxy_hosts = [
143 "irc.example.com"
144];
145
146// Host and port for the SOCKS proxy
147conf.socks_proxy.address = '127.0.0.1';
148conf.socks_proxy.port = 1080;
149
150// Username and password for the SOCKS proxy
151// Set user to null to disable password authentication
152conf.socks_proxy.user = null;
153conf.socks_proxy.pass = null;
154
d99877b8
D
155
156// Enabled transports for the browser to use
ab15f618
D
157conf.transports = [
158 "websocket",
159 "flashsocket",
160 "htmlfile",
161 "xhr-polling",
162 "jsonp-polling"
163];
164
d99877b8 165
b65ad8f1 166
ab15f618
D
167
168// Default quit message
1360a454 169conf.quit_message = "http://www.kiwiirc.com/ - A hand-crafted IRC client";
ab15f618
D
170
171
76391784
D
172// Default settings for the client. These may be changed in the browser
173conf.client = {
174 server: 'irc.kiwiirc.com',
175 port: 6697,
176 ssl: true,
177 channel: '#kiwiirc',
1cfc4800
JA
178 nick: 'kiwi_?',
179 settings: {
180 theme: 'relaxed',
181 channel_list_style: 'tabs',
182 scrollback: 250,
183 show_joins_parts: true,
184 show_timestamps: false,
185 mute_sounds: false
186 }
76391784
D
187};
188
189
46f41dfb 190// If set, the client may only connect to this 1 IRC server
93e84f75
D
191//conf.restrict_server = "irc.kiwiirc.com";
192//conf.restrict_server_port = 6667;
193//conf.restrict_server_ssl = false;
194//conf.restrict_server_channel = "#kiwiirc";
195//conf.restrict_server_password = "";
196//conf.restrict_server_nick = "kiwi_";
ab15f618
D
197
198
76391784
D
199
200
ab15f618
D
201/*
202 * Do not ammend the below lines unless you understand the changes!
203 */
813ae69a 204module.exports.production = conf;