+
+default.action and default.filter can use Perl style regular expressions for
+maximum flexibility. All files use the "#" character to denote a comment. Such
+lines are not processed by Privoxy. After making any changes, there is no need
+to restart Privoxy in order for the changes to take effect. Privoxy should
+detect such changes automatically.
+
+While under development, the configuration content is subject to change. The
+below documentation may not be accurate by the time you read this. Also, what
+constitutes a "default" setting, may change, so please check all your
+configuration files on important issues.
+-------------------------------------------------------------------------------
+
+5.3. The Main Configuration File
+
+Again, the main configuration file is named config on Linux/Unix/BSD and OS/2,
+and config.txt on Windows. Configuration lines consist of an initial keyword
+followed by a list of values, all separated by whitespace (any number of spaces
+or tabs). For example:
+
+ blockfile blocklist.ini
+
+
+Indicates that the blockfile is named "blocklist.ini". (A default installation
+does not use this.)
+
+A "#" indicates a comment. Any part of a line following a "#" is ignored,
+except if the "#" is preceded by a "\".
+
+Thus, by placing a "#" at the start of an existing configuration line, 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, Privoxy will 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 very last
+character.
+
+There are various aspects of Privoxy behavior that can be tuned.
+-------------------------------------------------------------------------------
+
+5.3.1. Defining Other Configuration Files
+
+Privoxy can use a number of other files to tell it what ads to block, what
+cookies to accept, and perform other functions. This section of the
+configuration file tells Privoxy where to find all those other files.
+
+On Windows and AmigaOS, Privoxy looks for these files in the same directory as
+the executable. On Unix and OS/2, Privoxy looks for these files in the current
+working directory. In either case, an absolute path name can be used to avoid
+problems.
+
+When development goes modular and multi-user, the blocker, filter, and per-user
+config will be stored in subdirectories of "confdir". For now, only confdir/
+templates is used for storing HTML templates for CGI results.
+
+The location of the configuration files:
+
+ confdir /etc/privoxy # No trailing /, please.
+
+
+The directory where all logging (i.e. logfile and jarfile) takes place. No
+trailing "/", please:
+
+ logdir /var/log/privoxy
+
+
+Note that all file specifications below are relative to the above two
+directories!
+
+The "default.action" file contains patterns to specify the actions to apply to
+requests for each site. Default: Cookies to and from all destinations are kept
+only during the current browser session (i.e. they are not saved to disk).
+Pop-ups are disabled for all sites. All sites are filtered through selected
+sections of "default.filter". No sites are blocked. Privoxy displays a
+checkboard type pattern for filtered ads and other images. The syntax of this
+file is explained in detail below. Other "actions" files are included, and you
+are free to use any of them. They have varying degrees of aggressiveness.
+
+ actionsfile default.action
+
+
+The "default.filter" file contains content modification rules that use "regular
+expressions". These rules permit powerful changes on the content of Web pages,
+e.g., you could disable your favorite JavaScript annoyances, re-write the
+actual displayed text, or just have some fun replacing "Microsoft" with
+"MicroSuck" wherever it appears on a Web page. Default: whatever the developers
+are playing with :-/
+
+Filtering requires buffering the page content, which may appear to slow down
+page rendering since nothing is displayed until all content has passed the
+filters. (It does not really take longer, but seems that way since the page is
+not incrementally displayed.) This effect will be more noticeable on slower
+connections.
+
+ filterfile default.filter
+
+
+The logfile is where all logging and error messages are written. The logfile
+can be useful for tracking down a problem with Privoxy (e.g., it's not blocking
+an ad you think it should block) but in most cases you probably will never look
+at it.
+
+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").
+For Redhat, a logrotate script has been included.
+
+On SuSE Linux systems, you can place a line like "/var/log/privoxy.* +1024k 644
+nobody.nogroup" in /etc/logfiles, with the effect that cron.daily will
+automatically archive, gzip, and empty the log, when it exceeds 1M size.
+
+Default: Log to the a file named logfile. Comment out to disable logging.
+
+ logfile logfile
+
+
+The "jarfile" defines where Privoxy stores the cookies it intercepts. Note that
+if you use a "jarfile", it may grow quite large. Default: Don't store
+intercepted cookies.
+
+ #jarfile jarfile
+
+
+If you specify a "trustfile", Privoxy 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". This
+is a very restrictive feature that typical users most probably want to leave
+disabled. Default: Disabled, don't use the trust mechanism.
+
+ #trustfile trust
+
+
+If you use the trust mechanism, it is a good idea to write up some on-line
+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. Default: Don't display
+links on the "untrusted" info page.
+
+ trust-info-url http://www.example.com/why_we_block.html
+ trust-info-url http://www.example.com/what_we_allow.html
+
+-------------------------------------------------------------------------------
+
+5.3.2. Other Configuration Options
+
+This part of the configuration file contains options that control how Privoxy
+operates.
+
+"Admin-address" should be set to the email address of the proxy administrator.
+It is used in many of the proxy-generated pages. Default: fill@me.in.please.
+
+ #admin-address fill@me.in.please
+
+
+"Proxy-info-url" can be set to a URL that contains more info about this Privoxy
+installation, it's configuration and policies. It is used in many of the
+proxy-generated pages and its use is highly recommended in multi-user
+installations, since your users will want to know why certain content is
+blocked or modified. Default: Don't show a link to on-line documentation.
+
+ proxy-info-url http://www.example.com/proxy.html
+
+
+"Listen-address" specifies the address and port where Privoxy will listen for
+connections from your Web browser. The default is to listen on the localhost
+port 8118, and this is suitable for most users. (In your web browser, under
+proxy configuration, list the proxy server as "localhost" and the port as
+"8118").
+
+If you already have another service running on port 8118, or if you want to
+serve requests from other machines (e.g. on your local network) as well, you
+will need to override the default. The syntax is "listen-address [<ip-address
+>]:<port>". If you leave out the IP address, Privoxy will bind to all
+interfaces (addresses) on your machine and may become reachable from the
+Internet. In that case, consider using access control lists (acl's) (see
+"aclfile" above), or a firewall.
+
+For example, suppose you are running Privoxy on a machine which has the address
+192.168.0.1 on your local private network (192.168.0.0) and has another outside
+connection with a different address. You want it to serve requests from inside
+only:
+
+ listen-address 192.168.0.1:8118
+
+
+If you want it to listen on all addresses (including the outside connection):
+
+ listen-address :8118
+
+
+If you do this, consider using ACLs (see "aclfile" above). Note: you will need
+to point your browser(s) to the address and port that you have configured here.
+Default: localhost:8118 (127.0.0.1:8118).
+
+The debug option sets the level of debugging information to log in the logfile
+(and to the console in the Windows version). A debug level of 1 is informative
+because it will show you each request as it happens. Higher levels of debug are
+probably only of interest to developers.
+
+ debug 1 # GPC = show each GET/POST/CONNECT request
+ debug 2 # CONN = show each connection status
+ debug 4 # IO = show I/O status
+ debug 8 # HDR = show header parsing
+ debug 16 # LOG = log all data into the logfile
+ debug 32 # FRC = debug force feature
+ debug 64 # REF = debug regular expression filter
+ debug 128 # = debug fast redirects
+ debug 256 # = debug GIF de-animation
+ debug 512 # CLF = Common Log Format
+ debug 1024 # = debug kill pop-ups
+ debug 4096 # INFO = Startup banner and warnings.
+ debug 8192 # ERROR = Non-fatal errors
+
+
+It is highly recommended that you enable ERROR reporting (debug 8192), at least
+until v3.0 is released.
+
+The reporting of FATAL errors (i.e. ones which crash Privoxy) is always on and
+cannot be disabled.
+
+If you want to use CLF (Common Log Format), you should set "debug 512" ONLY, do
+not enable anything else.
+
+Multiple "debug" directives, are OK - they're logical-OR'd together.
+
+ debug 15 # same as setting the first 4 listed above
+
+
+Default:
+
+ debug 1 # URLs
+ debug 4096 # Info
+ debug 8192 # Errors - *we highly recommended enabling this*
+
+
+Privoxy normally uses "multi-threading", a software technique that permits it
+to handle many different requests simultaneously. In some cases you may wish to
+disable this -- particularly if you're trying to debug a problem. The
+"single-threaded" option forces Privoxy to handle requests sequentially.
+Default: Multi-threaded mode.
+
+ #single-threaded
+
+
+"toggle" allows you to temporarily disable all Privoxy's filtering. Just set
+"toggle 0".
+
+The Windows version of Privoxy puts an icon in the system tray, which also
+allows you to change this option. If you right-click on that icon (or select
+the "Options" menu), one choice is "Enable". Clicking on enable toggles Privoxy
+on and off. This is useful if you want to temporarily disable Privoxy, e.g., to
+access a site that requires cookies which you would otherwise have blocked.
+This can also be toggled via a web browser at the Privoxy internal address of
+http://p.p on any platform.
+
+"toggle 1" means Privoxy runs normally, "toggle 0" means that Privoxy becomes a
+non-anonymizing non-blocking proxy. Default: 1 (on).
+
+ toggle 1
+
+
+For content filtering, i.e. the "+filter" and "+deanimate-gif" actions, it is
+necessary that Privoxy buffers the entire document body. This can be
+potentially dangerous, since a server could just keep sending data indefinitely
+and wait for your RAM to exhaust. With nasty consequences.
+
+The buffer-limit option lets you set the maximum size in Kbytes that each
+buffer may use. When the documents buffer exceeds this size, it is flushed to
+the client unfiltered and no further attempt to filter the rest of it is made.
+Remember that there may multiple threads running, which might require
+increasing the "buffer-limit" Kbytes each, unless you have enabled
+"single-threaded" above.
+
+ buffer-limit 4069
+
+
+To enable the web-based default.action file editor set enable-edit-actions to
+1, or 0 to disable. Note that you must have compiled Privoxy with support for
+this feature, otherwise this option has no effect. This internal page can be
+reached at http://p.p.
+
+Security note: If this is enabled, anyone who can use the proxy can edit the
+actions file, and their changes will affect all users. For shared proxies, you
+probably want to disable this. Default: enabled.
+
+ enable-edit-actions 1
+
+
+Allow Privoxy to be toggled on and off remotely, using your web browser. Set
+"enable-remote-toggle"to 1 to enable, and 0 to disable. Note that you must have
+compiled Privoxy with support for this feature, otherwise this option has no
+effect.
+
+Security note: If this is enabled, anyone who can use the proxy can toggle it
+on or off (see http://p.p), and their changes will affect all users. For shared
+proxies, you probably want to disable this. Default: enabled.
+
+ enable-remote-toggle 1
+
+-------------------------------------------------------------------------------
+
+5.3.3. Access Control List (ACL)
+
+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.
+
+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.
+
+The syntax for an entry in the Access Control List is:
+
+ ACTION SRC_ADDR[/SRC_MASKLEN] [ DST_ADDR[/DST_MASKLEN] ]
+
+
+Where the individual fields are:
+
+ ACTION = "permit-access" or "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
+
+
+The field separator (FS) is whitespace (space or tab).
+
+IMPORTANT NOTE: If Privoxy is using a forwarder (see below) or a gateway for a
+particular destination URL, the DST_ADDR 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 Privoxy 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 features work:
+
+"localhost" is OK -- no DST_ADDR implies that ALL destination addresses are OK:
+
+ permit-access localhost
+
+
+A silly example to illustrate permitting any host on the class-C subnet with
+Privoxy to go anywhere:
+
+ permit-access www.privoxy.com/24
+
+
+Except deny one particular IP address from using it at all:
+
+ deny-access ident.privoxy.com
+
+
+You can also 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 Privoxy 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 if some hostnames are listed with multiple IP addresses, the primary
+value returned by DNS (via gethostbyname()) is used. Default: Anyone can access
+the proxy.
+-------------------------------------------------------------------------------
+
+5.3.4. Forwarding
+
+This feature allows chaining 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. Or to use a caching proxy to speed up browsing.
+
+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. Privoxy 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 sequence, 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
+
+
+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 .
+
+
+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 specifying target_domain has changed since the previous
+paragraph was 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 should
+allow cookies from home.com. We consider JavaScript a potential security risk.
+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 a bit tricky, but here's an example:
+
+host-a has a PPP connection to isp-a.com. And host-b has a PPP connection to
+isp-b.com. host-a can run a Privoxy proxy with forwarding like this:
+
+ forward .* .
+ forward isp-b.com host-b:8118
+
+
+host-b can run a Privoxy proxy with forwarding like this:
+
+ forward .* .
+ forward isp-a.com host-a:8118
+
+
+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
+
+
+If you intend to chain Privoxy and squid locally, then chain as browser ->
+squid -> privoxy is the recommended way.
+
+Your squid configuration could then look like this (assuming that the IP
+address of the box is 192.168.0.1 ):
+
+ # Define Privoxy as parent cache
+
+ cache_peer 192.168.0.1 parent 8118 0 no-query
+
+ # don't listen to the whole world
+ http_port 192.168.0.1:3128
+
+ # define the local lan
+ acl mylocallan src 192.168.0.1-192.168.0.5/255.255.255.255
+
+ # grant access for http to local lan
+ http_access allow mylocallan
+
+ # Define ACL for protocol FTP
+ acl FTP proto FTP
+
+ # Do not forward ACL FTP to privoxy
+ always_direct allow FTP
+
+ # Do not forward ACL CONNECT (https) to privoxy
+ always_direct allow CONNECT
+
+ # Forward the rest to privoxy
+ never_direct allow all
+
+-------------------------------------------------------------------------------
+
+5.3.5. Windows GUI Options
+
+Privoxy has a number of options specific to the Windows GUI interface:
+
+If "activity-animation" is set to 1, the Privoxy icon will animate when
+"Privoxy" is active. To turn off, set to 0.
+
+ activity-animation 1
+
+
+If "log-messages" is set to 1, Privoxy will log messages to the console window:
+
+ log-messages 1
+
+
+If "log-buffer-size" is set to 1, the size of the log buffer, i.e. the amount
+of memory used for the log messages displayed in the console window, will be
+limited to "log-max-lines" (see below).
+
+Warning: Setting this to 0 will result in the buffer to grow infinitely and eat
+up all your memory!
+
+ log-buffer-size 1
+
+
+log-max-lines is the maximum number of lines held in the log buffer. See above.
+
+ log-max-lines 200
+
+
+If "log-highlight-messages" is set to 1, Privoxy will highlight portions of the
+log messages with a bold-faced font:
+
+ log-highlight-messages 1
+
+
+The font used in the console window:
+
+ log-font-name Comic Sans MS
+
+
+Font size used in the console window:
+
+ log-font-size 8
+
+
+"show-on-task-bar" controls whether or not Privoxy will appear as a button on
+the Task bar when minimized:
+
+ show-on-task-bar 0
+
+
+If "close-button-minimizes" is set to 1, the Windows close button will minimize
+Privoxy instead of closing the program (close with the exit option on the File
+menu).
+
+ close-button-minimizes 1
+
+
+The "hide-console" option is specific to the MS-Win console version of Privoxy.
+If this option is used, Privoxy will disconnect from and hide the command
+console.
+
+ #hide-console
+
+-------------------------------------------------------------------------------
+
+5.4. The Actions File
+
+The "default.action" file (formerly actionsfile or ijb.action) is used to
+define what actions Privoxy takes, and thus determines how ad images, cookies
+and various other aspects of HTTP content and transactions are handled. These
+can be accepted or rejected for all sites, or just those sites you choose. See
+below for a complete list of actions.
+
+Anything you want can blocked, including ads, banners, or just some obnoxious
+URL that you would rather not see. Cookies can be accepted or rejected, or
+accepted only during the current browser session (i.e. not written to disk).
+Changes to default.action should be immediately visible to Privoxy without the
+need to restart.
+
+Note that some sites may misbehave, or possibly not work at all with some
+actions. This may require some tinkering with the rules to get the most mileage
+of Privoxy's features, and still be able to see and enjoy just what you want
+to. There is no general rule of thumb on these things. There just are too many
+variables, and sites are always changing.
+
+The easiest way to edit the "actions" file is with a browser by loading http://
+p.p/, and then select "Edit Actions List". A text editor can also be used.
+
+To determine which actions apply to a request, the URL of the request is
+compared to all patterns in this file. Every time it matches, the list of
+applicable actions for the URL is incrementally updated. You can trace this
+process by visiting http://p.p/show-url-info.
+
+There are four types of lines in this file: comments (begin with a "#"
+character), actions, aliases and patterns, all of which are explained below, as
+well as the configuration file syntax that Privoxy understands.
+-------------------------------------------------------------------------------
+
+5.4.1. URL Domain and Path Syntax
+
+Generally, a pattern has the form <domain>/<path>, where both the <domain> and
+<path> part are optional. If you only specify a domain part, the "/" can be
+left out:
+
+www.example.com - is a domain only pattern and will match any request to
+"www.example.com".
+
+www.example.com/ - means exactly the same.
+
+www.example.com/index.html - matches only the single document "/index.html" on
+"www.example.com".
+
+/index.html - matches the document "/index.html", regardless of the domain. So
+would match any page named "index.html" on any site.
+
+index.html - matches nothing, since it would be interpreted as a domain name
+and there is no top-level domain called ".html".
+
+The matching of the domain part offers some flexible options: if the domain
+starts or ends with a dot, it becomes unanchored at that end. For example:
+
+.example.com - matches any domain or sub-domain that ENDS in ".example.com".
+
+www. - matches any domain that STARTS with "www".
+
+Additionally, there are wild-cards that you can use in the domain names
+themselves. They work pretty similar to shell wild-cards: "*" stands for zero
+or more arbitrary characters, "?" stands for any single character. And you can
+define character classes in square brackets and they can be freely mixed:
+
+ad*.example.com - matches "adserver.example.com", "ads.example.com", etc but
+not "sfads.example.com".
+
+*ad*.example.com - matches all of the above, and then some.
+
+.?pix.com - matches "www.ipix.com", "pictures.epix.com", "a.b.c.d.e.upix.com",
+etc.
+
+www[1-9a-ez].example.com - matches "www1.example.com", "www4.example.com",
+"wwwd.example.com", "wwwz.example.com", etc., but not "wwww.example.com".
+
+If Privoxy was compiled with "pcre" support (the default), Perl compatible
+regular expressions can be used. These are more flexible and powerful than
+other types of "regular expressions". See the pcre/docs/ directory or "man
+perlre" (also available on http://www.perldoc.com/perl5.6/pod/perlre.html) for
+details. A brief discussion of regular expressions is in the Appendix. For
+instance:
+
+/.*/advert[0-9]+\.jpe?g - would match a URL from any domain, with any path that
+includes "advert" followed immediately by one or more digits, then a "." and
+ending in either "jpeg" or "jpg". So we match "example.com/ads/advert2.jpg",
+and "www.example.com/ads/banners/advert39.jpeg", but not "www.example.com/ads/
+banners/advert39.gif" (no gifs in the example pattern).
+
+Please note that matching in the path is case INSENSITIVE by default, but you
+can switch to case sensitive at any point in the pattern by using the "(?-i)"
+switch:
+
+www.example.com/(?-i)PaTtErN.* - will match only documents whose path starts
+with "PaTtErN" in exactly this capitalization.
+-------------------------------------------------------------------------------
+
+5.4.2. Actions
+
+Actions are enabled if preceded with a "+", and disabled if preceded with a "-"
+. Actions are invoked by enclosing the action name in curly braces (e.g.
+{+some_action}), followed by a list of URLs to which the action applies. There
+are three classes of actions:
+
+ * Boolean (e.g. "+/-block"):
+
+ {+name} # enable this action
+ {-name} # disable this action
+
+
+ * parameterized (e.g. "+/-hide-user-agent"):
+
+ {+name{param}} # enable action and set parameter to "param"
+ {-name} # disable action
+
+
+ * Multi-value (e.g. "{+/-add-header{Name: value}}", "{+/-wafer{name=value}}"
+ ):
+
+ {+name{param}} # enable action and add parameter "param"
+ {-name{param}} # remove the parameter "param"
+ {-name} # disable this action totally
+
+
+
+If nothing is specified in this file, no "actions" are taken. So in this case
+Privoxy would just be a normal, non-blocking, non-anonymizing proxy. You must
+specifically enable the privacy and blocking features you need (although the
+provided default default.action file will give a good starting point).
+
+Later defined actions always over-ride earlier ones. So exceptions to any rules
+you make, should come in the latter part of the file. For multi-valued actions,
+the actions are applied in the order they are specified.
+
+The list of valid Privoxy "actions" are:
+
+ * Add the specified HTTP header, which is not checked for validity. You may
+ specify this many times to specify many different headers:
+
+ +add-header{Name: value}
+
+
+ * Block this URL totally. In a default installation, a "blocked" URL will
+ result in bright red banner that says "BLOCKED", with a reason why it is
+ being blocked, and an option to see it anyway. The page displayed for this
+ is the "blocked" template file.
+
+ +block
+
+
+ * De-animate all animated GIF images, i.e. reduce them to their last frame.
+ This will also shrink the images considerably (in bytes, not pixels!). If
+ the option "first" is given, the first frame of the animation is used as
+ the replacement. If "last" is given, the last frame of the animation is
+ used instead, which probably makes more sense for most banner animations,
+ but also has the risk of not showing the entire last frame (if it is only a
+ delta to an earlier frame).
+
+ +deanimate-gifs{last}
+ +deanimate-gifs{first}
+
+
+ * "+downgrade" will downgrade HTTP/1.1 client requests to HTTP/1.0 and
+ downgrade the responses as well. Use this action for servers that use HTTP/
+ 1.1 protocol features that Privoxy doesn't handle well yet. HTTP/1.1 is
+ only partially implemented. Default is not to downgrade requests.
+
+ +downgrade
+
+
+ * 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 browsing 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
+ ask the server for one redirect after the other. Plus, it feeds the
+ advertisers.
+
+ The "+fast-redirects" option enables interception of these types of
+ requests by Privoxy, 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 intermediate site(s).
+
+ +fast-redirects
+
+
+ * Apply the filters in the section_header section of the default.filter file
+ to the site(s). default.filter sections are grouped according to like
+ functionality. Filters can be used to re-write any of the raw page content.
+ This is a potentially a very powerful feature!
+
+ +filter{section_header}
+
+
+ Filter sections that are pre-defined in the supplied default.filter
+ include:
+
+
+ html-annoyances: Get rid of particularly annoying HTML abuse.