Made failure to bind() a fatal error.
[privoxy.git] / config
1 #  Sample Configuration file for the Internet Junkbuster 2.0
2
3 #
4 # $Id: config,v 1.2 2001/05/17 22:37:46 oes Exp $
5 #
6
7 #  Table of Contents
8 #
9 #       1. INTRODUCTION
10 #       2. FORMAT OF THE CONFIGURATION FILE
11 #       3. OTHER CONFIGURATION FILES
12 #       4. GENERAL OPTIONS
13 #       5. WINDOWS GUI OPTIONS
14 #
15 #  1. INTRODUCTION
16 #
17 #  This file holds the Junkbuster configuration.  If you modify this
18 #  file, you will need to stop & restart Junkbuster, or use the
19 #  "Reload Config" option (Windows) before any changes take effect.
20 #
21 #  When starting Junkbuster on Unix systems, give the name of this
22 #  file as an argument.  On Windows systems, Junkbuster will look for
23 #  this file with the name 'junkbustr.txt' in the same directory where
24 #  Junkbuster is installed.
25 #
26 #  2. FORMAT OF THE CONFIGURATION FILE
27 #
28 #  Configuration lines consist of an initial keyword followed by a list
29 #  of values, all separated by whitespace (any number of spaces or
30 #  tabs).  For example,
31 #
32 #  blockfile blocklist.ini
33 #
34 #  Indicates that the blockfile is named 'blocklist.ini'.
35 #
36 #  The '#' indicates a comment.  Any part of a line following a # is
37 #  ignored. 
38 #
39 #  Thus, by placing a # at the start of an existing configuration line,
40 #  you can make it a comment and it will be treated as if it weren't there. 
41 #  This is called "commenting out" an option and can be useful to turn
42 #  off features: If you comment out the "logfile" line, junkbuster will
43 #  not log at all. Watch for the "default:" section in each explanation
44 #  to see what happens if the option is left unset (or commented out). 
45 #  
46
47 #
48 #  3. OTHER CONFIGURATION FILES
49 #
50 #  Junkbuster uses a number of other files to tell it what ads to
51 #  block, what cookies to accept, etc.  This section of the
52 #  configuration file tells Junkbuster where to find all those other
53 #  files.
54 #
55 #  On Windows, Junkbuster looks for these files in the same
56 #  directory as the executable.  On Unix, Junkbuster looks for these
57 #  files in the current working directory.  In either case, an
58 #  absolute path name can be used to avoid problems.
59
60 #
61 #  The blockfile contains regular expressions, one per line, of URLs
62 #  to be blocked by Junkbuster.
63 #
64 #  Default: Don't block anything.
65 #
66 blockfile   ./blocklist
67
68 #
69 #  The imagefile contains regular expressions, one per line, of URLs
70 #  to be blocked as images by Junkbuster, regardless of whether they
71 #  look like image URLs or not.
72 #
73 #  Default: Block all URLs as HTML requests.
74 #
75 imagefile   ./imagelist 
76
77 #
78 #  The permissions file contains patterns to specify the
79 #  cookie and filtering rules to apply to each site.
80 #
81 #  Default: Cookies to and from all destinations are filtered.
82 #           Popups are disabled for all sites.
83 #           All sites are filtered if re_filterfile specified.
84 #
85 permissionsfile ./permissionsfile
86
87 #
88 #  The re_filterfile contains content modification rules.  These rules
89 #  permit powerful changes on the content of Web pages, e.g., you
90 #  could disable your favourite JavaScript annoyances, rewrite the
91 #  actual content, or just have some fun replacing "Microsoft"
92 #  with "Microsuck" wherever it appears on a Web page.
93 #
94 #  Default: No content modification.
95 #
96 re_filterfile   ./re_filterfile
97
98 #
99 #  The logfile is where all logging and error messages are written.
100 #  The logfile can be useful for tracking down a problem with
101 #  Junkbuster (e.g., it's not blocking an ad you think it should
102 #  block) but in most cases you probably will never look at it.
103 #
104 #  If you do not use 'log-buffer-size'/'log-max-lines' (see below)
105 #  your logfile will grow indefinitely, and you will probably want to
106 #  periodically remove it.  On Unix systems, you can do this with a
107 #  cron job (see 'man cron').
108 #
109 #  On SuSE Linux systems, you can place a line like
110 #  "/var/log/junkbuster.* +1024k 644 nobody.nogroup" in /etc/logfiles,
111 #  with the effect that cron.daily will automatically archive, gzip,
112 #  and empty the log, when it exceeds 1M size.
113 #
114 #  Default: Log to the standard error channel, not to a file
115 #
116 logfile      ./junkbuster.log
117
118 #
119 #  The jarfile defines where Junkbuster stores the cookies it
120 #  intercepts.  Note that if you use a jarfile, it may grow quite
121 #  large. 
122 #
123 #  Default: Don't store intercepted cookies
124 #
125 #jarfile     ./jarfile
126
127 #
128 #  The forwardfile defines domain-specific forwarding of HTTP
129 #  requests.  In some cases, you may want Junkbuster to forward your
130 #  request to another proxy instead of trying to fetch the request
131 #  itself.  In those cases, you can use the forwardfile to indicate
132 #  which requests should be forwarded and to where.
133 #
134 #  Default: Make all connections directly.
135 #
136 forwardfile   ./forward
137
138 #
139 #  Generally, Junkbuster is used as a personal proxy.  The default
140 #  behaviour of Junkbuster is to listen on port 8000 on the "loopback"
141 #  interface, so that it will only listen to local requests from the
142 #  same machine.  Using 'listen-address' (see below) you can serve
143 #  requests from other machines as well.
144 #
145 #  In that case, it is a wise thing to define access control lists
146 #  (acls), which state who can connect to your proxy and what service
147 #  they will be given. Note that setting the listen-address to an IP
148 #  address that is only internally reachable from your local network
149 #  might already do the trick.
150 #
151 #  Default: No access control. Everybody that can reach junkbuster
152 #           will be served.
153 #
154 #aclfile   ./aclfile
155
156 #
157 #  4. OPTIONS
158 #
159 #  This part of the configuration file contains options that control
160 #  how Junkbuster operates.
161 #
162
163 #
164 #  If 'add-forwarded-header' is set, an "X-Forwarded-For:"
165 #  specification will be added to each request header.  Generally,
166 #  this is not needed and will reduce your privacy, as the server
167 #  will not only see which proxy the request came through, but also
168 #  which machine behind that proxy the request originally came from.
169 #
170 #  Default: Don't add the "X-Forwarded-For:" header.
171 #
172 #add-forwarded-header
173
174 #
175 #  Junkbuster can add "wafers", i.e. fake cookies, to each request
176 #  header it sends out.
177 #  These wafers can be seen by Web site operators in their log files,
178 #  so it's a way for you to communicate (very indirectly!) with
179 #  them. Junkbuster will add as many wafers as you like to each
180 #  request, just list them all here.  Here's an example:
181 #
182 #     wafer    NOTE=Like most people, I want my browsing to be anonymous.
183 #     wafer    WARNING=Please do not attempt to track me.
184 #
185 #  Wafers make each request larger and will have a (small) impact on
186 #  your browsing speed, so you probably don't want to do this unless
187 #  you have a particular need.
188 #
189 #  Default: Don't add a wafer
190 #
191 #wafer NOTE=Add your wafer here...
192
193 #
194 # There's also a pre-defined wafer containing a privacy message,
195 # called the vanilla wafer, which is sent by default. Setting
196 # suppress-vanilla-wafer suppresses this. You guessed that, didn't you?
197 #
198 # Default: Send the vanilla wafer
199 #
200 suppress-vanilla-wafer
201
202 #
203 #  In fact, Junkbuster can add anything at all to the request headers.
204 #  You can specify the headers to add with the add-header option.  For
205 #  example: 
206 #
207 #     add-header  Forwarded: by http://stay-out-of-my-backyard.net
208 #
209 #  Generally, random headers will simply be ignored by the Web site,
210 #  so there's little use in adding them.  However, there are some
211 #  cases where you might want to add a header, e.g., if you're
212 #  forwarding Junkbuster requests to another proxy you might want to
213 #  add:
214 #
215 #     add-header    Proxy-Connection: Keep-Alive
216
217 #  to every request.
218 #
219 #add-header My-Header: Whatever you'd like...
220
221 #
222 #  Listen-address specifies the address and port where Junkbuster will
223 #  listen for connections from your Web browser.  The default is to
224 #  listen on the local host on port 8000, and this is suitable for
225 #  most users.  (In your web browser, under proxy configuration, list
226 #  the proxy server as 'localhost' and the port as '8000').
227
228 #  If you already have another service running on port 8000, or if you
229 #  want to serve requests from other machines (e.g. on your local
230 #  network) as well, you will need to override the default. The syntax
231 #  is "listen-address [<ip-address>]:<port>" If you leave out the ip
232 #  adress, junkbuster will bind to all interfaces (addresses) on your
233 #  machine and may become reachable from the internet. In that case,
234 #  consider using access control lists (acl's) (see "aclfile" above).
235 #
236 #  For example, suppose you are running Junkbuster on a machine which
237 #  has the address 192.168.0.1 on your local private network
238 #  (192.168.0.0) and has another outside connection with a different
239 #  address. You want it to serve requests from inside only:
240 #
241 #     listen-address 192.168.0.1:8000
242 #
243 #  If you want it to listen on all addresses (including the outside
244 #  connection):
245 #
246 #     listen-address :8000
247 #
248 #  If you do this, consider using acls (see "aclfile" above).
249 #
250 #  Note: you will need to point your browser(s) to the address
251 #  and port that you have configured here.
252 #
253 #  Default:  listen-address    localhost:8000 
254 #            listen-address    127.0.0.1:8000
255 #
256
257 #
258 #  When your Web browser makes a request from a Web site, it informs
259 #  the Web site what sort of browser it is, e.g., "Internet Explorer
260 #  V2.0" or some such.  In theory, Web sites can use this information
261 #  to tailor themselves for your browser.
262 #
263 #  The 'user-agent' option controls whether Junkbuster will conceal
264 #  your browser type or not.  If user-agent is set to . (period) the
265 #  User-Agent header is passed to the server unchanged, along with any
266 #  UA headers produced by MS-IE (which would otherwise be deleted). If
267 #  user-agent is set to @ (at) these headers are sent unchanged in
268 #  cases where the cookiefile specifies that a cookie would be sent,
269 #  otherwise only a default User-Agent header is sent. That default is
270 #  Mozilla/3.0 (Netscape) with an unremarkable Linux configuration. 
271 #  If left unset, the default header is always sent.
272 #
273 #  Note that if you choose to mislead Web sites about your browser
274 #  type, you may get Web pages that confuse your browser or display
275 #  incorrectly.  In most cases, it's probably fine to send your real
276 #  browser type.
277 #
278 #  Default: Always send the (forged) default user agent header
279 #
280 user-agent    .
281
282 #
283 #  When your Web browser requests a page from a Web site, it also
284 #  informs the Web site where it came from, i.e., when you click
285 #  through to a new web page, your browser tells the new web site the
286 #  URL of the old web page.  This is called the "Referer" header.
287 #
288 #  Junkbuster has the ability to mask the Referer header.  Referer
289 #  headers can be used to track users as they browse around the web,
290 #  and many consider them invasive.  Junkbuster provides several
291 #  options for dealing with referer headers:
292 #
293 #       VALUE       EFFECT
294 #       =====       ======
295 #       default     Kill the referrer-header from the client.
296 #       .           Pass the referrer unchanged.
297 #       @           Pass the referrer if the server is in the cookie file,
298 #                   kill the referrer otherwise.
299 #       L           Pass the referrer if the server is in the cookie file,
300 #                   send a forged referrer that points to the
301 #                   root-directory URL of the current request otherwise.
302 #       'text'      Always send <text> as the referrer.
303 #
304 #  L is probably preferable to @, because it will break fewer Web
305 #  sites while still concealing your browsing path.
306 #
307 #  Default: see above
308 #
309 referer     L
310
311 #
312 #  Some browsers provide a "From:" header that gives Web sites your
313 #  email address.  The only real effect of this is to make you a
314 #  target for unsolicited email (spam).  There are three options
315 #  what to do with the "From:" header if it is present:
316
317 #       VALUE       EFFECT
318 #       =====       ======
319 #       default     Kill every "From:" header
320 #       .           Pass the "From:" header unchanged
321 #       'text'      replace the email address in the "From:" header with 'text'
322 #
323 #  Default: see above
324 #
325 #from   spam-me-senseless@sittingduck.xqq
326
327 #
328 #  The 'tinygif' option lets you change how Junkbuster treats blocked
329 #  images.  The default behavior is to send an HTML answer to requests
330 #  for images, resulting in a "broken image icon" in place of the blocked
331 #  image.  That's a little ugly, so several other options are available:
332 #
333 #     VALUE       EFFECT
334 #     =====       ======
335 #     0           Send HTML
336 #     1           Send a GIF of one transparent pixel
337 #     2           Send a GIF with the word "JUNKBUSTER"
338 #     3 <url>     Send a redirect to the image indicated by the <url>
339 #
340 #  As an example of the last option:
341 #
342 #    tinygif 3 http://www.junkbusters.com/images/fb.gif
343 #
344 #  Will replace every blocked image with the "fb.gif" image.
345 #
346 #  There is one non-obvious benefit to using option "3".  If you use
347 #  option 3, your Web browser will likely cache the image you specify
348 #  on your local machine.  That means that after the first use, that
349 #  image will load very quickly (and won't require a request to the
350 #  junkbuster proxy)
351 #
352 #  Default: 0, i.e. send HTML
353 #
354 tinygif   2
355
356 #
357 #  The debug option sets the level of debugging information to log in
358 #  the logfile (and to the console in the Windows version).  A debug
359 #  level of 1 is informative because it will show you each request as
360 #  it happens.  Higher levels of debug are probably only of interest
361 #  to developers.
362 #
363 #   debug         1 # GPC  = show each GET/POST/CONNECT request
364 #   debug         2 # CONN = show each connection status
365 #   debug         4 # IO   = show I/O status
366 #   debug         8 # HDR  = show header parsing
367 #   debug        16 # LOG  = log all data into the logfile
368 #   debug        32 # FRC  = debug force feature
369 #   debug        64 # REF  = debug regular expression filter 
370 #
371 #  Multiple "debug" directives, are OK - they're logical-OR'd
372 #  together. 
373 #
374 #   debug         15 # same as setting the first 4 listed above
375 #
376 #  Default: 0, i.e. log nothing but errors and infos
377 #
378 debug   1
379
380 #
381 #  Junkbuster normally uses "multi-threading", a software technique
382 #  that permits it to handle many different requests simultaneously.
383 #  In some cases you may wish to disable this -- particularly if
384 #  you're trying to debug a problem.  The 'single-threaded' option
385 #  forces Junkbuster to handle requests sequentially.
386 #
387 #  Default: Multithreaded mode
388 #
389 #single-threaded
390
391 #
392 #    'toggle' controls whether Junkbuster can temporarily be toggled on
393 #    and off.
394 #    
395 #    The Windows version of Junkbuster puts an icon in the system
396 #    tray.  If you right-click on that icon (or select the 'Options'
397 #    menu), one choice is "Enable".  Clicking on enable toggles
398 #    Junkbuster on and off.  This is useful if you want to temporarily
399 #    disable Junkbuster, e.g., to access a site that requires cookies
400 #    which you normally have blocked.
401 #
402 #    Unix versions of Junkbuster are toggled on and off by sending a
403 #    SIGHUP to Junkbuster.
404 #
405 #    'toggle 1' means permit toggling of Junkbuster, 'toggle 0' means
406 #    don't.
407 #
408 #  Default: 1
409 #
410 toggle 1
411
412 #
413 #  5. WINDOWS GUI OTPIONS
414 #
415 #  Junkbuster has a number of options specific to the Windows GUI
416 #  interface:
417 #
418 #    activity-animation      {1 or 0}
419 #
420 #    If set to 1, the Junkbuster icon will animate when Junkbuster is
421 #    active.
422 #
423 #Win32-only: activity-animation      1
424
425 #    log-messages            {1 or 0}
426 #
427 #    If set to 1, Junkbuster will log messages to the console window.
428 #
429 #Win32-only: log-messages            1
430
431 #    log-buffer-size         {1 or 0}?
432 #
433 #    If log-buffer-size is set to 1, the size of the log buffer, that
434 #    is the amount of memory used for the log messages displayed in
435 #    the console window, will be limited to 'log-max-lines' (see below).
436 #
437 #    Warning: Setting this to 0 will result in the buffer to grow
438 #             infinitely and eat up all your memory!
439 #
440 #Win32-only: log-buffer-size   1
441
442 #    log-max-lines   {number of lines, e.g., '200'}
443 #
444 #    Maximum number of lines held in the log buffer. See above.
445 #
446 #Win32-only: log-max-lines   200
447
448 #    log-highlight-messages  {1 or 0}
449 #
450 #    If set to 1, Junkbuster will highlight portions of the log
451 #    messages with a bold-faced font.
452 #
453 #Win32-only: log-highlight-messages  1
454
455 #    log-font-name           {font name, e.g., 'Comic Sans MS'}
456 #
457 #    The font used in the console window.
458 #
459 #Win32-only: log-font-name           Comic Sans MS
460
461 #    log-font-size           {font size in points, e.g., '8'}
462 #
463 #    Font size used in the console window.
464 #
465 #Win32-only: log-font-size           8
466
467 #    show-on-task-bar        {1 or 0}
468 #
469 #    Controls whether or not Junkbuster will appear on the Task bar
470 #    when minimized.
471 #
472 #Win32-only: show-on-task-bar        0
473
474
475 #    close-button-minimizes  1
476 #
477 #    If set, the Windows close button will minimize Junkbuster instead
478 #    of closing the program (close with the exit option on the File
479 #    menu).
480 #
481 #Win32-only: close-button-minimizes  1
482
483 #    hide-console
484 #
485 #    If this option is used, Junkbuster will disconnect from and hide 
486 #    the command console.
487 #
488 #Win32-only: #hide-console
489
490 # Note: Junkbuster is distributed under the GNU General Public License (GPL)
491 #       For details, see http://www.gnu.org/copyleft/gpl.html