X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=config;h=3a6d8bf817e4d60128e3b6ee7a46838df43c0053;hp=2dea618315a31de2bc9f7de209f6cffbe171d120;hb=622f8b00129cfb6abeb0d90f095b5ca5dd9d6c35;hpb=c443dfa3005dd500ebd1894b6e2e071d18c3b934 diff --git a/config b/config index 2dea6183..3a6d8bf8 100644 --- a/config +++ b/config @@ -1,7 +1,7 @@ -# Sample Configuration file for the Internet Junkbuster 2.0 +# Sample Configuration file for the Internet Junkbuster 2.9.x # -# $Id: config,v 1.5 2001/05/23 10:39:05 oes Exp $ +# $Id: config,v 1.19 2001/07/25 13:48:54 oes Exp $ # # Table of Contents @@ -40,12 +40,12 @@ # you can make it a comment and it will be treated as if it weren't there. # This is called "commenting out" an option and can be useful to turn # off features: If you comment out the "logfile" line, junkbuster will -# not log at all. Watch for the "default:" section in each explanation -# to see what happens if the option is left unset (or commented out). +# not log to a file at all. Watch for the "default:" section in each +# explanation to see what happens if the option is left unset (or +# commented out). # # Long lines can be continued on the next line by using a `\' as -# the last character. This also works if comments are present in -# between. +# the last character. # # @@ -61,32 +61,34 @@ # files in the current working directory. In either case, an # absolute path name can be used to avoid problems. +# While we go modular and multiuser, the blocker, filter, and +# per-user config will be stored in subdirectories of confdir. +# Now, only confdir/templates is used for storing HTML templates +# for CGI results. # -# The blockfile contains regular expressions, one per line, of URLs -# to be blocked by Junkbuster. +# No trailing /, please. +confdir . + # -# Default: Don't block anything. +# The directory where all logging (i.e. logfile and jarfile) takes place +# No trailing /, please. # -blockfile ./blocklist +logdir . # -# The imagefile contains regular expressions, one per line, of URLs -# to be blocked as images by Junkbuster, regardless of whether they -# look like image URLs or not. -# -# Default: Block all URLs as HTML requests. +# Note that all file specifications below are relative to +# the above two directories!!! # -imagefile ./imagelist -# -# The permissions file contains patterns to specify the -# cookie and filtering rules to apply to each site. +# The actions file contains patterns to specify the +# actions to apply to requests for each site. # # Default: Cookies to and from all destinations are filtered. # Popups are disabled for all sites. # All sites are filtered if re_filterfile specified. +# No sites are blocked. Nothing is an image. # -permissionsfile ./permissionsfile +actionsfile actionsfile # # The re_filterfile contains content modification rules. These rules @@ -97,7 +99,7 @@ permissionsfile ./permissionsfile # # Default: No content modification. # -re_filterfile ./re_filterfile +re_filterfile re_filterfile # # The logfile is where all logging and error messages are written. @@ -105,8 +107,7 @@ re_filterfile ./re_filterfile # Junkbuster (e.g., it's not blocking an ad you think it should # block) but in most cases you probably will never look at it. # -# If you do not use 'log-buffer-size'/'log-max-lines' (see below) -# your logfile will grow indefinitely, and you will probably want to +# Your logfile will grow indefinitely, and you will probably want to # periodically remove it. On Unix systems, you can do this with a # cron job (see 'man cron'). # @@ -117,7 +118,7 @@ re_filterfile ./re_filterfile # # Default: Log to the standard error channel, not to a file # -logfile ./junkbuster.log +logfile logfile # # The jarfile defines where Junkbuster stores the cookies it @@ -126,36 +127,34 @@ logfile ./junkbuster.log # # Default: Don't store intercepted cookies # -#jarfile ./jarfile +#jarfile jarfile # -# The forwardfile defines domain-specific forwarding of HTTP -# requests. In some cases, you may want Junkbuster to forward your -# request to another proxy instead of trying to fetch the request -# itself. In those cases, you can use the forwardfile to indicate -# which requests should be forwarded and to where. +# If you specify a trustfile, Junkbuster will only allow access +# to sites that are named in the trustfile. You can also mark +# sites as trusted referrers, with the effect that access to +# untrusted sites will be granted, if a link from a trusted +# referrer was used. The link target will then be added to the +# trustfile. +# Note that this is a very restrictive feature that typical users +# most propably want to leave disabled. # -# Default: Make all connections directly. +# Default: Don't use the trust mechanism # -forwardfile ./forward +#trustfile trust # -# Generally, Junkbuster is used as a personal proxy. The default -# behaviour of Junkbuster is to listen on port 8000 on the "loopback" -# interface, so that it will only listen to local requests from the -# same machine. Using 'listen-address' (see below) you can serve -# requests from other machines as well. +# If you use the trust mechanism, it is a good idea to write up +# some online documentation about your blocking policy and to +# specify the URL(s) here. They will appear on the page that +# your users receive when they try to access untrusted content. +# Use multiple times for multiple URLs. # -# In that case, it is a wise thing to define access control lists -# (acls), which state who can connect to your proxy and what service -# they will be given. Note that setting the listen-address to an IP -# address that is only internally reachable from your local network -# might already do the trick. +# Default: Don't display links on the "untrusted" info page. # -# Default: No access control. Everybody that can reach junkbuster -# will be served. -# -#aclfile ./aclfile +trust-info-url http://www.your-site.com/why_we_block.html +trust-info-url http://www.your-site.com/what_we_allow.html + # # 4. OPTIONS @@ -165,62 +164,23 @@ forwardfile ./forward # # -# If 'add-forwarded-header' is set, an "X-Forwarded-For:" -# specification will be added to each request header. Generally, -# this is not needed and will reduce your privacy, as the server -# will not only see which proxy the request came through, but also -# which machine behind that proxy the request originally came from. +# Admin-address should be set to the email address of the proxy +# administrator. It is used in many of the proxy-generated pages. # -# Default: Don't add the "X-Forwarded-For:" header. +# Default: fill@me.in.please # -#add-forwarded-header +#admin-address fill@me.in.please # -# Junkbuster can add "wafers", i.e. fake cookies, to each request -# header it sends out. -# These wafers can be seen by Web site operators in their log files, -# so it's a way for you to communicate (very indirectly!) with -# them. Junkbuster will add as many wafers as you like to each -# request, just list them all here. Here's an example: +# Proxy-info-url can be set to a URL that contains more info about +# this junkbuster installation, it's configuration and policies. +# It is used in many of the proxy-generated pages and its use is +# highly recommended, since your users will want to know why certain +# content is blocked or modified. # -# wafer NOTE=Like most people, I want my browsing to be anonymous. -# wafer WARNING=Please do not attempt to track me. +# Default: Don't show a link to online documentation # -# Wafers make each request larger and will have a (small) impact on -# your browsing speed, so you probably don't want to do this unless -# you have a particular need. -# -# Default: Don't add a wafer -# -#wafer NOTE=Add your wafer here... - -# -# There's also a pre-defined wafer containing a privacy message, -# called the vanilla wafer, which is sent by default. Setting -# suppress-vanilla-wafer suppresses this. You guessed that, didn't you? -# -# Default: Send the vanilla wafer -# -suppress-vanilla-wafer - -# -# In fact, Junkbuster can add anything at all to the request headers. -# You can specify the headers to add with the add-header option. For -# example: -# -# add-header Forwarded: by http://stay-out-of-my-backyard.net -# -# Generally, random headers will simply be ignored by the Web site, -# so there's little use in adding them. However, there are some -# cases where you might want to add a header, e.g., if you're -# forwarding Junkbuster requests to another proxy you might want to -# add: -# -# add-header Proxy-Connection: Keep-Alive -# -# to every request. -# -#add-header My-Header: Whatever you'd like... +proxy-info-url http://www.your-site.com/proxy.html # # Listen-address specifies the address and port where Junkbuster will @@ -258,129 +218,6 @@ suppress-vanilla-wafer # listen-address 127.0.0.1:8000 # -# -# When your Web browser makes a request from a Web site, it informs -# the Web site what sort of browser it is, e.g., "Internet Explorer -# V2.0" or some such. In theory, Web sites can use this information -# to tailor themselves for your browser. -# -# The 'user-agent' option controls whether Junkbuster will conceal -# your browser type or not. If user-agent is set to . (period) the -# User-Agent header is passed to the server unchanged, along with any -# UA headers produced by MS-IE (which would otherwise be deleted). If -# user-agent is set to @ (at) these headers are sent unchanged in -# cases where the cookiefile specifies that a cookie would be sent, -# otherwise only a default User-Agent header is sent. That default is -# Mozilla/3.0 (Netscape) with an unremarkable Linux configuration. -# If left unset, the default header is always sent. -# -# Note that if you choose to mislead Web sites about your browser -# type, you may get Web pages that confuse your browser or display -# incorrectly. In most cases, it's probably fine to send your real -# browser type. -# -# Default: Always send the (forged) default user agent header -# -user-agent . - -# -# When your Web browser requests a page from a Web site, it also -# informs the Web site where it came from, i.e., when you click -# through to a new web page, your browser tells the new web site the -# URL of the old web page. This is called the "Referer" header. -# -# Junkbuster has the ability to mask the Referer header. Referer -# headers can be used to track users as they browse around the web, -# and many consider them invasive. Junkbuster provides several -# options for dealing with referer headers: -# -# VALUE EFFECT -# ===== ====== -# default Kill the referrer-header from the client. -# . Pass the referrer unchanged. -# @ Pass the referrer if the server is in the cookie file, -# kill the referrer otherwise. -# L Pass the referrer if the server is in the cookie file, -# send a forged referrer that points to the -# root-directory URL of the current request otherwise. -# 'text' Always send as the referrer. -# -# L is probably preferable to @, because it will break fewer Web -# sites while still concealing your browsing path. -# -# Default: see above -# -referer L - -# -# Some browsers provide a "From:" header that gives Web sites your -# email address. The only real effect of this is to make you a -# target for unsolicited email (spam). There are three options -# what to do with the "From:" header if it is present: -# -# VALUE EFFECT -# ===== ====== -# default Kill every "From:" header -# . Pass the "From:" header unchanged -# 'text' replace the email address in the "From:" header with 'text' -# -# Default: see above -# -#from spam-me-senseless@sittingduck.xqq - -# -# The 'tinygif' option lets you change how Junkbuster treats blocked -# images. The default behavior is to send an HTML answer to requests -# for images, resulting in a "broken image icon" in place of the blocked -# image. That's a little ugly, so several other options are available: -# -# VALUE EFFECT -# ===== ====== -# 0 Send HTML -# 1 Send a GIF of one transparent pixel -# 2 Send a GIF with the word "JUNKBUSTER" -# 3 Send a redirect to the image indicated by the -# -# As an example of the last option: -# -# tinygif 3 http://no.where/ijb-send-banner.gif -# -# Will replace every blocked image with an image built into junkbuster. -# -# There is one non-obvious benefit to using option "3". If you use -# option 3, your Web browser will likely cache the image you specify -# on your local machine. That means that after the first use, that -# image will load very quickly (and won't require a request to the -# junkbuster proxy) -# -# Default: 0, i.e. send HTML -# -tinygif 2 - -# -# Many sites, like yahoo.com, don't just link to other sites. -# Instead, they will link to some script on their own server, -# giving the destination as a parameter, which will then redirect -# you to the final target. -# -# URLs resulting from this scheme typically look like: -# http://some.place/some_script?http://some.where-else -# -# Sometimes, there are even multiple consecutive redirects encoded -# in the URL. These redirections via scripts make your web browing -# more traceable, since the server from which you follow such a link -# can see where you go to. Apart from that, valuable bandwidth and -# time is wasted, while your browser aks the server for one redirect -# after the other. Plus, it feeds the advertisers. -# -# The fast-redirects option enables interception of these requests -# by junkbuster, who will cut off all but the last valid URL in the -# request and send a local redirect back to your browser without -# contacting the remote site. -# -# Default: Don't intercept script-redirect URLs -# -fast-redirects # # The debug option sets the level of debugging information to log in @@ -396,8 +233,10 @@ fast-redirects # debug 16 # LOG = log all data into the logfile # debug 32 # FRC = debug force feature # debug 64 # REF = debug regular expression filter -# debug 128 # RED = debug fast redirects -# debug 256 # CLF = Common Log Format +# debug 128 # = debug fast redirects +# debug 256 # = debug GIF deanimation +# debug 512 # CLF = Common Log Format +# debug 1024 # = debug kill popups # debug 4096 # INFO = Startup banner and warnings. # debug 8192 # ERROR = Non-fatal errors # @@ -407,7 +246,7 @@ fast-redirects # The reporting of FATAL errors (i.e. ones which crash # JunkBuster) is always on and cannot be disabled. # -# If you want to use CLF, you should set "debug 256" ONLY, +# If you want to use CLF, you should set "debug 512" ONLY, # do not enable anything else. # # Multiple "debug" directives, are OK - they're logical-OR'd @@ -417,7 +256,8 @@ fast-redirects # # Default: 0, i.e. log nothing but fatal errors # -debug 1 +debug 1 # URLs +debug 4096 # Info debug 8192 # Errors - *we highly recommended enabling this* # @@ -432,28 +272,259 @@ debug 8192 # Errors - *we highly recommended enabling this* #single-threaded # -# 'toggle' controls whether Junkbuster can temporarily be toggled on -# and off. +# 'toggle' allows you to temporarily disable all Junkbuster's +# filtering. Just set "toggle 0". # # The Windows version of Junkbuster puts an icon in the system -# tray. If you right-click on that icon (or select the 'Options' -# menu), one choice is "Enable". Clicking on enable toggles -# Junkbuster on and off. This is useful if you want to temporarily -# disable Junkbuster, e.g., to access a site that requires cookies -# which you normally have blocked. +# tray, which allows you to change this option without having +# to edit this file. If you right-click on that icon (or select +# the 'Options' menu), one choice is "Enable". Clicking on enable +# toggles Junkbuster on and off. This is useful if you want to +# temporarily disable Junkbuster, e.g., to access a site that +# requires cookies which you normally have blocked. # -# Unix versions of Junkbuster are toggled on and off by sending a -# SIGHUP to Junkbuster. -# -# 'toggle 1' means permit toggling of Junkbuster, 'toggle 0' means -# don't. +# 'toggle 1' means Junkbuster runs normally, 'toggle 0' means +# that Junkbuster becomes a non-anonymizing non-blocking +# proxy. # # Default: 1 # toggle 1 + +############################################################################# +# Access Control List +############################################################################# +# +# Access controls are included at the request of some ISPs and systems +# administrators, and are not usually needed by individual users. +# Please note the warnings in the FAQ that this proxy is not +# intended to be a substitute for a firewall or to encourage anyone +# to defer addressing basic security weaknesses. +# For details see the documentation +# +# If no access settings are specified, the proxy talks to anyone that +# connects. If any access settings file are specified, then the proxy +# talks only to IP addresses permitted somewhere in this file and not +# denied later in this file. +# +# Summary -- if using an ACL: +# +# Client must have permission to receive service +# LAST match in ACL wins +# Default behavior is to deny service +# +# Syntax for an entry in the Access Control List is: +# +# ACTION SRC_ADDR[/SRC_MASKLEN] [ DST_ADDR[/DST_MASKLEN] ] +# +# where the fields are +# +# ACTION = "permit-access" | "deny-access" +# +# SRC_ADDR = client hostname or dotted IP address +# SRC_MASKLEN = number of bits in the subnet mask for the source +# +# DST_ADDR = server or forwarder hostname or dotted IP address +# DST_MASKLEN = number of bits in the subnet mask for the target +# +# field separator (FS) is whitespace (space or tab) +# +# IMPORTANT NOTE +# ============== +# If the junkbuster is using a forwarder or a gateway for a particular +# destination URL, the DST_ADDRR that is examined is the address of +# the forwarder or the gateway and NOT the address of the ultimate target. +# This is necessary because it may be impossible for the local +# junkbuster to determine the address of the ultimate target +# (that's often what gateways are used for). +# +# Here are a few examples to show how the ACL works: +# +# localhost is OK -- no DST_ADDR implies that ALL destination addresses are OK +# permit-access localhost +# +# a silly example to illustrate: +# +# permit any host on the class-C subnet with junkbusters to go anywhere +# +# permit-access www.junkbusters.com/24 +# +# except deny one particular IP address from using it at all +# +# deny-access ident.junkbusters.com +# +# another example +# +# You can specify an explicit network address and subnet mask. +# Explicit addresses do not have to be resolved to be used. +# +# permit-access 207.153.200.0/24 +# +# a subnet mask of 0 matches anything, so the next line permits everyone. +# +# permit-access 0.0.0.0/0 +# +# Note: you cannot say +# +# permit-access .org +# +# to allow all .org domains; every IP-address listed must resolve fully. +# +# An ISP may want to provide a junkbuster that is accessible by "the world" +# and yet restrict use of some of their private content to hosts on its +# internal network (i.e. its own subscribers). Say, for instance the +# ISP owns the Class-B IP address block 123.124.0.0 (a 16 bit netmask). +# This is how they could do it: +# +# permit-access 0.0.0.0/0 0.0.0.0/0 # other clients can go anywhere +# # with the following exceptions: +# +# deny-access 0.0.0.0/0 123.124.0.0/16 # block all external requests for +# # sites on the ISP's network +# +# permit 0.0.0.0/0 www.my_isp.com # except for the ISP's main web site +# +# permit 123.124.0.0/16 0.0.0.0/0 # the ISP's clients can go anywhere +# +# Note that some hostnames may be listed with multiple IP addresses; +# the primary value returned by gethostbyname() is used. +# +# Default: Anyone can access the proxy. + + +############################################################################# +# Forwarding +############################################################################# +# +# +# This feature allows routing of HTTP requests via multiple proxies. +# It can be used to better protect privacy and confidentiality when +# accessing specific domains by routing requests to those domains +# to a special purpose filtering proxy such as lpwa.com +# +# It can also be used in an environment with multiple networks to route +# requests via multiple gateways allowing transparent access to multiple +# networks without having to modify browser configurations. +# +# Also specified here are SOCKS proxies. We support SOCKS 4 and SOCKS 4A. +# The difference is that SOCKS 4A will resolve the target hostname using +# DNS on the SOCKS server, not our local DNS client. +# +# The syntax of each line is +# +# forward target_domain[:port] http_proxy_host[:port] +# forward-socks4 target_domain[:port] socks_proxy_host[:port] http_proxy_host[:port] +# forward-socks4a target_domain[:port] socks_proxy_host[:port] http_proxy_host[:port] +# +# If http_proxy_host is ".", then requests are not forwarded to +# a HTTP proxy but are made directly to the web servers. +# +# Lines are checked in turn, and the last match wins. +# +# There is an implicit line equivalent to the following, which specifies that +# anything not finding a match on the list is to go out without forwarding +# or gateway protocol; like so: +# forward .* . # implicit # -# 5. WINDOWS GUI OTPIONS +# In the following common configuration, everything goes to Lucent's LPWA, +# except SSL on port 443 (which it doesn't handle) +# forward .* lpwa.com:8000 +# forward :443 . +# +# See the FAQ for instructions on how to automate the login procedure for LPWA. +# Some users have reported difficulties related to LPWA's use of . as the +# last element of the domain, and have said that this can be fixed with this: +# forward lpwa. lpwa.com:8000 +# (NOTE: the syntax for specifiying target_domain has changed since the +# previous paragraph weas written - it will not work now. More information +# is welcome.) +# +# In this fictitious example, everything goes via an ISP's caching proxy, +# except requests to that ISP: +# +# forward .* caching.myisp.net:8000 +# forward myisp.net . +# +# For the @home network, we're told the forwarding configuration is this: +# forward .* proxy:8080 +# Also, we're told they insist on getting cookies and Javascript, so you need +# to add home.com to the cookie file. We consider Javascript a security risk; +# see our page on cookies. Java need not be enabled. +# +# In this example direct connections are made to all "internal" domains, +# but everything else goes through Lucent's LPWA by way of the company's +# SOCKS gateway to the Internet. +# +# forward_socks4 .* lpwa.com:8000 firewall.my_company.com:1080 +# forward my_company.com . +# +# This is how you could set up a site that always uses SOCKS but no forwarders +# +# forward_socks4a .* . firewall.my_company.com:1080 +# +# An advanced example for network administrators: +# +# If you have links to multiple ISPs that provide various special content to +# their subscribers, you can configure forwarding to pass requests to the +# specific host that's connected to that ISP so that everybody can see all +# of the content on all of the ISPs. +# +# This is tricky, but here's a sample: +# +# host-a has a PPP connection to isp-a.com +# host-b has a PPP connection to isp-b.com +# +# host-a can run an Internet Junkbuster proxy with forwarding like this: +# forward .* . +# forward isp-b.com host-b:8000 +# +# host-b can run an Internet Junkbuster proxy with forwarding like this: +# forward .* . +# forward isp-a.com host-a:8000 +# +# Now, *anyone* on the Internet (including users on host-a and host-b) +# can set their browser's proxy to *either* host-a or host-b and +# be able to browse the content on isp-a or isp-b. +# +# +# Here's another practical example, for University of Kent at +# Canterbury students with a network connection in their room, who +# need to use the University's Squid web cache. +# +# forward *. ssbcache.ukc.ac.uk:3128 # Use the proxy, except for: +# forward .ukc.ac.uk . # Anything on the same domain as us +# forward * . # Host with no domain specified +# forward 129.12.*.* . # A dotted IP on our /16 network. +# forward 127.*.*.* . # Loopback address +# forward localhost.localdomain . # Loopback address +# forward www.ukc.mirror.ac.uk . # Specific host +# +# +# Note: If you intend to chain junkbuster and squid locally, the chain +# broswer -> squid -> junkbuster is the recommended way. +# +# Your squid configuration could then look like this: +# +# # Define junkbuster as parent cache +# cache_peer 127.0.0.1 8000 parent 0 no-query +# +# # Define ACL for protocol FTP +# acl FTP proto FTP +# +# # Do not forward ACL FTP to junkbuster +# always_direct allow FTP +# +# # Do not forward ACL CONNECT (https) to junkbuster +# always_direct allow CONNECT +# +# # Forward the rest to junkbuster +# never_direct allow all +# + +############################################################################# +# 5. WINDOWS GUI OPTIONS +############################################################################# # # Junkbuster has a number of options specific to the Windows GUI # interface: @@ -509,8 +580,8 @@ toggle 1 # show-on-task-bar {1 or 0} # -# Controls whether or not Junkbuster will appear on the Task bar -# when minimized. +# Controls whether or not Junkbuster will appear as a button on the Task +# bar when minimized. # #Win32-only: show-on-task-bar 0 @@ -523,6 +594,10 @@ toggle 1 # #Win32-only: close-button-minimizes 1 + +# +# This option is specific to the Win32 console version of JunkBuster: +# # hide-console # # If this option is used, Junkbuster will disconnect from and hide @@ -530,5 +605,6 @@ toggle 1 # #Win32-only: #hide-console + # Note: Junkbuster is distributed under the GNU General Public License (GPL) # For details, see http://www.gnu.org/copyleft/gpl.html