]> 2007-04-12 privoxy 1 Privoxy &p-version; privoxy Privacy Enhancing Proxy privoxy pidfile user[.group] hostname configfile Options Privoxy may be invoked with the following command line options: --help Print brief usage info and exit. --version Print version info and exit. --no-daemon Don't become a daemon, i.e. don't fork and become process group leader, don't detach from controlling tty, and do all logging there. --pidfile pidfile On startup, write the process ID to pidfile. Delete the pidfile on exit. Failure to create or delete the pidfile is non-fatal. If no --pidfile option is given, no PID file will be used. --user user[.group] After (optionally) writing the PID file, assume the user ID of user and the GID of group, or, if the optional group was not given, the default group of user. Exit if the privileges are not sufficient to do so. --chroot Before changing to the user ID given in the --user option, chroot to that user's home directory, i.e. make the kernel pretend to the Privoxy process that the directory tree starts there. If set up carefully, this can limit the impact of possible vulnerabilities in Privoxy to the files contained in that hierarchy. --pre-chroot-nslookup hostname Initialize the resolver library using hostname before chroot'ing. On some systems this reduces the number of files that must be copied into the chroot tree. If the configfile is not specified on the command line, Privoxy will look for a file named config in the current directory . If no configfile is found, Privoxy will fail to start. Description &p-intro; Installation and Usage Browsers can either be individually configured to use Privoxy as a HTTP proxy (recommended), or Privoxy can be combined with a packet filter to build an intercepting proxy (see config). The default setting is for localhost, on port 8118 (configurable in the main config file). To set the HTTP proxy in Netscape and Mozilla, go through: Edit; Preferences; Advanced; Proxies; Manual Proxy Configuration; View. For Firefox, go through: Tools; Options; General; Connection Settings; Manual Proxy Configuration. For Internet Explorer, go through: Tools; Internet Properties; Connections; LAN Settings. The Secure (SSL) Proxy should also be set to the same values, otherwise https: URLs will not be proxied. Note: Privoxy can only proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols. HTTPS presents some limitations, and not all features will work with HTTPS connections. For other browsers, check the documentation. Configuration Privoxy can be configured with the various configuration files. The default configuration files are: config, default.filter, and default.action. user.action should be used for locally defined exceptions to the default rules of default.action, and user.filter for locally defined filters. These are well commented. On Unix and Unix-like systems, these are located in /etc/privoxy/ by default. Privoxy uses the concept of actions in order to manipulate the data stream between the browser and remote sites. There are various actions available with specific functions for such things as blocking web sites, managing cookies, etc. These actions can be invoked individually or combined, and used against individual URLs, or groups of URLs that can be defined using wildcards and regular expressions. The result is that the user has greatly enhanced control and freedom. The actions list (ad blocks, etc) can also be configured with your web browser at http://config.privoxy.org/ (assuming the configuration allows it). Privoxy's configuration parameters can also be viewed at the same page. In addition, Privoxy can be toggled on/off. This is an internal page, and does not require Internet access. See the User Manual for a detailed explanation of installation, general usage, all configuration options, new features and notes on upgrading. Sample Configuration A brief example of what a simple default.action configuration might look like: # Define a few useful custom aliases for later use {{alias}} # Useful aliases that combine more than one action +crunch-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies +block-as-image = +block +handle-as-image # Fragile sites should have the minimum changes fragile = -block -deanimate-gifs -fast-redirects -filter \ -hide-referer -prevent-cookies -kill-popups ## Turn some actions on ################################ ## NOTE: Actions are off by default, unless explictily turned on ## otherwise with the '+' operator. { \ +deanimate-gifs{last} \ +filter{refresh-tags} \ +filter{img-reorder} \ +filter{banners-by-size} \ +filter{webbugs} \ +filter{jumping-windows} \ +filter{ie-exploits} \ +hide-forwarded-for-headers \ +hide-from-header{block} \ +hide-referrer{conditional-block} \ +session-cookies-only \ +set-image-blocker{pattern} \ } / # '/' Match *all* URL patterns # Block all URLs that match these patterns { +block } ad. ad[sv]. .*ads. banner?. /.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?) .hitbox.com media./.*(ads|banner) # Block, and treat these URL patterns as if they were 'images'. # We would expect these to be ads. { +block-as-image } .ad.doubleclick.net .a[0-9].yimg.com/(?:(?!/i/).)*$ ad.*.doubleclick.net # Make exceptions for these harmless ones that would be # caught by our +block patterns just above. { -block } adsl. adobe. advice. .*downloads. # uploads or downloads /.*loads Then for a user.action, we would put local, narrowly defined exceptions: # Re-define aliases as needed here {{alias}} # Useful aliases -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies # Set personal exceptions to the policies in default.action ####### # Sites where we want persistent cookies, so allow *all* cookies { -crunch-cookies -session-cookies-only } .redhat.com .sun.com .msdn.microsoft.com # These sites break easily. Use our "fragile" alias here. { fragile } .forbes.com mybank.example.com # Replace example.com's style sheet with one of my choosing { +redirect{http://localhost/css-replacements/example.com.css} } .example.com/stylesheet.css See the comments in the configuration files themselves, or the User Manual for full explanations of the above syntax, and other Privoxy configuration options. Files /usr/sbin/privoxy /etc/privoxy/config /etc/privoxy/default.action /etc/privoxy/standard.action /etc/privoxy/user.action /etc/privoxy/default.filter /etc/privoxy/user.filter /etc/privoxy/trust /etc/privoxy/templates/* /var/log/privoxy/logfile Various other files should be included, but may vary depending on platform and build configuration. Additional documentation should be included in the local documentation directory. Signals Privoxy terminates on the SIGINT, SIGTERM and SIGABRT signals. Log rotation scripts may cause a re-opening of the logfile by sending a SIGHUP to Privoxy. Note that unlike other daemons, Privoxy does not need to be made aware of config file changes by SIGHUP -- it will detect them automatically. Notes This is a &p-status; version of Privoxy. Not all features are well tested. ]]> Please see the User Manual on how to contact the developers, for feature requests, reporting problems, and other questions. See Also &seealso; Development Team &authors; Copyright and License Copyright ©right; License &license;