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