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