From: Ian Silvester Date: Mon, 30 Sep 2013 03:15:42 +0000 (+0000) Subject: Remove content of pkg content dir accidentally imported X-Git-Url: http://www.privoxy.org/gitweb/seealso.html?p=OSXPackageBuilder.git;a=commitdiff_plain;h=339c70f609d5f1df0155e04b459c48893798f724 Remove content of pkg content dir accidentally imported --- diff --git a/pkg content/Library/LaunchDaemons/org.ijbswa.privoxy.plist b/pkg content/Library/LaunchDaemons/org.ijbswa.privoxy.plist deleted file mode 100644 index d7bd7b7..0000000 --- a/pkg content/Library/LaunchDaemons/org.ijbswa.privoxy.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - GroupName - wheel - Label - org.ijbswa.privoxy - ProgramArguments - - /usr/local/sbin/privoxy - --no-daemon - /usr/local/etc/privoxy/config - - RunAtLoad - - StandardErrorPath - /var/log/privoxy/logfile.log - StandardOutPath - /var/log/privoxy/logfile.log - UserName - root - - diff --git a/pkg content/org.ijbswa.privoxy.zip b/pkg content/org.ijbswa.privoxy.zip deleted file mode 100644 index 2c5e7d0..0000000 Binary files a/pkg content/org.ijbswa.privoxy.zip and /dev/null differ diff --git a/pkg content/usr/local/etc/privoxy/vanilla/config b/pkg content/usr/local/etc/privoxy/vanilla/config deleted file mode 100644 index 29f44ba..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/config +++ /dev/null @@ -1,2074 +0,0 @@ -# Sample Configuration File for Privoxy 3.0.21 -# -# $Id: config,v 1.104 2013/03/07 14:11:51 fabiankeil Exp $ -# -# Copyright (C) 2001-2013 Privoxy Developers http://www.privoxy.org/ -# -#################################################################### -# # -# Table of Contents # -# # -# I. INTRODUCTION # -# II. FORMAT OF THE CONFIGURATION FILE # -# # -# 1. LOCAL SET-UP DOCUMENTATION # -# 2. CONFIGURATION AND LOG FILE LOCATIONS # -# 3. DEBUGGING # -# 4. ACCESS CONTROL AND SECURITY # -# 5. FORWARDING # -# 6. MISCELLANEOUS # -# 7. WINDOWS GUI OPTIONS # -# # -#################################################################### -# -# -# I. INTRODUCTION -# =============== -# -# This file holds Privoxy's main configuration. Privoxy detects -# configuration changes automatically, so you don't have to restart -# it unless you want to load a different configuration file. -# -# The configuration will be reloaded with the first request after -# the change was done, this request itself will still use the old -# configuration, though. In other words: it takes two requests -# before you see the result of your changes. Requests that are -# dropped due to ACL don't trigger reloads. -# -# When starting Privoxy on Unix systems, give the location of this -# file as last argument. On Windows systems, Privoxy will look for -# this file with the name 'config.txt' in the current working -# directory of the Privoxy process. -# -# -# II. FORMAT OF THE CONFIGURATION FILE -# ==================================== -# -# 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, -# -# actionsfile default.action -# -# Indicates that the actionsfile is named 'default.action'. -# -# The '#' 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. Removing the # again is called "uncommenting". -# -# Note that commenting out an option and leaving it at its default -# are two completely different things! Most options behave very -# differently when unset. See the "Effect if unset" explanation in -# each option's description for details. -# -# Long lines can be continued on the next line by using a `\' as the -# last character. -# -# -# 1. LOCAL SET-UP DOCUMENTATION -# ============================== -# -# If you intend to operate Privoxy for more users than just -# yourself, it might be a good idea to let them know how to reach -# you, what you block and why you do that, your policies, etc. -# -# -# 1.1. user-manual -# ================= -# -# Specifies: -# -# Location of the Privoxy User Manual. -# -# Type of value: -# -# A fully qualified URI -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# http://www.privoxy.org/version/user-manual/ will be used, -# where version is the Privoxy version. -# -# Notes: -# -# The User Manual URI is the single best source of information -# on Privoxy, and is used for help links from some of the -# internal CGI pages. The manual itself is normally packaged -# with the binary distributions, so you probably want to set -# this to a locally installed copy. -# -# Examples: -# -# The best all purpose solution is simply to put the full local -# PATH to where the User Manual is located: -# -# user-manual /usr/share/doc/privoxy/user-manual -# -# The User Manual is then available to anyone with access to -# Privoxy, by following the built-in URL: http:// -# config.privoxy.org/user-manual/ (or the shortcut: http://p.p/ -# user-manual/). -# -# If the documentation is not on the local system, it can be -# accessed from a remote server, as: -# -# user-manual http://example.com/privoxy/user-manual/ -# -# WARNING!!! -# -# If set, this option should be the first option in the -# config file, because it is used while the config file is -# being read. -# -#user-manual http://www.privoxy.org/user-manual/ -# -# 1.2. trust-info-url -# ==================== -# -# Specifies: -# -# A URL to be displayed in the error page that users will see if -# access to an untrusted page is denied. -# -# Type of value: -# -# URL -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# No links are displayed on the "untrusted" error page. -# -# Notes: -# -# The value of this option only matters if the experimental -# trust mechanism has been activated. (See trustfile below.) -# -# If you use the trust mechanism, it is a good idea to write up -# some on-line documentation about your trust policy and to -# specify the URL(s) here. Use multiple times for multiple URLs. -# -# The URL(s) should be added to the trustfile as well, so users -# don't end up locked out from the information on why they were -# locked out in the first place! -# -#trust-info-url http://www.example.com/why_we_block.html -#trust-info-url http://www.example.com/what_we_allow.html -# -# 1.3. admin-address -# =================== -# -# Specifies: -# -# An email address to reach the Privoxy administrator. -# -# Type of value: -# -# Email address -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# No email address is displayed on error pages and the CGI user -# interface. -# -# Notes: -# -# If both admin-address and proxy-info-url are unset, the whole -# "Local Privoxy Support" box on all generated pages will not be -# shown. -# -#admin-address privoxy-admin@example.com -# -# 1.4. proxy-info-url -# ==================== -# -# Specifies: -# -# A URL to documentation about the local Privoxy setup, -# configuration or policies. -# -# Type of value: -# -# URL -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# No link to local documentation is displayed on error pages and -# the CGI user interface. -# -# Notes: -# -# If both admin-address and proxy-info-url are unset, the whole -# "Local Privoxy Support" box on all generated pages will not be -# shown. -# -# This URL shouldn't be blocked ;-) -# -#proxy-info-url http://www.example.com/proxy-service.html -# -# 2. CONFIGURATION AND LOG FILE LOCATIONS -# ======================================== -# -# Privoxy can (and normally does) use a number of other files for -# additional configuration, help and logging. This section of the -# configuration file tells Privoxy where to find those other files. -# -# The user running Privoxy, must have read permission for all -# configuration files, and write permission to any files that would -# be modified, such as log files and actions files. -# -# -# 2.1. confdir -# ============= -# -# Specifies: -# -# The directory where the other configuration files are located. -# -# Type of value: -# -# Path name -# -# Default value: -# -# /etc/privoxy (Unix) or Privoxy installation dir (Windows) -# -# Effect if unset: -# -# Mandatory -# -# Notes: -# -# No trailing "/", please. -# -confdir /usr/local/etc/privoxy -# -# 2.2. templdir -# ============== -# -# Specifies: -# -# An alternative directory where the templates are loaded from. -# -# Type of value: -# -# Path name -# -# Default value: -# -# unset -# -# Effect if unset: -# -# The templates are assumed to be located in confdir/template. -# -# Notes: -# -# Privoxy's original templates are usually overwritten with each -# update. Use this option to relocate customized templates that -# should be kept. As template variables might change between -# updates, you shouldn't expect templates to work with Privoxy -# releases other than the one they were part of, though. -# -#templdir . -# -# 2.3. logdir -# ============ -# -# Specifies: -# -# The directory where all logging takes place (i.e. where the -# logfile is located). -# -# Type of value: -# -# Path name -# -# Default value: -# -# /var/log/privoxy (Unix) or Privoxy installation dir (Windows) -# -# Effect if unset: -# -# Mandatory -# -# Notes: -# -# No trailing "/", please. -# -logdir /var/log/privoxy -# -# 2.4. actionsfile -# ================= -# -# Specifies: -# -# The actions file(s) to use -# -# Type of value: -# -# Complete file name, relative to confdir -# -# Default values: -# -# match-all.action # Actions that are applied to all sites and maybe overruled later on. -# -# default.action # Main actions file -# -# user.action # User customizations -# -# Effect if unset: -# -# No actions are taken at all. More or less neutral proxying. -# -# Notes: -# -# Multiple actionsfile lines are permitted, and are in fact -# recommended! -# -# The default values are default.action, which is the "main" -# actions file maintained by the developers, and user.action, -# where you can make your personal additions. -# -# Actions files contain all the per site and per URL -# configuration for ad blocking, cookie management, privacy -# considerations, etc. There is no point in using Privoxy -# without at least one actions file. -# -# Note that since Privoxy 3.0.7, the complete filename, -# including the ".action" extension has to be specified. The -# syntax change was necessary to be consistent with the other -# file options and to allow previously forbidden characters. -# -actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on. -actionsfile default.action # Main actions file -actionsfile user.action # User customizations -# -# 2.5. filterfile -# ================ -# -# Specifies: -# -# The filter file(s) to use -# -# Type of value: -# -# File name, relative to confdir -# -# Default value: -# -# default.filter (Unix) or default.filter.txt (Windows) -# -# Effect if unset: -# -# No textual content filtering takes place, i.e. all +filter{name} -# actions in the actions files are turned neutral. -# -# Notes: -# -# Multiple filterfile lines are permitted. -# -# The filter files contain content modification rules that use -# regular expressions. These rules permit powerful changes on -# the content of Web pages, and optionally the headers as well, -# e.g., you could try to disable your favorite JavaScript -# annoyances, re-write the actual displayed text, or just have -# some fun playing buzzword bingo with web pages. -# -# The +filter{name} actions rely on the relevant filter (name) -# to be defined in a filter file! -# -# A pre-defined filter file called default.filter that contains -# a number of useful filters for common problems is included in -# the distribution. See the section on the filter action for a -# list. -# -# It is recommended to place any locally adapted filters into a -# separate file, such as user.filter. -# -filterfile default.filter -filterfile user.filter # User customizations -# -# 2.6. logfile -# ============= -# -# Specifies: -# -# The log file to use -# -# Type of value: -# -# File name, relative to logdir -# -# Default value: -# -# Unset (commented out). When activated: logfile (Unix) or -# privoxy.log (Windows). -# -# Effect if unset: -# -# No logfile is written. -# -# Notes: -# -# The logfile is where all logging and error messages are -# written. The level of detail and number of messages are set -# with the debug option (see below). 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) and it can help you -# to monitor what your browser is doing. -# -# Depending on the debug options below, the logfile may be a -# privacy risk if third parties can get access to it. As most -# users will never look at it, Privoxy 3.0.7 and later only log -# fatal errors by default. -# -# For most troubleshooting purposes, you will have to change -# that, please refer to the debugging section for details. -# -# 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"). -# -# Any log files must be writable by whatever user Privoxy is -# being run as (on Unix, default user id is "privoxy"). -# -logfile logfile.log -# -# 2.7. trustfile -# =============== -# -# Specifies: -# -# The name of the trust file to use -# -# Type of value: -# -# File name, relative to confdir -# -# Default value: -# -# Unset (commented out). When activated: trust (Unix) or -# trust.txt (Windows) -# -# Effect if unset: -# -# The entire trust mechanism is disabled. -# -# Notes: -# -# The trust mechanism is an experimental feature for building -# white-lists and should be used with care. It is NOT -# recommended for the casual user. -# -# If you specify a trust file, Privoxy will only allow access to -# sites that are specified in the trustfile. Sites can be listed -# in one of two ways: -# -# Prepending a ~ character limits access to this site only (and -# any sub-paths within this site), e.g. ~www.example.com allows -# access to ~www.example.com/features/news.html, etc. -# -# Or, you can designate sites as trusted referrers, by -# prepending the name with a + character. The effect is that -# access to untrusted sites will be granted -- but only if a -# link from this trusted referrer was used to get there. The -# link target will then be added to the "trustfile" so that -# future, direct accesses will be granted. Sites added via this -# mechanism do not become trusted referrers themselves (i.e. -# they are added with a ~ designation). There is a limit of 512 -# such entries, after which new entries will not be made. -# -# If you use the + operator in the trust file, it may grow -# considerably over time. -# -# It is recommended that Privoxy be compiled with the -# --disable-force, --disable-toggle and --disable-editor -# options, if this feature is to be used. -# -# Possible applications include limiting Internet access for -# children. -# -#trustfile trust -# -# 3. DEBUGGING -# ============= -# -# These options are mainly useful when tracing a problem. Note that -# you might also want to invoke Privoxy with the --no-daemon command -# line option when debugging. -# -# -# 3.1. debug -# =========== -# -# Specifies: -# -# Key values that determine what information gets logged. -# -# Type of value: -# -# Integer values -# -# Default value: -# -# 0 (i.e.: only fatal errors (that cause Privoxy to exit) are -# logged) -# -# Effect if unset: -# -# Default value is used (see above). -# -# Notes: -# -# The available debug levels are: -# -# debug 1 # Log the destination for each request Privoxy let through. See also debug 1024. -# debug 2 # show each connection status -# debug 4 # show I/O status -# debug 8 # show header parsing -# debug 16 # log all data written to the network -# debug 32 # debug force feature -# debug 64 # debug regular expression filters -# debug 128 # debug redirects -# debug 256 # debug GIF de-animation -# debug 512 # Common Log Format -# debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why. -# debug 2048 # CGI user interface -# debug 4096 # Startup banner and warnings. -# debug 8192 # Non-fatal errors -# debug 32768 # log all data read from the network -# debug 65536 # Log the applying actions -# -# To select multiple debug levels, you can either add them or -# use multiple debug lines. -# -# A debug level of 1 is informative because it will show you -# each request as it happens. 1, 1024, 4096 and 8192 are -# recommended so that you will notice when things go wrong. The -# other levels are probably only of interest if you are hunting -# down a specific problem. They can produce a hell of an output -# (especially 16). -# -# Privoxy used to ship with the debug levels recommended above -# enabled by default, but due to privacy concerns 3.0.7 and -# later are configured to only log fatal errors. -# -# If you are used to the more verbose settings, simply enable -# the debug lines below again. -# -# If you want to use pure CLF (Common Log Format), you should -# set "debug 512" ONLY and not enable anything else. -# -# Privoxy has a hard-coded limit for the length of log messages. -# If it's reached, messages are logged truncated and marked with -# "... [too long, truncated]". -# -# Please don't file any support requests without trying to -# reproduce the problem with increased debug level first. Once -# you read the log messages, you may even be able to solve the -# problem on your own. -# -#debug 1 # Log the destination for each request Privoxy let through. See also debug 1024. -#debug 1024 # Actions that are applied to all sites and maybe overruled later on. -#debug 4096 # Startup banner and warnings -#debug 8192 # Non-fatal errors -# -# 3.2. single-threaded -# ===================== -# -# Specifies: -# -# Whether to run only one server thread. -# -# Type of value: -# -# None -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# Multi-threaded (or, where unavailable: forked) operation, i.e. -# the ability to serve multiple requests simultaneously. -# -# Notes: -# -# This option is only there for debugging purposes. It will -# drastically reduce performance. -# -#single-threaded -# -# 3.3. hostname -# ============== -# -# Specifies: -# -# The hostname shown on the CGI pages. -# -# Type of value: -# -# Text -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# The hostname provided by the operating system is used. -# -# Notes: -# -# On some misconfigured systems resolving the hostname fails or -# takes too much time and slows Privoxy down. Setting a fixed -# hostname works around the problem. -# -# In other circumstances it might be desirable to show a -# hostname other than the one returned by the operating system. -# For example if the system has several different hostnames and -# you don't want to use the first one. -# -# Note that Privoxy does not validate the specified hostname -# value. -# -#hostname hostname.example.org -# -# 4. ACCESS CONTROL AND SECURITY -# =============================== -# -# This section of the config file controls the security-relevant -# aspects of Privoxy's configuration. -# -# -# 4.1. listen-address -# ==================== -# -# Specifies: -# -# The address and TCP port on which Privoxy will listen for -# client requests. -# -# Type of value: -# -# [IP-Address]:Port -# -# [Hostname]:Port -# -# Default value: -# -# 127.0.0.1:8118 -# -# Effect if unset: -# -# Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is -# suitable and recommended for home users who run Privoxy on the -# same machine as their browser. -# -# Notes: -# -# You will need to configure your browser(s) to this proxy -# address and port. -# -# 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. -# -# You can use this statement multiple times to make Privoxy -# listen on more ports or more IP addresses. Suitable if your -# operating system does not support sharing IPv6 and IPv4 -# protocols on the same socket. -# -# If a hostname is used instead of an IP address, Privoxy will -# try to resolve it to an IP address and if there are multiple, -# use the first one returned. -# -# If the address for the hostname isn't already known on the -# system (for example because it's in /etc/hostname), this may -# result in DNS traffic. -# -# If the specified address isn't available on the system, or if -# the hostname can't be resolved, Privoxy will fail to start. -# -# IPv6 addresses containing colons have to be quoted by -# brackets. They can only be used if Privoxy has been compiled -# with IPv6 support. If you aren't sure if your version supports -# it, have a look at http://config.privoxy.org/show-status. -# -# Some operating systems will prefer IPv6 to IPv4 addresses even -# if the system has no IPv6 connectivity which is usually not -# expected by the user. Some even rely on DNS to resolve -# localhost which mean the "localhost" address used may not -# actually be local. -# -# It is therefore recommended to explicitly configure the -# intended IP address instead of relying on the operating -# system, unless there's a strong reason not to. -# -# If you leave out the address, Privoxy will bind to all IPv4 -# interfaces (addresses) on your machine and may become -# reachable from the Internet and/or the local network. Be aware -# that some GNU/Linux distributions modify that behaviour -# without updating the documentation. Check for non-standard -# patches if your Privoxy version behaves differently. -# -# If you configure Privoxy to be reachable from the network, -# consider using access control lists (ACL's, see below), and/or -# a firewall. -# -# If you open Privoxy to untrusted users, you will also want to -# make sure that the following actions are disabled: -# enable-edit-actions and enable-remote-toggle -# -# 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 -# -# Suppose you are running Privoxy on an IPv6-capable machine and -# you want it to listen on the IPv6 address of the loopback -# device: -# -# listen-address [::1]:8118 -# -listen-address 127.0.0.1:8118 -# -# 4.2. toggle -# ============ -# -# Specifies: -# -# Initial state of "toggle" status -# -# Type of value: -# -# 1 or 0 -# -# Default value: -# -# 1 -# -# Effect if unset: -# -# Act as if toggled on -# -# Notes: -# -# If set to 0, Privoxy will start in "toggled off" mode, i.e. -# mostly behave like a normal, content-neutral proxy with both -# ad blocking and content filtering disabled. See -# enable-remote-toggle below. -# -toggle 1 -# -# 4.3. enable-remote-toggle -# ========================== -# -# Specifies: -# -# Whether or not the web-based toggle feature may be used -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# The web-based toggle feature is disabled. -# -# Notes: -# -# When toggled off, Privoxy mostly acts like a normal, -# content-neutral proxy, i.e. doesn't block ads or filter -# content. -# -# Access to the toggle feature can not be controlled separately -# by "ACLs" or HTTP authentication, so that everybody who can -# access Privoxy (see "ACLs" and listen-address above) can -# toggle it for all users. So this option is not recommended for -# multi-user environments with untrusted users. -# -# Note that malicious client side code (e.g Java) is also -# capable of using this option. -# -# As a lot of Privoxy users don't read documentation, this -# feature is disabled by default. -# -# Note that you must have compiled Privoxy with support for this -# feature, otherwise this option has no effect. -# -enable-remote-toggle 0 -# -# 4.4. enable-remote-http-toggle -# =============================== -# -# Specifies: -# -# Whether or not Privoxy recognizes special HTTP headers to -# change its behaviour. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Privoxy ignores special HTTP headers. -# -# Notes: -# -# When toggled on, the client can change Privoxy's behaviour by -# setting special HTTP headers. Currently the only supported -# special header is "X-Filter: No", to disable filtering for the -# ongoing request, even if it is enabled in one of the action -# files. -# -# This feature is disabled by default. If you are using Privoxy -# in a environment with trusted clients, you may enable this -# feature at your discretion. Note that malicious client side -# code (e.g Java) is also capable of using this feature. -# -# This option will be removed in future releases as it has been -# obsoleted by the more general header taggers. -# -enable-remote-http-toggle 0 -# -# 4.5. enable-edit-actions -# ========================= -# -# Specifies: -# -# Whether or not the web-based actions file editor may be used -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# The web-based actions file editor is disabled. -# -# Notes: -# -# Access to the editor can not be controlled separately by -# "ACLs" or HTTP authentication, so that everybody who can -# access Privoxy (see "ACLs" and listen-address above) can -# modify its configuration for all users. -# -# This option is not recommended for environments with untrusted -# users and as a lot of Privoxy users don't read documentation, -# this feature is disabled by default. -# -# Note that malicious client side code (e.g Java) is also -# capable of using the actions editor and you shouldn't enable -# this options unless you understand the consequences and are -# sure your browser is configured correctly. -# -# Note that you must have compiled Privoxy with support for this -# feature, otherwise this option has no effect. -# -enable-edit-actions 0 -# -# 4.6. enforce-blocks -# ==================== -# -# Specifies: -# -# Whether the user is allowed to ignore blocks and can "go there -# anyway". -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Blocks are not enforced. -# -# Notes: -# -# Privoxy is mainly used to block and filter requests as a -# service to the user, for example to block ads and other junk -# that clogs the pipes. Privoxy's configuration isn't perfect -# and sometimes innocent pages are blocked. In this situation it -# makes sense to allow the user to enforce the request and have -# Privoxy ignore the block. -# -# In the default configuration Privoxy's "Blocked" page contains -# a "go there anyway" link to adds a special string (the force -# prefix) to the request URL. If that link is used, Privoxy will -# detect the force prefix, remove it again and let the request -# pass. -# -# Of course Privoxy can also be used to enforce a network -# policy. In that case the user obviously should not be able to -# bypass any blocks, and that's what the "enforce-blocks" option -# is for. If it's enabled, Privoxy hides the "go there anyway" -# link. If the user adds the force prefix by hand, it will not -# be accepted and the circumvention attempt is logged. -# -# Examples: -# -# enforce-blocks 1 -# -enforce-blocks 0 -# -# 4.7. ACLs: permit-access and deny-access -# ========================================= -# -# Specifies: -# -# Who can access what. -# -# Type of value: -# -# src_addr[:port][/src_masklen] [dst_addr[:port][/dst_masklen]] -# -# Where src_addr and dst_addr are IPv4 addresses in dotted -# decimal notation or valid DNS names, port is a port number, -# and src_masklen and dst_masklen are subnet masks in CIDR -# notation, i.e. integer values from 2 to 30 representing the -# length (in bits) of the network address. The masks and the -# whole destination part are optional. -# -# If your system implements RFC 3493, then src_addr and dst_addr -# can be IPv6 addresses delimeted by brackets, port can be a -# number or a service name, and src_masklen and dst_masklen can -# be a number from 0 to 128. -# -# Default value: -# -# Unset -# -# If no port is specified, any port will match. If no -# src_masklen or src_masklen is given, the complete IP address -# has to match (i.e. 32 bits for IPv4 and 128 bits for IPv6). -# -# Effect if unset: -# -# Don't restrict access further than implied by listen-address -# -# Notes: -# -# Access controls are included at the request of ISPs and -# systems administrators, and are not usually needed by -# individual users. For a typical home user, it will normally -# suffice to ensure that Privoxy only listens on the localhost -# (127.0.0.1) or internal (home) network address by means of the -# listen-address option. -# -# Please see the warnings in the FAQ that Privoxy is not -# intended to be a substitute for a firewall or to encourage -# anyone to defer addressing basic security weaknesses. -# -# Multiple ACL lines are OK. If any ACLs are specified, Privoxy -# only talks to IP addresses that match at least one -# permit-access line and don't match any subsequent deny-access -# line. In other words, the last match wins, with the default -# being deny-access. -# -# If Privoxy is using a forwarder (see forward below) for a -# particular destination URL, the dst_addr that is examined is -# the address of the forwarder and NOT the address of the -# ultimate target. This is necessary because it may be -# impossible for the local Privoxy to determine the IP address -# of the ultimate target (that's often what gateways are used -# for). -# -# You should prefer using IP addresses over DNS names, because -# the address lookups take time. All DNS names must resolve! You -# can not use domain patterns like "*.org" or partial domain -# names. If a DNS name resolves to multiple IP addresses, only -# the first one is used. -# -# Some systems allow IPv4 clients to connect to IPv6 server -# sockets. Then the client's IPv4 address will be translated by -# the system into IPv6 address space with special prefix -# ::ffff:0:0/96 (so called IPv4 mapped IPv6 address). Privoxy -# can handle it and maps such ACL addresses automatically. -# -# Denying access to particular sites by ACL may have undesired -# side effects if the site in question is hosted on a machine -# which also hosts other sites (most sites are). -# -# Examples: -# -# Explicitly define the default behavior if no ACL and -# listen-address are set: "localhost" is OK. The absence of a -# dst_addr implies that all destination addresses are OK: -# -# permit-access localhost -# -# Allow any host on the same class C subnet as www.privoxy.org -# access to nothing but www.example.com (or other domains hosted -# on the same system): -# -# permit-access www.privoxy.org/24 www.example.com/32 -# -# Allow access from any host on the 26-bit subnet 192.168.45.64 -# to anywhere, with the exception that 192.168.45.73 may not -# access the IP address behind www.dirty-stuff.example.com: -# -# permit-access 192.168.45.64/26 -# deny-access 192.168.45.73 www.dirty-stuff.example.com -# -# Allow access from the IPv4 network 192.0.2.0/24 even if -# listening on an IPv6 wild card address (not supported on all -# platforms): -# -# permit-access 192.0.2.0/24 -# -# This is equivalent to the following line even if listening on -# an IPv4 address (not supported on all platforms): -# -# permit-access [::ffff:192.0.2.0]/120 -# -# -# 4.8. buffer-limit -# ================== -# -# Specifies: -# -# Maximum size of the buffer for content filtering. -# -# Type of value: -# -# Size in Kbytes -# -# Default value: -# -# 4096 -# -# Effect if unset: -# -# Use a 4MB (4096 KB) limit. -# -# Notes: -# -# 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. Hence this -# option. -# -# When a document buffer size reaches the buffer-limit, it is -# flushed to the client unfiltered and no further attempt to -# filter the rest of the document is made. Remember that there -# may be multiple threads running, which might require up to -# buffer-limit Kbytes each, unless you have enabled -# "single-threaded" above. -# -buffer-limit 4096 -# -# 4.9. enable-proxy-authentication-forwarding -# ============================================ -# -# Specifies: -# -# Whether or not proxy authentication through Privoxy should -# work. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Proxy authentication headers are removed. -# -# Notes: -# -# Privoxy itself does not support proxy authentication, but can -# allow clients to authenticate against Privoxy's parent proxy. -# -# By default Privoxy (3.0.21 and later) don't do that and remove -# Proxy-Authorization headers in requests and Proxy-Authenticate -# headers in responses to make it harder for malicious sites to -# trick inexperienced users into providing login information. -# -# If this option is enabled the headers are forwarded. -# -# Enabling this option is not recommended if there is no parent -# proxy that requires authentication or if the local network -# between Privoxy and the parent proxy isn't trustworthy. If -# proxy authentication is only required for some requests, it is -# recommended to use a client header filter to remove the -# authentication headers for requests where they aren't needed. -# -enable-proxy-authentication-forwarding 0 -# -# 5. FORWARDING -# ============== -# -# This feature allows routing of HTTP requests through a chain of -# multiple proxies. -# -# Forwarding can be used to chain Privoxy with a caching proxy to -# speed up browsing. Using a parent proxy may also be necessary if -# the machine that Privoxy runs on has no direct Internet access. -# -# Note that parent proxies can severely decrease your privacy level. -# For example a parent proxy could add your IP address to the -# request headers and if it's a caching proxy it may add the "Etag" -# header to revalidation requests again, even though you configured -# Privoxy to remove it. It may also ignore Privoxy's header time -# randomization and use the original values which could be used by -# the server as cookie replacement to track your steps between -# visits. -# -# Also specified here are SOCKS proxies. Privoxy supports the SOCKS -# 4 and SOCKS 4A protocols. -# -# -# 5.1. forward -# ============= -# -# Specifies: -# -# To which parent HTTP proxy specific requests should be routed. -# -# Type of value: -# -# target_pattern http_parent[:port] -# -# where target_pattern is a URL pattern that specifies to which -# requests (i.e. URLs) this forward rule shall apply. Use / to -# denote "all URLs". http_parent[:port] is the DNS name or IP -# address of the parent HTTP proxy through which the requests -# should be forwarded, optionally followed by its listening port -# (default: 8000). Use a single dot (.) to denote "no -# forwarding". -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# Don't use parent HTTP proxies. -# -# Notes: -# -# If http_parent is ".", then requests are not forwarded to -# another HTTP proxy but are made directly to the web servers. -# -# http_parent can be a numerical IPv6 address (if RFC 3493 is -# implemented). To prevent clashes with the port delimiter, the -# whole IP address has to be put into brackets. On the other -# hand a target_pattern containing an IPv6 address has to be put -# into angle brackets (normal brackets are reserved for regular -# expressions already). -# -# Multiple lines are OK, they are checked in sequence, and the -# last match wins. -# -# Examples: -# -# Everything goes to an example parent proxy, except SSL on port -# 443 (which it doesn't handle): -# -# forward / parent-proxy.example.org:8080 -# forward :443 . -# -# Everything goes to our example ISP's caching proxy, except for -# requests to that ISP's sites: -# -# forward / caching-proxy.isp.example.net:8000 -# forward .isp.example.net . -# -# Parent proxy specified by an IPv6 address: -# -# forward / [2001:DB8::1]:8000 -# -# Suppose your parent proxy doesn't support IPv6: -# -# forward / parent-proxy.example.org:8000 -# forward ipv6-server.example.org . -# forward <[2-3][0-9a-f][0-9a-f][0-9a-f]:*> . -# -# -# 5.2. forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t -# ========================================================================= -# -# Specifies: -# -# Through which SOCKS proxy (and optionally to which parent HTTP -# proxy) specific requests should be routed. -# -# Type of value: -# -# target_pattern socks_proxy[:port] http_parent[:port] -# -# where target_pattern is a URL pattern that specifies to which -# requests (i.e. URLs) this forward rule shall apply. Use / to -# denote "all URLs". http_parent and socks_proxy are IP -# addresses in dotted decimal notation or valid DNS names ( -# http_parent may be "." to denote "no HTTP forwarding"), and -# the optional port parameters are TCP ports, i.e. integer -# values from 1 to 65535 -# -# Default value: -# -# Unset -# -# Effect if unset: -# -# Don't use SOCKS proxies. -# -# Notes: -# -# Multiple lines are OK, they are checked in sequence, and the -# last match wins. -# -# The difference between forward-socks4 and forward-socks4a is -# that in the SOCKS 4A protocol, the DNS resolution of the -# target hostname happens on the SOCKS server, while in SOCKS 4 -# it happens locally. -# -# With forward-socks5 the DNS resolution will happen on the -# remote server as well. -# -# forward-socks5t works like vanilla forward-socks5 but lets -# Privoxy additionally use Tor-specific SOCKS extensions. -# Currently the only supported SOCKS extension is optimistic -# data which can reduce the latency for the first request made -# on a newly created connection. -# -# socks_proxy and http_parent can be a numerical IPv6 address -# (if RFC 3493 is implemented). To prevent clashes with the port -# delimiter, the whole IP address has to be put into brackets. -# On the other hand a target_pattern containing an IPv6 address -# has to be put into angle brackets (normal brackets are -# reserved for regular expressions already). -# -# If http_parent is ".", then requests are not forwarded to -# another HTTP proxy but are made (HTTP-wise) directly to the -# web servers, albeit through a SOCKS proxy. -# -# Examples: -# -# From the company example.com, direct connections are made to -# all "internal" domains, but everything outbound goes through -# their ISP's proxy by way of example.com's corporate SOCKS 4A -# gateway to the Internet. -# -# forward-socks4a / socks-gw.example.com:1080 www-cache.isp.example.net:8080 -# forward .example.com . -# -# A rule that uses a SOCKS 4 gateway for all destinations but no -# HTTP parent looks like this: -# -# forward-socks4 / socks-gw.example.com:1080 . -# -# To chain Privoxy and Tor, both running on the same system, you -# would use something like: -# -# forward-socks5 / 127.0.0.1:9050 . -# -# The public Tor network can't be used to reach your local -# network, if you need to access local servers you therefore -# might want to make some exceptions: -# -# forward 192.168.*.*/ . -# forward 10.*.*.*/ . -# forward 127.*.*.*/ . -# -# Unencrypted connections to systems in these address ranges -# will be as (un)secure as the local network is, but the -# alternative is that you can't reach the local network through -# Privoxy at all. Of course this may actually be desired and -# there is no reason to make these exceptions if you aren't sure -# you need them. -# -# If you also want to be able to reach servers in your local -# network by using their names, you will need additional -# exceptions that look like this: -# -# forward localhost/ . -# -# -# 5.3. forwarded-connect-retries -# =============================== -# -# Specifies: -# -# How often Privoxy retries if a forwarded connection request -# fails. -# -# Type of value: -# -# Number of retries. -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Connections forwarded through other proxies are treated like -# direct connections and no retry attempts are made. -# -# Notes: -# -# forwarded-connect-retries is mainly interesting for socks4a -# connections, where Privoxy can't detect why the connections -# failed. The connection might have failed because of a DNS -# timeout in which case a retry makes sense, but it might also -# have failed because the server doesn't exist or isn't -# reachable. In this case the retry will just delay the -# appearance of Privoxy's error message. -# -# Note that in the context of this option, "forwarded -# connections" includes all connections that Privoxy forwards -# through other proxies. This option is not limited to the HTTP -# CONNECT method. -# -# Only use this option, if you are getting lots of -# forwarding-related error messages that go away when you try -# again manually. Start with a small value and check Privoxy's -# logfile from time to time, to see how many retries are usually -# needed. -# -# Examples: -# -# forwarded-connect-retries 1 -# -forwarded-connect-retries 0 -# -# 6. MISCELLANEOUS -# ================= -# -# 6.1. accept-intercepted-requests -# ================================= -# -# Specifies: -# -# Whether intercepted requests should be treated as valid. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Only proxy requests are accepted, intercepted requests are -# treated as invalid. -# -# Notes: -# -# If you don't trust your clients and want to force them to use -# Privoxy, enable this option and configure your packet filter -# to redirect outgoing HTTP connections into Privoxy. -# -# Make sure that Privoxy's own requests aren't redirected as -# well. Additionally take care that Privoxy can't intentionally -# connect to itself, otherwise you could run into redirection -# loops if Privoxy's listening port is reachable by the outside -# or an attacker has access to the pages you visit. -# -# Examples: -# -# accept-intercepted-requests 1 -# -accept-intercepted-requests 0 -# -# 6.2. allow-cgi-request-crunching -# ================================= -# -# Specifies: -# -# Whether requests to Privoxy's CGI pages can be blocked or -# redirected. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Privoxy ignores block and redirect actions for its CGI pages. -# -# Notes: -# -# By default Privoxy ignores block or redirect actions for its -# CGI pages. Intercepting these requests can be useful in -# multi-user setups to implement fine-grained access control, -# but it can also render the complete web interface useless and -# make debugging problems painful if done without care. -# -# Don't enable this option unless you're sure that you really -# need it. -# -# Examples: -# -# allow-cgi-request-crunching 1 -# -allow-cgi-request-crunching 0 -# -# 6.3. split-large-forms -# ======================= -# -# Specifies: -# -# Whether the CGI interface should stay compatible with broken -# HTTP clients. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# The CGI form generate long GET URLs. -# -# Notes: -# -# Privoxy's CGI forms can lead to rather long URLs. This isn't a -# problem as far as the HTTP standard is concerned, but it can -# confuse clients with arbitrary URL length limitations. -# -# Enabling split-large-forms causes Privoxy to divide big forms -# into smaller ones to keep the URL length down. It makes -# editing a lot less convenient and you can no longer submit all -# changes at once, but at least it works around this browser -# bug. -# -# If you don't notice any editing problems, there is no reason -# to enable this option, but if one of the submit buttons -# appears to be broken, you should give it a try. -# -# Examples: -# -# split-large-forms 1 -# -split-large-forms 0 -# -# 6.4. keep-alive-timeout -# ======================== -# -# Specifies: -# -# Number of seconds after which an open connection will no -# longer be reused. -# -# Type of value: -# -# Time in seconds. -# -# Default value: -# -# None -# -# Effect if unset: -# -# Connections are not kept alive. -# -# Notes: -# -# This option allows clients to keep the connection to Privoxy -# alive. If the server supports it, Privoxy will keep the -# connection to the server alive as well. Under certain -# circumstances this may result in speed-ups. -# -# By default, Privoxy will close the connection to the server if -# the client connection gets closed, or if the specified timeout -# has been reached without a new request coming in. This -# behaviour can be changed with the connection-sharing option. -# -# This option has no effect if Privoxy has been compiled without -# keep-alive support. -# -# Note that a timeout of five seconds as used in the default -# configuration file significantly decreases the number of -# connections that will be reused. The value is used because -# some browsers limit the number of connections they open to a -# single host and apply the same limit to proxies. This can -# result in a single website "grabbing" all the connections the -# browser allows, which means connections to other websites -# can't be opened until the connections currently in use time -# out. -# -# Several users have reported this as a Privoxy bug, so the -# default value has been reduced. Consider increasing it to 300 -# seconds or even more if you think your browser can handle it. -# If your browser appears to be hanging, it probably can't. -# -# Examples: -# -# keep-alive-timeout 300 -# -keep-alive-timeout 5 -# -# 6.5. tolerate-pipelining -# ========================= -# -# Specifies: -# -# Whether or not pipelined requests should be served. -# -# Type of value: -# -# 0 or 1. -# -# Default value: -# -# None -# -# Effect if unset: -# -# If Privoxy receives more than one request at once, it -# terminates the client connection after serving the first one. -# -# Notes: -# -# Privoxy currently doesn't pipeline outgoing requests, thus -# allowing pipelining on the client connection is not guaranteed -# to improve the performance. -# -# By default Privoxy tries to discourage clients from pipelining -# by discarding aggressively pipelined requests, which forces -# the client to resend them through a new connection. -# -# This option lets Privoxy tolerate pipelining. Whether or not -# that improves performance mainly depends on the client -# configuration. -# -# If you are seeing problems with pages not properly loading, -# disabling this option could work around the problem. -# -# Examples: -# -# tolerate-pipelining 1 -# -tolerate-pipelining 1 -# -# 6.6. default-server-timeout -# ============================ -# -# Specifies: -# -# Assumed server-side keep-alive timeout if not specified by the -# server. -# -# Type of value: -# -# Time in seconds. -# -# Default value: -# -# None -# -# Effect if unset: -# -# Connections for which the server didn't specify the keep-alive -# timeout are not reused. -# -# Notes: -# -# Enabling this option significantly increases the number of -# connections that are reused, provided the keep-alive-timeout -# option is also enabled. -# -# While it also increases the number of connections problems -# when Privoxy tries to reuse a connection that already has been -# closed on the server side, or is closed while Privoxy is -# trying to reuse it, this should only be a problem if it -# happens for the first request sent by the client. If it -# happens for requests on reused client connections, Privoxy -# will simply close the connection and the client is supposed to -# retry the request without bothering the user. -# -# Enabling this option is therefore only recommended if the -# connection-sharing option is disabled. -# -# It is an error to specify a value larger than the -# keep-alive-timeout value. -# -# This option has no effect if Privoxy has been compiled without -# keep-alive support. -# -# Examples: -# -# default-server-timeout 60 -# -#default-server-timeout 60 -# -# 6.7. connection-sharing -# ======================== -# -# Specifies: -# -# Whether or not outgoing connections that have been kept alive -# should be shared between different incoming connections. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# None -# -# Effect if unset: -# -# Connections are not shared. -# -# Notes: -# -# This option has no effect if Privoxy has been compiled without -# keep-alive support, or if it's disabled. -# -# Notes: -# -# Note that reusing connections doesn't necessary cause -# speedups. There are also a few privacy implications you should -# be aware of. -# -# If this option is effective, outgoing connections are shared -# between clients (if there are more than one) and closing the -# browser that initiated the outgoing connection does no longer -# affect the connection between Privoxy and the server unless -# the client's request hasn't been completed yet. -# -# If the outgoing connection is idle, it will not be closed -# until either Privoxy's or the server's timeout is reached. -# While it's open, the server knows that the system running -# Privoxy is still there. -# -# If there are more than one client (maybe even belonging to -# multiple users), they will be able to reuse each others -# connections. This is potentially dangerous in case of -# authentication schemes like NTLM where only the connection is -# authenticated, instead of requiring authentication for each -# request. -# -# If there is only a single client, and if said client can keep -# connections alive on its own, enabling this option has next to -# no effect. If the client doesn't support connection -# keep-alive, enabling this option may make sense as it allows -# Privoxy to keep outgoing connections alive even if the client -# itself doesn't support it. -# -# You should also be aware that enabling this option increases -# the likelihood of getting the "No server or forwarder data" -# error message, especially if you are using a slow connection -# to the Internet. -# -# This option should only be used by experienced users who -# understand the risks and can weight them against the benefits. -# -# Examples: -# -# connection-sharing 1 -# -#connection-sharing 1 -# -# 6.8. socket-timeout -# ==================== -# -# Specifies: -# -# Number of seconds after which a socket times out if no data is -# received. -# -# Type of value: -# -# Time in seconds. -# -# Default value: -# -# None -# -# Effect if unset: -# -# A default value of 300 seconds is used. -# -# Notes: -# -# The default is quite high and you probably want to reduce it. -# If you aren't using an occasionally slow proxy like Tor, -# reducing it to a few seconds should be fine. -# -# Examples: -# -# socket-timeout 300 -# -socket-timeout 300 -# -# 6.9. max-client-connections -# ============================ -# -# Specifies: -# -# Maximum number of client connections that will be served. -# -# Type of value: -# -# Positive number. -# -# Default value: -# -# 128 -# -# Effect if unset: -# -# Connections are served until a resource limit is reached. -# -# Notes: -# -# Privoxy creates one thread (or process) for every incoming -# client connection that isn't rejected based on the access -# control settings. -# -# If the system is powerful enough, Privoxy can theoretically -# deal with several hundred (or thousand) connections at the -# same time, but some operating systems enforce resource limits -# by shutting down offending processes and their default limits -# may be below the ones Privoxy would require under heavy load. -# -# Configuring Privoxy to enforce a connection limit below the -# thread or process limit used by the operating system makes -# sure this doesn't happen. Simply increasing the operating -# system's limit would work too, but if Privoxy isn't the only -# application running on the system, you may actually want to -# limit the resources used by Privoxy. -# -# If Privoxy is only used by a single trusted user, limiting the -# number of client connections is probably unnecessary. If there -# are multiple possibly untrusted users you probably still want -# to additionally use a packet filter to limit the maximal -# number of incoming connections per client. Otherwise a -# malicious user could intentionally create a high number of -# connections to prevent other users from using Privoxy. -# -# Obviously using this option only makes sense if you choose a -# limit below the one enforced by the operating system. -# -# One most POSIX-compliant systems Privoxy can't properly deal -# with more than FD_SETSIZE file descriptors at the same time -# and has to reject connections if the limit is reached. This -# will likely change in a future version, but currently this -# limit can't be increased without recompiling Privoxy with a -# different FD_SETSIZE limit. -# -# Examples: -# -# max-client-connections 256 -# -#max-client-connections 256 -# -# 6.10. handle-as-empty-doc-returns-ok -# ===================================== -# -# Specifies: -# -# The status code Privoxy returns for pages blocked with -# +handle-as-empty-document. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Privoxy returns a status 403(forbidden) for all blocked pages. -# -# Effect if set: -# -# Privoxy returns a status 200(OK) for pages blocked with -# +handle-as-empty-document and a status 403(Forbidden) for all -# other blocked pages. -# -# Notes: -# -# This is a work-around for Firefox bug 492459: " Websites are -# no longer rendered if SSL requests for JavaScripts are blocked -# by a proxy. " (https://bugzilla.mozilla.org/show_bug.cgi?id= -# 492459) As the bug has been fixed for quite some time this -# option should no longer be needed and will be removed in a -# future release. Please speak up if you have a reason why the -# option should be kept around. -# -#handle-as-empty-doc-returns-ok 1 -# -# 6.11. enable-compression -# ========================= -# -# Specifies: -# -# Whether or not buffered content is compressed before delivery. -# -# Type of value: -# -# 0 or 1 -# -# Default value: -# -# 0 -# -# Effect if unset: -# -# Privoxy does not compress buffered content. -# -# Effect if set: -# -# Privoxy compresses buffered content before delivering it to -# the client, provided the client supports it. -# -# Notes: -# -# This directive is only supported if Privoxy has been compiled -# with FEATURE_COMPRESSION, which should not to be confused with -# FEATURE_ZLIB. -# -# Compressing buffered content is mainly useful if Privoxy and -# the client are running on different systems. If they are -# running on the same system, enabling compression is likely to -# slow things down. If you didn't measure otherwise, you should -# assume that it does and keep this option disabled. -# -# Privoxy will not compress buffered content below a certain -# length. -# -#enable-compression 1 -# -# 6.12. compression-level -# ======================== -# -# Specifies: -# -# The compression level that is passed to the zlib library when -# compressing buffered content. -# -# Type of value: -# -# Positive number ranging from 0 to 9. -# -# Default value: -# -# 1 -# -# Notes: -# -# Compressing the data more takes usually longer than -# compressing it less or not compressing it at all. Which level -# is best depends on the connection between Privoxy and the -# client. If you can't be bothered to benchmark it for yourself, -# you should stick with the default and keep compression -# disabled. -# -# If compression is disabled, the compression level is -# irrelevant. -# -# Examples: -# -# # Best speed (compared to the other levels) -# compression-level 1 -# -# # Best compression -# compression-level 9 -# -# # No compression. Only useful for testing as the added header -# # slightly increases the amount of data that has to be sent. -# # If your benchmark shows that using this compression level -# # is superior to using no compression at all, the benchmark -# # is likely to be flawed. -# compression-level 0 -# -# -#compression-level 1 -# -# 6.13. client-header-order -# ========================== -# -# Specifies: -# -# The order in which client headers are sorted before forwarding -# them. -# -# Type of value: -# -# Client header names delimited by spaces or tabs -# -# Default value: -# -# None -# -# Notes: -# -# By default Privoxy leaves the client headers in the order they -# were sent by the client. Headers are modified in-place, new -# headers are added at the end of the already existing headers. -# -# The header order can be used to fingerprint client requests -# independently of other headers like the User-Agent. -# -# This directive allows to sort the headers differently to -# better mimic a different User-Agent. Client headers will be -# emitted in the order given, headers whose name isn't -# explicitly specified are added at the end. -# -# Note that sorting headers in an uncommon way will make -# fingerprinting actually easier. Encrypted headers are not -# affected by this directive. -# -#client-header-order Host \ -# Accept \ -# Accept-Language \ -# Accept-Encoding \ -# Proxy-Connection \ -# Referer \ -# Cookie \ -# DNT \ -# If-Modified-Since \ -# Cache-Control \ -# Content-Length \ -# Content-Type -# -# -# 7. 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 copies log messages to the -# console window. The log detail depends on the debug directive. -# -#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 -# -# -# diff --git a/pkg content/usr/local/etc/privoxy/vanilla/default.action b/pkg content/usr/local/etc/privoxy/vanilla/default.action deleted file mode 100644 index b46678a..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/default.action +++ /dev/null @@ -1,1893 +0,0 @@ -###################################################################### -# -# File : $Source: /cvsroot/ijbswa/current/default.action.master,v $ -# -# $Id: default.action.master,v 1.287 2013/03/03 10:53:36 fabiankeil Exp $ -# -# Requires : This version requires Privoxy v3.0.11 or later due to -# syntax changes. -# -# Purpose : Default actions file, see -# http://www.privoxy.org/user-manual/actions-file.html. -# This file is subject to periodic updating. It is -# not supposed to be edited by the user. Local exceptions -# and enhancements are better placed in user.action, -# the match-all section has been moved to match-all.action. -# -# Copyright : Written by and Copyright (C) 2001-2013 the -# Privoxy team. http://www.privoxy.org/ -# -# Feedback welcome, for details please have a look at: -# http://www.privoxy.org/user-manual/contact.html -# -# The current development version of this file is located: -# http://ijbswa.cvs.sourceforge.net/*checkout*/ijbswa/current/default.action.master -# -############################################################################# -# Syntax -############################################################################# -# -# A much better explanation can be found in the user manual which is -# part of the distribution and can be found at http://www.privoxy.org/user-manual -# -# 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 this URL is incrementally updated. You can trace -# this process by visiting http://config.privoxy.org/show-url-info -# -# There are 4 types of lines in this file: comments (like this line), -# actions, aliases and patterns, all of which are explained below. -# -############################################################################# -# Pattern Syntax -############################################################################# -# -# 1. On Domains and Paths -# ----------------------- -# -# Generally, a pattern has the form /, where both the -# and part are optional. The pattern matching syntax is different for -# each. If you only specify a domain part, the "/" can be left out, but it is -# required for the path part. -# -# www.example.com -# is a domain-only pattern and will match any request to www.example.com -# -# www.example.com/ -# means exactly the same (but is slightly less efficient) -# -# www.example.com/index.html -# matches only the document /index.html on www.example.com -# -# /index.html -# matches the document /index.html, regardless of the domain -# -# index.html -# matches nothing, since it would be interpreted as a domain name and -# there is no top-level domain called ".html". -# -# 2. Domain Syntax -# ---------------- -# -# 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: -# -# www.example.com -# matches only www.example.com -# -# .example.com -# matches any domain that ENDS in .example.com -# -# www. -# matches any domain that STARTS with www. -# -# .example. -# matches any domain that CONTAINS example -# -# -# Additionally, there are wildcards that you can use in the domain names -# themselves. They work pretty similar to shell wildcards: "*" stands for -# zero or more arbitrary characters, "?" stands for one, 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 -# -# .?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 -# -# You get the idea? -# -# 2. Path Syntax -# -------------- -# -# Paths are specified as full regular expressions, and are more flexible than -# the domain syntax above. A comprehensive discussion of regular expressions -# wouldn't fit here. -# -# Perl compatible regular expressions are used. See the pcre/docs/ direcory or -# man perlre (also available at http://perldoc.perl.org/perlre.html) for -# details. The appendix to our User Manual also has some detail. -# -# Please note that matching in the path is CASE INSENSITIVE by default, but -# you can switch to case sensitive by starting the pattern with the "(?-i)" -# switch: -# -# www.example.com/(?-i)PaTtErN.* -# will match only documents whose path starts with PaTtErN in exactly this -# capitalization. -# -# Partially case-sensitive and partially case-insensitive patterns are -# possible, but the rules about splitting them up are extremely complex -# - see the PCRE documentation for more information. -# -############################################################################# -# Action Syntax -############################################################################# -# -# There are 3 kinds of actions: -# -# Boolean (e.g. "handle-as-image"): -# +name # enable -# -name # disable -# -# Parameterized (e.g. "hide-user-agent"): -# +name{param} # enable and set parameter to "param" -# -name # disable -# -# Multi-value (e.g. "add-header", "filter"): -# +name{param} # enable and add parameter "param" -# -name{param} # remove the parameter "param" -# -name # disable totally -# -# The default (if you don't specify anything in this file) is not to take -# any actions - i.e completely disabled, so Privoxy will just be a -# normal, non-blocking, non-anonymizing proxy. You must specifically -# enable the privacy and blocking features you need (although the -# provided default actions file will do that for you). -# -# Later actions always override earlier ones. For multi-valued actions, -# the actions are applied in the order they are specified. -# -############################################################################# -# Valid actions are: -############################################################################# -# -# +add-header{Name: value} -# Adds the specified HTTP header, which is not checked for validity. -# You may specify this many times to specify many headers. -# -# +block{reason} -# Block this URL. Instead of forwarding the request, Privoxy will -# send a "block" page containing the specified reason. -# -# +change-x-forwarded-for{add} -# +change-x-forwarded-for{block} -# Adds or blocks the "X-Forwarded-For:" HTTP header in client -# requests. -# -# +client-header-filter{name} -# All client headers to which this action applies are filtered on-the-fly -# through the specified regular expression based substitutions. -# -# Client-header filters predefined in the supplied default.filter include: -# -# hide-tor-exit-notation: Removes the Tor exit node notation in Host and Referer headers. -# privoxy-control: Removes X-Privoxy-Control headers. -# -# +client-header-tagger{string} -# Tag requests based on their headers. Client headers to which this -# action applies are filtered on-the-fly through the specified regular -# expression based substitutions, the result is used as a tag. -# Client-header taggers are the first actions that are executed and their -# tags can be used to control every other action. -# -# Client-header taggers predefined in the supplied default.filter include: -# -# image-requests: Tags detected image requests as "IMAGE-REQUEST". -# css-requests: Tags detected CSS requests as "CSS-REQUEST". -# range-requests: Tags range requests as "RANGE-REQUEST". -# client-ip-address: Tags the request with the client's IP address. -# http-method: Tags the request with its HTTP method. -# allow-post: Tags POST requests as "ALLOWED-POST". -# complete-url: Tags the request with the whole request URL. -# user-agent: Tags the request with the complete User-Agent header. -# referer: Tags the request with the complete Referer header. -# privoxy-control: Creates tags with the content of X-Privoxy-Control headers. -# -# +content-type-overwrite -# Replaces the "Content-Type:" HTTP server header, so that unwanted -# download menus will not pop up, or changes the browser's rendering mode. -# -# +crunch-client-header{string} -# Deletes every header sent by the client that contains the string the -# user supplied as parameter. -# -# +crunch-if-none-match -# Deletes the "If-None-Match:" HTTP client header. -# -# +crunch-server-header{string} -# Deletes every header sent by the server that contains the string the -# user supplied as a parameter. -# -# +deanimate-gifs{last} -# +deanimate-gifs{first} -# Deanimate 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 propably 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). -# -# +downgrade-http-version -# 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 currently can't handle yet. -# -# +fast-redirects{check-decoded-url} -# +fast-redirects{simple-check} -# 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 asks the server for one redirect -# after the other. Plus, it feeds the advertisers. -# -# The +fast-redirects{check-decoded-url} option enables interception of -# these 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 sites. NOTE: Syntax change as of v.3.0.4. -# -# +filter{name} -# All files of text-based type, most notably HTML and JavaScript, to which -# this action applies, can be filtered on-the-fly through the specified -# regular expression based substitutions. (Note: plain text documents are -# exempted from filtering, because web servers often use the text/plain -# MIME type for all files whose type they don't know.) By default, -# filtering works only on the raw document content itself (that which can -# be seen with View Source), not the headers. Repeat for multiple filters. -# Use with caution: filters can be very intrusive. -# -# Filters predefined in the supplied default.filter include: -# -# js-annoyances: Get rid of particularly annoying JavaScript abuse. -# js-events: Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites). -# html-annoyances: Get rid of particularly annoying HTML abuse. -# content-cookies: Kill cookies that come in the HTML or JS content. -# refresh-tags: Kill automatic refresh tags if refresh time is larger than 9 seconds. -# unsolicited-popups: Disable only unsolicited pop-up windows. -# all-popups: Kill all popups in JavaScript and HTML. -# img-reorder: Reorder attributes in tags to make the banners-by-* filters more effective. -# banners-by-size: Kill banners by size. -# banners-by-link: Kill banners by their links to known clicktrackers. -# webbugs: Squish WebBugs (1x1 invisible GIFs used for user tracking). -# tiny-textforms: Extend those tiny textareas up to 40x80 and kill the hard wrap. -# jumping-windows: Prevent windows from resizing and moving themselves. -# frameset-borders: Give frames a border and make them resizable. -# iframes: Removes all detected iframes. Should only be enabled for individual sites. -# demoronizer: Fix MS's non-standard use of standard charsets. -# shockwave-flash: Kill embedded Shockwave Flash objects. -# quicktime-kioskmode: Make Quicktime movies saveable. -# fun: Text replacements for subversive browsing fun! -# crude-parental: Crude parental filtering. Note that this filter doesn't work reliably. -# ie-exploits: Disable some known Internet Explorer bug exploits. -# site-specifics: Cure for site-specific problems. Don't apply generally! -# no-ping: Removes non-standard ping attributes in and tags. -# google: CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement. -# yahoo: CSS-based block for Yahoo text ads. Also removes a width limitation. -# msn: CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation. -# blogspot: Cleans up some Blogspot blogs. Read the fine print before using this. -# -# +force-text-mode -# Declares a document as plain text, even if the "Content-Type:" isn't detected -# as such. -# -# +forward-override{forward .} -# +forward-override{forward 127.0.0.1:8123} -# +forward-override{forward-socks4a 127.0.0.1:9050 .} -# +forward-override{forward-socks4a 127.0.0.1:9050 proxy.example.org:8000} -# +forward-override{forward-socks5 127.0.0.1:9050 .} -# +forward-override{forward-socks5 127.0.0.1:9050 proxy.example.org:8000} -# This action overrules the forward directives in the configuration file. -# -# +handle-as-empty-document -# This action alone doesn't do anything noticeable. It just marks URLs. If -# the block action also applies, the presence or absence of this mark -# decides whether an HTML "blocked" page, or an empty document will be sent -# to the client as a substitute for the blocked content. -# -# +handle-as-image -# Treat this URL as an image. This only matters if it's also "+block"ed, -# in which case a "blocked" image can be sent rather than a HTML page. -# See +set-image-blocker{} for the control over what is actually sent. -# -# +hide-accept-language{lang} -# +hide-accept-language{block} -# Deletes or replaces the "Accept-Language:" HTTP header in client -# requests. -# -# +hide-content-disposition{block} -# +hide-content-disposition{string} -# Deletes or replaces the "Content-Disposition:" HTTP header set by some -# servers. This can be used to prevent download menus for content you -# prefer to view inside the browser, for example. -# -# +hide-from-header{block} -# +hide-from-header{spam@sittingduck.xqq} -# If the browser sends a "From:" header containing your e-mail address, -# either completely removes the header ("block"), or change it to the -# specified e-mail address. -# -# +hide-if-modified-since{block} -# +hide-if-modified-since{-60} -# Deletes the "If-Modified-Since:" HTTP client header or modifies its -# value, preventing another way to track users. -# -# +hide-referer{block} -# +hide-referer{forge} -# +hide-referer{http://nowhere.com} -# Don't send the "Referer:" (sic) header to the web site. You can -# block it, forge a URL to the same server as the request (which is -# preferred because some sites will not send images otherwise) or -# set it to a constant string. -# -# +hide-referrer{...} -# Alternative spelling of +hide-referer. Has the same parameters, -# and can be freely mixed with, "+hide-referer". ("referrer" is the -# correct English spelling, however the HTTP specification has a -# bug - it requires it to be spelt "referer"). -# -# +hide-user-agent{browser-type} -# Change the "User-Agent:" header so web servers can't tell your -# browser type. (Breaks many web sites). Specify the user-agent -# value you want - e.g., to pretend to be using Netscape on Linux: -# +hide-user-agent{Mozilla (X11; I; Linux 2.0.32 i586)} -# Or to identify yourself explicitly as a Privoxy user: -# +hide-user-agent{Privoxy/1.0} -# (Don't change the version number from 1.0 - after all, why tell them?) -# -# +limit-connect{portlist} -# -# By default, i.e. if no limit-connect action applies, Privoxy -# allows HTTP CONNECT requests to all ports. Use limit-connect -# if fine-grained control is desired for some or all destinations. -# The CONNECT methods exists in HTTP to allow access to secure websites -# ("https://" URLs) through proxies. It works very simply: the proxy -# connects to the server on the specified port, and then short-circuits -# its connections to the client and to the remote server. This means -# CONNECT-enabled proxies can be used as TCP relays very easily. Privoxy -# relays HTTPS traffic without seeing the decoded content. Websites can -# leverage this limitation to circumvent Privoxy's filters. By specifying -# an invalid port range you can disable HTTPS entirely. -# -# +limit-connect{443} # Only port 443 is OK. -# +limit-connect{80,443} # Ports 80 and 443 are OK. -# +limit-connect{-3, 7, 20-100, 500-} # Ports less than 3, 7, 20 to 100 and above 500 are OK. -# +limit-connect{-} # All ports are OK -# +limit-connect{,} # No HTTPS/SSL traffic is allowed -# -# +overwrite-last-modified{block} -# +overwrite-last-modified{reset-to-request-time} -# +overwrite-last-modified{randomize} -# Removing the "Last-Modified:" header is useful for filter testing, where -# you want to force a real reload instead of getting status code "304", -# which would cause the browser to reuse the old version of the page. -# -# The "randomize" option overwrites the value of the "Last-Modified:" -# header with a randomly chosen time between the original value and the -# current time. In theory the server could send each document with a -# different "Last-Modified:" header to track visits without using cookies. -# "Randomize" makes it impossible and the browser can still revalidate -# cached documents. -# -# "reset-to-request-time" overwrites the value of the "Last-Modified:" -# header with the current time. You could use this option together with -# hide-if-modified-since to further customize your random range. -# -# +prevent-compression -# Prevent the website from compressing the data. Some websites do -# that, which is a problem for Privoxy when built without zlib support, -# since +filter and +gif-deanimate will not work on compressed data. -# Will slow down connections to those websites, though. -# -# +server-header-filter{name} -# All server headers to which this action applies are filtered on-the-fly -# through the specified regular expression based substitutions. -# -# Server-header filters predefined in the supplied default.filter include: -# -# x-httpd-php-to-html: Changes the Content-Type header from x-httpd-php to html. -# html-to-xml: Changes the Content-Type header from html to xml. -# xml-to-html: Changes the Content-Type header from xml to html. -# less-download-windows: Prevent annoying download windows for content types the browser can handle itself. -# privoxy-control: Removes X-Privoxy-Control headers. -# -# +server-header-tagger{content-type} -# Server headers to which this action applies are filtered on-the-fly -# through the specified regular expression based substitutions, the result -# is used as a tag. Server-header taggers are executed before all other -# header actions that modify server headers. Their tags can be used to -# control all of the other server-header actions, the content filters and -# the crunch actions (redirect and block). -# -# Server-header taggers predefined in the supplied default.filter include: -# -# content-type: Tags the request with the content type declared by the server. -# privoxy-control: Creates tags with the content of X-Privoxy-Control headers. -# -# +session-cookies-only -# If the website sets cookies, make sure they are erased when you exit -# and restart your web browser. This makes profiling cookies useless, -# but won't break sites which require cookies so that you can log in -# or for transactions. -# -# +set-image-blocker{blank} -# +set-image-blocker{pattern} -# +set-image-blocker{} with being any valid image URL -# Decides what to do with URLs that end up tagged with {+block +handle-as-image}. -# There are 4 options: -# * "-set-image-blocker" will send a HTML "blocked" page, usually -# resulting in a "broken image" icon. -# * "+set-image-blocker{blank}" will send a 1x1 transparent image -# * "+set-image-blocker{pattern}" will send a 4x4 grey/white pattern -# which is less intrusive than the logo but easier to recognize -# than the transparent one. -# * "+set-image-blocker{}" will send a HTTP temporary redirect -# to the specified image URL. -# -# -# +crunch-outgoing-cookies -# Prevent the website from reading cookies -# -# +crunch-incoming-cookies -# Prevent the website from setting cookies -# -# +redirect{} -# +redirect{} -# Convinces the browser that the requested document has been moved to -# another location and the browser should get it from the specified -# URL. -# -############################################################################# - -############################################################################# -# Settings -- Don't change. -############################################################################# -{{settings}} -############################################################################# -for-privoxy-version=3.0.11 - -############################################################################# -# Aliases -############################################################################# -{{alias}} -############################################################################# -# -# You can define a short form for a list of permissions - e.g., instead -# of "-crunch-incoming-cookies -crunch-outgoing-cookies -filter -fast-redirects", -# you can just write "shop". This is called an alias. -# -# Currently, an alias can contain any character except space, tab, '=', '{' -# or '}'. -# But please use only 'a'-'z', '0'-'9', '+', and '-'. -# -# Alias names are not case sensitive. -# -# Aliases beginning with '+' or '-' may be used for system action names -# in future releases - so try to avoid alias names like this. (e.g. -# "+crunch-all-cookies" below is not a good name) -# -# Aliases must be defined before they are used. -# - -# These aliases just save typing later: -# -+crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies --crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies - allow-all-cookies = -crunch-all-cookies -session-cookies-only - allow-popups = -filter{all-popups} -filter{unsolicited-popups} -+block-as-image = +block{Blocked image request.} +handle-as-image --block-as-image = -block - -# These aliases define combinations of actions -# that are useful for certain types of sites: -# -fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -shop = -crunch-all-cookies allow-popups - -# Your favourite blend of filters: -# -myfilters = +filter{html-annoyances} +filter{js-annoyances} +filter{all-popups}\ - +filter{webbugs} +filter{banners-by-size} - -# Allow ads for selected useful free sites: -# -allow-ads = -block -filter{banners-by-size} -filter{banners-by-link} - -################ -# -# Cautious settings -- safe for all sites, but offer little privacy protection -# -{ \ -+change-x-forwarded-for{block} \ -+client-header-tagger{css-requests} \ -+client-header-tagger{image-requests} \ -+hide-from-header{block} \ -+set-image-blocker{pattern} \ -} -standard.Cautious - -################ -# -# Medium settings -- safe for most sites, with reasonable protection/damage tradeoff -# -{ \ -+change-x-forwarded-for{block} \ -+client-header-tagger{css-requests} \ -+client-header-tagger{image-requests} \ -+deanimate-gifs{last} \ -+filter{refresh-tags} \ -+filter{img-reorder} \ -+filter{banners-by-size} \ -+filter{webbugs} \ -+filter{jumping-windows} \ -+filter{ie-exploits} \ -+hide-from-header{block} \ -+hide-referrer{conditional-block} \ -+session-cookies-only \ -+set-image-blocker{pattern} \ -} -standard.Medium - -################ -# -# Advanced settings -- reasonable privacy protection but -# require some exceptions for trusted sites, most likely -# because of cookies or SSL. Also testing ground for -# new options. -# -# CAUTION: These settings can still be subverted by a -# misconfigured client that executes code from untrusted -# sources. -# -{ \ -+change-x-forwarded-for{block} \ -+client-header-tagger{css-requests} \ -+client-header-tagger{image-requests} \ -+crunch-if-none-match \ -+crunch-outgoing-cookies \ -+crunch-incoming-cookies \ -+deanimate-gifs{last} \ -+fast-redirects{check-decoded-url} \ -+filter{html-annoyances} \ -+filter{content-cookies} \ -+filter{refresh-tags} \ -+filter{img-reorder} \ -+filter{banners-by-size} \ -+filter{banners-by-link} \ -+filter{webbugs} \ -+filter{jumping-windows} \ -+filter{frameset-borders} \ -+filter{quicktime-kioskmode} \ -+hide-if-modified-since{-60} \ -+hide-from-header{block} \ -+hide-referrer{conditional-block} \ -+limit-connect{,} \ -+overwrite-last-modified{randomize} \ -+set-image-blocker{pattern} \ -} -standard.Advanced - -############################################################################# -# These extensions belong to images: -############################################################################# -{+handle-as-image -filter} -############################################################################# -/.*\.(gif|jpe?g|png|bmp|ico)($|\?) - -############################################################################# -# These don't: -############################################################################# -{-handle-as-image} -/.*\.(js|php|css|.?html?) - -############################################################################# -# These belong to multimedia files of which Firefox occasionally only -# requests parts. #2816708 -############################################################################# -{-filter -deanimate-gifs} -# Sticky Actions = -filter -deanimate-gifs -# URL = http://www.example.org/foo/bar.ogg -# URL = http://www.example.net/bar.ogv -/.*\.og[gv]$ - -############################################################################# -# Generic block patterns by host: -############################################################################# -{+block{Host matches generic block pattern.}} -ad*. -.*ads. -.ad.?. -.ad.[a-ik-z][a-oq-z]. -.ad.jp.*. -.ad.???*. -# Blocked URL = http://alternativos.iw-advertising.com/ -.*advert*. -*banner*. -count*. -*counter. -promotions. -# Blocked URL = http://metrics.performancing.com/ -metrics. - -############################################################################# -# Generic unblockers by host: -############################################################################# -{-block} -# Sticky Actions = -block -adsl. -ad[udmw]*. -adbl*. -adam*. -adapt*. -adob*. -adrenaline. -adtp*. -adv[oia]*. -adventure*. -.*road*. -.olympiad*. -.*load*. -.*[epu]ad*. -county*. -countr*. -# URL = http://metrics.torproject.org/consensus-graphs.html -metrics.torproject.org/ -# URL = http://linuxcounter.net/ -linuxcounter.net/ - -############################################################################# -# Generic block patterns by path: -############################################################################# -{+block{Path matches generic block pattern.}} -/(.*/)?ad(\?|/|s|v|_?(image|se?rv|box)|cycle|rotate|mentor|click|f[ra]m|script|stream|fetch|log|space) -# Blocked URL = http://www.example.org/adimage -# Blocked URL = http://www.example.org/adspace -/phpads(new)?/ -/(.*/)?(ad|all|nn|db|promo(tion)?)?[-_]?banner -/(.*/)?(publicite|werbung|rekla(me|am)|annonse|maino(kset|nta|s)?/) -/.*(count|track|compteur|(? context as in: -# -# s/()/$1replacement/sigU -# -# but that would make them match only the first occurrence of -# nasty-item in each )|$1never|sigU - -# If we allow window.open, we want normal window features: -# Test: http://www.htmlgoodies.com/beyond/notitle.html -# -s/(open\s*\([^\)]+resizable=)(["']?)(?:no|0)\2/$1$2yes$2/sigU -s/(open\s*\([^\)]+location=)(["']?)(?:no|0)\2/$1$2yes$2/sigU -s/(open\s*\([^\)]+status=)(["']?)(?:no|0)\2/$1$2yes$2/sigU -s/(open\s*\([^\)]+scroll(?:ing|bars)=)(["']?)(?:no|0)\2/$1$2auto$2/sigU -s/(open\s*\([^\)]+menubar=)(["']?)(?:no|0)\2/$1$2yes$2/sigU -s/(open\s*\([^\)]+toolbar=)(["']?)(?:no|0)\2/$1$2yes$2/sigU -s/(open\s*\([^\)]+directories=)(["']?)(?:no|0)\2/$1$2yes$2/sigU -s/(open\s*\([^\)]+fullscreen=)(["']?)(?:yes|1)\2/$1$2no$2/sigU -s/(open\s*\([^\)]+always(?:raised|lowered)=)(["']?)(?:yes|1)\2/$1$2no$2/sigU -s/(open\s*\([^\)]+z-?lock=)(["']?)(?:yes|1)\2/$1$2no$2/sigU -s/(open\s*\([^\)]+hotkeys=)(["']?)(?:yes|1)\2/$1$2no$2/sigU -s/(open\s*\([^\)]+titlebar=)(["']?)(?:no|0)\2/$1$2yes$2/sigU -s/(open\s*\([^\)]+always(?:raised|lowered)=)(["']?)(?:yes|1)\2/$1$2no$2/sigU - - -################################################################################# -# -# js-events: Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites). -# -################################################################################# -FILTER: js-events Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites). - -s/(on|event\.)((mouse(over|out|down|up|move))|(un)?load|contextmenu|selectstart)/never/ig -# Not events, but abused on the same type of sites: -s/(alert|confirm)\s*\(/concat(/ig -s/set(timeout|interval)\(/concat(/ig - -################################################################################# -# -# html-annoyances: Get rid of particularly annoying HTML abuse. -# -################################################################################# -FILTER: html-annoyances Get rid of particularly annoying HTML abuse. - -# New browser windows (if allowed -- see no-popups filter below) should be -# resizeable and have a location and status bar -# -s/(]+resizable=)(['"]?)(?:no|0)\2/$1$2yes$2/igU -s/(]+location=)(['"]?)(?:no|0)\2/$1$2yes$2/igU -s/(]+status=)(['"]?)(?:no|0)\2/$1$2yes1$2/igU -s/(]+scrolling=)(['"]?)(?:no|0)\2/$1$2auto$2/igU -s/(]+menubar=)(['"]?)(?:no|0)\2/$1$2yes$2/igU - -# The and tags were crimes! -# -s---sigU - - -################################################################################# -# -# content-cookies: Kill cookies that come in the HTML or JS content. -# -################################################################################# -FILTER: content-cookies Kill cookies that come in the HTML or JS content. - -# JS cookies, except those used by antiadbuster.com to detect us: -# -s|(\w+\.)+cookie(?=[ \t\r\n]*=)(?!='aab)|ZappedCookie|ig - -# HTML cookies: -# -s|||igU - - -################################################################################# -# -# refresh-tags: Kill automatic refresh tags if refresh time is larger than 9 seconds. -# -################################################################################# -FILTER: refresh-tags Kill automatic refresh tags if refresh time is larger than 9 seconds. - -# Note: Only deactivates refreshes with more than 9 seconds delay to -# preserve monster-stupid but common redirections via meta tags. -# -s@\2]*))?\2@)(?=\s*[^'"])+$1+isU -s@([^\w\s.]\s*)((?:map)?(window|this|parent)\.?)?open\s*\(@$1PrivoxyWindowOpen(@ig -s+([^'"]\s*)(?!\s*(\\n|'|"))+$1+iU - - -################################################################################## -# -# all-popups: Kill all popups in JavaScript and HTML. -# -################################################################################# -FILTER: all-popups Kill all popups in JavaScript and HTML. - -s@((\W\s*)(?:map)?(window|this|parent)\.?)open\s*\\?\(@$1concat(@ig # JavaScript -#s/\starget\s*=\s*(['"]?)_?(blank|new)\1?/ notarget/ig # HTML -s/\starget\s*=\s*(['"]?)_?(blank|new)\1?/ /ig # (X)HTML - -################################################################################## -# -# img-reorder: Reorder attributes in tags to make the banners-by-* filters more effective. -# -################################################################################# -FILTER: img-reorder Reorder attributes in tags to make the banners-by-* filters more effective. - -# In the first step src is moved to the start, then width is moved to the second -# place to guarantee an order of src, width, height. Also does some white-space -# normalization. -# -# This makes banners-by-size more effective and allows both banners-by-size -# and banners-by-link to preserve the original image URL in the title attribute. - -s|]*)\ssrc\s*=\s*(['"])([^>\\\2]+)\2|]*)\ssrc\s*=\s*([^'">\\\s]+)|]+height)\s*=\s*|$1=|sig - -s|\\\\2]*\2\|[^'">\\\s]+?))([^>]*)\s+width\s*=\s*((["']?)\d+?\5)(?=[\s>])|\\\1\s]+)\1)?[^>]*?(width=(['"]?)88\4)[^>]*?(height=(['"]?)31\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)120\4)[^>]*?(height=(['"]?)(?:600?|90|240)\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)125\4)[^>]*?(height=(['"]?)125\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)160\4)[^>]*?(height=(['"]?)600\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)180\4)[^>]*?(height=(['"]?)150\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)(?:234|468)\4)[^>]*?(height=(['"]?)60\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)240\4)[^>]*?(height=(['"]?)400\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)(?:250|300)\4)[^>]*?(height=(['"]?)250\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)336\4)[^>]*?(height=(['"]?)280\6)[^>]*?(?=/?>)@\ - \\\1\s]+)\1)?[^>]*?(width=(['"]?)200\4)[^>]*?(height=(['"]?)50\6)[^>]*?(?=/?>)@\ -# \1\s]*?(?:\ - adclick # See www.dn.se \ -| advert # see dict.leo.org \ -| atwola\.com/(?:link|redir) # see www.cnn.com \ -| doubleclick\.net/jump/ # redirs for doublecklick.net ads \ -| counter # common \ -| (?\1\s]*)\1[^>]*>\s*\\\3\s]+)\3)?[^>]*((?:width|height)\s*=\s*(['"]?)\d+?\6)[^>]*((?:width|height)\s*=\s*(['"]?)\d+?\8)[^>]*?(?=/?>)\ -@\1\s]*?(?:ad(?:click|vert)|atwola\.com/(?:link|redir)|doubleclick\.net/jump/|(?\1\s]*)\1[^>]*>\s*\\\3\s]+)\3)?[^>]*?(?=/?>)@]*\s(?:width|height)\s*=\s*['"]?[01](?=\D)[^>]*\s(?:width|height)\s*=\s*['"]?[01](?=\D)[^>]*?>@@siUg - - -################################################################################# -# -# tiny-textforms: Extend those tiny textareas up to 40x80 and kill the hard wrap. -# -################################################################################# -FILTER: tiny-textforms Extend those tiny textareas up to 40x80 and kill the hard wrap. - -s/(]*?)(?:\s*(?:rows|cols)=(['"]?)\d+\2)+/$1 rows=$2\40$2 cols=$2\80$2/ig -s/(]*?)wrap=(['"]?)hard\2/$1/ig - - -################################################################################# -# -# jumping-windows: Prevent windows from resizing and moving themselves. -# -################################################################################# -FILTER: jumping-windows Prevent windows from resizing and moving themselves. - -s/(?<=[\W])(?:window|this|self)\.(?:move|resize)(?:to|by)\(/''.concat(/ig - -################################################################################# -# -# frameset-borders: Give frames a border, make them resizable and scrollable. -# -################################################################################# -FILTER: frameset-borders Give frames a border and make them resizable. - -s/(]*)framespacing=(['"]?)(no|0)\2/$1/igU -s/(]*)frameborder=(['"]?)(no|0)\2/$1/igU -s/(]*)border=(['"]?)(no|0)\2/$1/igU -s/(]*)noresize/$1/igU -s/(]*)frameborder=(['"]?)(no|0)\2/$1/igU -s/(]*)scrolling=(['"]?)(no|0)\2/$1/igU - - -################################################################################# -# -# iframes: Remove all detected iframes. Should only be enabled for -# individual sites after testing that the iframes are optional. -# -################################################################################# -FILTER: iframes Removes all detected iframes. Should only be enabled for individual sites. -s@@@Uisg - - -################################################################################# -# -# demoronizer: Correct Microsoft's abuse of standardized character sets, which -# leave the browser to (mis)-interpret unknown characters, with -# sometimes bizarre results on non-MS platforms. -# -# credit: ripped from the demoroniser.pl script by: -# John Walker -- January 1998, http://www.fourmilab.ch/webtools/demoroniser -# -################################################################################# -FILTER: demoronizer Fix MS's non-standard use of standard charsets. - -s/(&\#[0-2]\d\d)\s/$1; /g -# per Robert Lynch: http://slate.msn.com//?id=2067547, just a guess. -# Must come before x94 below. -s/\xE2\x80\x94/ -- /g -s/\x82/,/g -#s-\x83-f-g -s/\x84/,,/g -s/\x85/.../g -#s/\x88/^/g -#s-\x89- °/°°-g -s/\x8B/~-g -#s-\x99-TM-g -# per Robert Lynch. -s/\x9B/>/g # 155 - - -################################################################################# -# -# shockwave-flash: Kill embedded Shockwave Flash objects. -# Note: Better just block "/.*\.swf$"! -# -################################################################################# -FILTER: shockwave-flash Kill embedded Shockwave Flash objects. - -s|]*macromedia.*||sigU -s|]*(application/x-shockwave-flash\|\.swf).*>(.*)?||sigU - - -################################################################################# -# -# quicktime-kioskmode: Make Quicktime movies saveable. -# -################################################################################# -FILTER: quicktime-kioskmode Make Quicktime movies saveable. - -s/(]*)kioskmode\s*=\s*(["']?)true\2/$1/ig - - -################################################################################# -# -# fun: Text replacements for subversive browsing fun! -# -################################################################################# -FILTER: fun Text replacements for subversive browsing fun! - -# SCNR -# -s/microsoft(?!\.[^\s])/MicroSuck/ig - -# Buzzword Bingo (example for extended regex syntax) -# -s* (?:industry|world)[ -]leading \ -| cutting[ -]edge \ -| customer[ -]focused \ -| market[ -]driven \ -| award[ -]winning # Comments are OK, too! \ -| high[ -]performance \ -| solutions[ -]based \ -| unmatched \ -| unparalleled \ -| unrivalled \ -*$0Bingo! \ -*igx - -# For Germans only -# -s/(M|m)edien(?![^<]*>)/$1ädchen/Ug - -################################################################################# -# -# crude-parental: Crude parental filtering. Use with a suitable blocklist. -# Pages are "blocked" based on keyword matching. -# -################################################################################# -FILTER: crude-parental Crude parental filtering. Note that this filter doesn't work reliably. - -# (Note: Middlesex, Sussex and Essex are counties in the UK, not rude words) -# (Note #2: Is 'sex' a rude word?!) - -s%^.*(?Blocked\ -

Blocked by Privoxy's crude-parental filter due to possible adult content.

%is - -s+^.*warez.*$+No Warez

You're not searching for illegal stuff, are you?

+is - -# Remove by description -s/^.*\ -(?:(suck|lick|tongue|rub|fuck|fingering|finger|chicks?)\s*)?\ -(?:(her|your|my|hard|with|big|wet|tight|pink|hot|moist|young|teen)\s*)+\ -(dicks?|penis|cocks?|balls?|tits?|pussy|cunt|clit|ass|mouth).*$\ -/This page has been blocked by Privoxy's crude-parental content filter\ -/is - -#Remove by link text -s/^.*\ -(download|broadband|view|watch|free|get|extreem)?\s*\ -(sex|xxx|porn|cumshot|fuck(ing|s)?|anal|ass|asian|adult|Amateur|org(y|ies)|close ups?|hand?job|nail(ed)?)+\s*\ -(movies?|pics?|videos?|dvds?|dvd's|links?).*$\ -/This page has been blocked by Privoxy's crude-parental content filter\ -/is - -#Remove by age disclaimer -s/^.*\ -(models?|chicks?|girls?|women|persons)\s*\ -(who|are|were)+ (over|at least) (16|18|21) years (old|of age).*$\ -/This page has been blocked by Privoxy's crude-parental content filter\ -/is - -#Remove by regulations -s/^.*(Section 2257|18 U.?S.?C.? 2257).*$\ -/This page has been blocked by Privoxy's crude-parental content filter\ -/is - - -################################################################################# -# -# IE-Exploits: Disable some known Internet Explorer bug exploits. -# -################################################################################# -FILTER: ie-exploits Disable some known Internet Explorer bug exploits. - -# Note: This is basically a demo and waits for someone more interested in IE -# security (sic!) to take over. - -# Cross-site-scripting: -# -s%f\("javascript:location.replace\('mk:@MSITStore:C:'\)"\);%alert\("This page looks like it tries to use a vulnerability described here:\n http://online.securityfocus.com/archive/1/298748/2002-11-02/2002-11-08/2"\);%siU - -# Address bar spoofing (http://www.secunia.com/advisories/10395/): -# -s/(]*href[^>]*)(?:\x01|\x02|\x03|%0[012])@/$1MALICIOUS-LINK@/ig - -# Nimda: -# -s%%
WARNING: This Server is infected with Nimda!%g - - -################################################################################# -# -# -# site-specifics: Cure for site-specific problems. Don't apply generally! -# -# Note: The fixes contained here are so specific to the problems of the -# particular web sites they are designed for that they would be a -# waste of CPU cycles (or even destructive!) on 99.9% of the web -# sites where they don't apply. -# -################################################################################# -FILTER: site-specifics Cure for site-specific problems. Don't apply generally! - -# www.spiegel.de excludes X11 users from viewing Flash5 objects - shame. -# Apply to: www.spiegel.de/static/js/flash-plugin.js -# -s/indexOf\("x11"\)/indexOf("x13")/ - -# www.quelle-bausparkasse.de uses a very stupid redirect mechanism that -# relies on a webbug being present. Can we tolerate that? No! -# Apply to: www.quelle-bausparkasse.de/$ -# -s/mylogfunc()//g - -# groups.yahoo.com has splash pages that one needs to click through in -# order to access the actual messages. Let the browser do that. Thanks -# to Paul Jobson for this one: -# -s|(?:Continue to message\|Weiter zu Nachricht)||ig - -# monster.com has two very similar gimmicks: -# -s|||i - -s|||i - -# nytimes.com triggers popups through the onload handler of dummy images -# to fool popup-blockers. -# -s|(]*)onload|$1never|sig - -# Pre-check all the "Discard" buttons in GNU Mailman's web interface. -# (This saves a lot of mouse aiming practice when flushing spamtraps) -# -s|( and tags. -# -################################################################################# -FILTER: no-ping Removes non-standard ping attributes in and tags. -s@(]*?)\sping=(['"]?)([^"'>]+)\2([>\s]?)@\ -PING!\n$1$4@ig - -################################################################################# -# -# google: CSS-based block for Google text ads. Also removes -# a width limitation and the toolbar advertisement. -# -################################################################################# -FILTER: google CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement. - -s@[^\\]@\n$0@ -s@
@
@ -s@(
@\n\n$0\n@ - -s@(]*)width:545px;@$1width:70%;@isU - -################################################################################# -# -# msn: CSS-based block for MSN text ads. Also removes tracking URLs -# and a width limitation. -# -################################################################################# -FILTER: msn CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation. - -s@@\n$0@ -# Are these ids still in use? -s@(]*) id=(["']?)ads_[^\2]*\2@$1 class="msn_ads"@Uig -s@(]*) class=(["']?)sb_ads[^\2]*\2@$1 class="msn_ads"@Uig -s@(]*href=\")http://g.msn.com/.*\?(http://.*)(&&DI=.*)(\")@$1$2$4@Ug -s@(]*)gping=\".*\"@$1 title="URL cleaned up by Privoxy's msn filter"@Ug - -################################################################################# -# -# blogspot: Cleans up some Blogspot blogs. Read the fine print before using this. -# -# This filter also intentionally removes some navigation stuff and -# sets the page width to 100%. As a result, some rounded "corners" would -# appear to early or not at all and as fixing this would require a browser -# that understands background-size (CSS3), they are removed instead. -# -# When applied to feeds, it removes comment titles that -# only contain the beginning of the actual comment. -# -################################################################################# -FILTER: blogspot Cleans up some Blogspot blogs. Read the fine print before using this. - -s@@\n$0@ -s@|(
([^<]*)(?:\.\.\.)?\s*\s*\ -(\s*\1)@$2@ig - -################################################################################# -# -# x-httpd-php-to-html: Changes the Content-Type header from -# x-httpd-php to html. "Content-Type: x-httpd-php" -# is set by clueless PHP users and causes many -# browsers do open a download menu instead of -# rendering the page. -# -################################################################################# -SERVER-HEADER-FILTER: x-httpd-php-to-html Changes the Content-Type header from x-httpd-php to html. - -s@^(Content-Type:)\s*application/x-httpd-php@$1 text/html@i - -################################################################################# -# -# html-to-xml: Changes the Content-Type header from html to xml. -# -################################################################################# -SERVER-HEADER-FILTER: html-to-xml Changes the Content-Type header from html to xml. - -s@^(Content-Type:)\s*text/html(;.*)?$@$1 application/xhtml+xml$2@i - -################################################################################# -# -# xml-to-html: Changes the Content-Type header from xml to html. -# -################################################################################# -SERVER-HEADER-FILTER: xml-to-html Changes the Content-Type header from xml to html. - -s@^(Content-Type:)\s*(?:application|text)/(?:xhtml\+)?xml(;.*)?$@$1 text/html$2@i - -################################################################################# -# -# hide-tor-exit-notation: Remove the Tor exit node notation in Host and Referer headers. -# -# Note: If Privoxy and Tor are chained and Privoxy is configured to -# use socks4a, one can use http://www.example.org.foobar.exit/ -# to access the host www.example.org through Tor exit node foobar. -# -# As the HTTP client isn't aware of this notation, it treats the -# whole string "www.example.org.foobar.exit" as host and uses it -# for the "Host" and "Referer" headers. From the server's point of -# view the resulting headers are invalid and can cause problems. -# -# An invalid "Referer" header can trigger "hot-linking" protections, -# an invalid "Host" header will make it impossible for the server to -# find the right vhost (several domains hosted on the same IP address). -# -# This filter removes the "foo.exit" part in those headers -# to prevent the mentioned problems. Note that it only modifies -# the HTTP headers, it doesn't make it impossible for the server -# to detect your Tor exit node based on the IP address the request is -# coming from. -# -################################################################################# -CLIENT-HEADER-FILTER: hide-tor-exit-notation Removes the Tor exit node notation in Host and Referer headers. - -s@^((?:Referer|Host):\s*(?:https?://)?[^/]*)\.[^\./]*?\.exit@$1@i - -################################################################################# -# -# less-download-windows: Prevents annoying download windows for content types -# the browser can handle itself. -# -################################################################################# -SERVER-HEADER-FILTER: less-download-windows Prevent annoying download windows for content types the browser can handle itself. - -s@^Content-Disposition:.*filename=(["']?).*\.(png|gif|jpe?g|diff?|d?patch|c|h|pl|shar)\1.*$@@i -s@^(Content-Type:)\s*(?:message/(?:news|rfc822)|text/x-.*|application/x-sh(?:\s|$))\s*@$1 text/plain@i - -################################################################################# -# -# image-requests: Tags detected image requests as "IMAGE-REQUEST". Whether -# or not the detection actually works depends on the browser. -# -################################################################################# -CLIENT-HEADER-TAGGER: image-requests Tags detected image requests as "IMAGE-REQUEST". - -s@^Accept:\s*image/.*@IMAGE-REQUEST@i - -################################################################################# -# -# css-requests: Tags detected CSS requests as "CSS-REQUEST". Whether -# or not the detection actually works depends on the browser. -# -################################################################################# -CLIENT-HEADER-TAGGER: css-requests Tags detected CSS requests as "CSS-REQUEST". - -s@^Accept:\s*text/css.*@CSS-REQUEST@i - -################################################################################# -# -# range-requests: Tags range requests as "RANGE-REQUEST". -# -# By default Privoxy removes Range headers for requests to -# ressources that will be filtered to make sure the filters -# get the whole picture. Otherwise Range requests could be -# intentionally used to circumvent filters or, less likely, -# filtering a partial response may damage it because it matched -# a pattern that the ressource as a whole wouldn't. -# -# Range requests can be useful and save bandwidth so instead -# of removing Range headers for requests to ressources that -# will be filtered, you may prefer to simply disable filtering -# for those requests. -# -# That's what this tagger is all about. After enabling it, -# you can disable filtering for range requests using the following -# action section: -# -# {-filter -deanimate-gifs} -# TAG:^RANGE-REQUEST -# -################################################################################# -CLIENT-HEADER-TAGGER: range-requests Tags range requests as "RANGE-REQUEST". - -s@^Range:.*@RANGE-REQUEST@i - -################################################################################# -# -# client-ip-address: Tags the request with the client's IP address. -# -################################################################################# -CLIENT-HEADER-TAGGER: client-ip-address Tags the request with the client's IP address. - -s@^\w*\s+.*\s+HTTP/\d\.\d\s*@IP-ADDRESS: $origin@D - -################################################################################# -# -# http-method: Tags the request with its HTTP method. -# -################################################################################# -CLIENT-HEADER-TAGGER: http-method Tags the request with its HTTP method. - -s@^(\w*).*HTTP/\d\.\d\s*$@$1@i - -################################################################################# -# -# allow-post: Tags POST requests as "ALLOWED-POST". -# -################################################################################# -CLIENT-HEADER-TAGGER: allow-post Tags POST requests as "ALLOWED-POST". - -s@^(?:POST)\s+.*\s+HTTP/\d\.\d\s*@ALLOWED-POST@i - -################################################################################# -# -# complete-url: Tags the request with the whole request URL. -# -################################################################################# -CLIENT-HEADER-TAGGER: complete-url Tags the request with the whole request URL. - -s@^\w*\s+(.*)\s+HTTP/\d\.\d\s*$@$1@i - -################################################################################# -# -# user-agent: Tags the request with the complete User-Agent header. -# -################################################################################# -CLIENT-HEADER-TAGGER: user-agent Tags the request with the complete User-Agent header. - -s@^User-Agent:.*@$0@i - -################################################################################# -# -# referer: Tags the request with the complete Referer header. -# -################################################################################# -CLIENT-HEADER-TAGGER: referer Tags the request with the complete Referer header. - -s@^Referer:.*@$0@i - -################################################################################# -# -# content-type: Tags the request with the content type declared by the server. -# -################################################################################# -SERVER-HEADER-TAGGER: content-type Tags the request with the content type declared by the server. - -s@^Content-Type:\s*([^;]+).*@$1@i - -################################################################################# -# -# privoxy-control: The taggers create tags with the content of X-Privoxy-Control -# headers, the filters remove said headers. -# -################################################################################# -CLIENT-HEADER-TAGGER: privoxy-control Creates tags with the content of X-Privoxy-Control headers. - -s@^X-Privoxy-Control:\s*@@i - -CLIENT-HEADER-FILTER: privoxy-control Removes X-Privoxy-Control headers. - -s@^X-Privoxy-Control:.*@@i - -SERVER-HEADER-TAGGER: privoxy-control Creates tags with the content of X-Privoxy-Control headers. - -s@^X-Privoxy-Control:\s*@@i - -SERVER-HEADER-FILTER: privoxy-control Removes X-Privoxy-Control headers. - -s@^X-Privoxy-Control:.*@@i diff --git a/pkg content/usr/local/etc/privoxy/vanilla/match-all.action b/pkg content/usr/local/etc/privoxy/vanilla/match-all.action deleted file mode 100644 index 826eb39..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/match-all.action +++ /dev/null @@ -1,16 +0,0 @@ -############################################################################# -# $Id: match-all.action,v 1.3 2010/03/27 18:48:38 fabiankeil Exp $ -# -# This file contains the actions that are applied to all requests and -# may be overruled later on by other actions files. Less experienced -# users should only edit this file through the actions file editor. -# -############################################################################# -{ \ -+change-x-forwarded-for{block} \ -+client-header-tagger{css-requests} \ -+client-header-tagger{image-requests} \ -+hide-from-header{block} \ -+set-image-blocker{pattern} \ -} -/ # Match all URLs diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/blocked b/pkg content/usr/local/etc/privoxy/vanilla/templates/blocked deleted file mode 100644 index 3da06f2..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/blocked +++ /dev/null @@ -1,287 +0,0 @@ -########################################################## -# -# "Blocked" Error Output template for Privoxy. -# -# NOTE: UNLIKE THE OTHER TEMPLATES, THIS ONE USES -# JavaScript write() TO GENERATE THE PAGE IN JS_AWARE -# BROWSERS. SYMBOL SUBSTITUTIONS THAT RESULT IN MULTILINE -# STRINGS WILL BREAK THE JavaScript SYNTAX. -# USE WITH CAUTION. -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written in plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# protocol: -# The request's protocol: http:// or https:// -# hostport: -# The host and port part of the blocked request's URL. -# path: -# The path part of the blocked request's URL. -# path-ue: -# The path part of the blocked request's URL, url-encoded. -# -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# This is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# force-support: -# Privoxy has been compiled with support for forced loading -# of blocked content. In that case, the symbol "force-prefix" is -# avaiable, which translates to the FORCE_PREFIX -# - - - - Request blocked (Privoxy@@my-hostname@) - - - - - - - - - - - -# Note: The same small version is used above via JavaScript -# If you make changes here, keep the other version in sync! - - - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-404 b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-404 deleted file mode 100644 index 4e010c0..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-404 +++ /dev/null @@ -1,149 +0,0 @@ -########################################################## -# -# No-Such-Domain Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - 404 - Privoxy Configuration Page not found - - - - - - - - - - -
  • - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - 404 - - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Privoxy Configuration page not found

    -

    You typed in what looks like a URL used to configure - Privoxy, but it cannot be recognised. Maybe it's - for a different Privoxy version, or you typed it - in wrong? Or maybe the Privoxy administrator - has decided to disable the feature.

    -

    If you got here by clicking a link in the - configuration interface, please file a bug report!

    -

    You can use the menu below to select from the available - configuration options

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-bad-param b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-bad-param deleted file mode 100644 index f8e95a9..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-bad-param +++ /dev/null @@ -1,156 +0,0 @@ -########################################################## -# -# No-Such-Domain Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy: Bad parameter - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Bad parameter to Privoxy configuration page

    -

    You've found a page used to configure Privoxy, but the - parameters (the part of the web page address after the - "?" mark) are wrong or missing.

    -

    Possible causes:

    -
      -
    • If you just typed a URL pattern into a form, then you got - something wrong. Press the "back" button on your browser - once and correct what you typed.
    • -
    • If you tried to type in the URL, then you've found a - page where you can't do that. You can only view this - page by following links from elsewhere in the configuration - interface.
    • -
    • If you got here using your browser's "back" button, then - that is deliberately disabled for this page.
    • -
    • If you got here by clicking a link in the - configuration interface, please file a bug report!
    • -
    -

    You can use the menu below to select from the available - configuration options

    -
    -

    Privoxy Menu:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-disabled b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-disabled deleted file mode 100644 index b95de2c..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-disabled +++ /dev/null @@ -1,169 +0,0 @@ -########################################################## -# -# Feature disabled or referrer untrusted Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Configuration Page Disabled - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Privoxy Configuration access denied

    -

    Access to @url@ has been denied because:

    - -
      -
    • it requires a feature that has been disabled by the Privoxy administrator,
    • -
    • you didn't come here through one of Privoxy's CGI pages, or
    • -
    • the Referer: header is blocked.
    • -
    - -

    Note that the following features which used to be enabled in earlier - releases are now off by default: -

    - - -

    Please refer to the documentation behind the links to learn how to - enable them again and what the consequences are.

    - -

    All enabled features are accessible from the - main menu, some of them - are protected with a referrer check though. - If you got caught by the referrer check, but are absolutely sure - you know what you are doing, please try again.

    - -

    If the Referer: header is blocked, you'll have to make an exception for - Privoxy's web interface first. Note that dumb referrer blocking - is a bad idea anyway, as it makes it easier to fingerprint your - requests. Consider using Privoxy's conditional referrer block instead.

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-file b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-file deleted file mode 100644 index 0d801fe..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-file +++ /dev/null @@ -1,139 +0,0 @@ -########################################################## -# -# No-Such-Domain Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy: Actions file not found - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Actions file not found

    -

    The actions file you are trying to edit (index @f@) - does not exist, or cannot be read.

    -
    -

    Privoxy Menu:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-file-read-only b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-file-read-only deleted file mode 100644 index 8137200..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-file-read-only +++ /dev/null @@ -1,146 +0,0 @@ -########################################################## -# -# No-Such-Domain Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy: Cannot write to actions file - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Cannot write to actions file

    -

    The actions file you are trying to edit (@f@.action) - could not be written to.

    -

    You many not have permission to write to the file - check the file - permissions. On Windows, right-click the file, choose Properties, - and make sure it is not read-only.

    -

    Another reason you may see this message is if you have run out of - disk space. If that is the case, then the actions file has been - truncated - if you get further errors, you may need to fix it - using a text editor.

    -
    -

    Privoxy Menu:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-modified b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-modified deleted file mode 100644 index 4c38626..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-modified +++ /dev/null @@ -1,157 +0,0 @@ -########################################################## -# -# No-Such-Domain Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy: URL out of date - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    URL out of date - file has changed since it was generated

    -

    The URL you're viewing is out of date. To prevent possible - damage to your configuration file, this action has been ignored. -

    -

    Possible causes:

    -
      -
    • If you got here using your browser's "back" button, then - that is deliberately disabled for this page. Please - navigate around the configuration editor using the - links provided.
    • -
    • Perhaps you've got more than one browser window open, and - you're trying to change the same file in both? You can - only have one editor window open at a time. Your other edit - window should continue to function.
    • -
    • You may have modified the file some other way - perhaps by - editing it with a text editor. Simply go back in to the - configuration interface using the links below.
    • -
    -

    You can go back into the edit interface using the menu below, - or by clicking here. -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-parse b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-parse deleted file mode 100644 index 7a07bf2..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-error-parse +++ /dev/null @@ -1,176 +0,0 @@ -########################################################## -# -# No-Such-Domain Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy: Parse error - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Parse error

    -

    The file you're trying to edit is not valid. You need to fix - it using a text editor before you can edit it using the - web-based editor.

    -

    This error should only occur if you edited the file using a text - editor. If you managed to take a valid file and break it this - badly using the web-based editor, please file a bug report!

    -

    When you've fixed the problem, you can go back into the edit - interface using the menu below, or by clicking here. -

    -
    -

    Problem description:

    -

    @parse-error@

    -
    -

    The line which caused the problem:

    -
    @line-raw@
    -
    -

    The line which caused the problem, with comments removed

    -

    @line-data@

    -
    -

    Note

    -

    Only the first error is reported - the file may contain other - errors, as well as the one reported above.

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-style.css b/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-style.css deleted file mode 100644 index 8673485..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/cgi-style.css +++ /dev/null @@ -1,151 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/cgi-style.css,v $ -# -# Purpose : Style sheet for the web-based config interface. -# -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -/* - * CSS for Privoxy CGI and script output - * - * $Id: cgi-style.css,v 1.14 2011/09/04 11:09:40 fabiankeil Exp $ - */ - -/* - * General rules: Font, Color, Headings, Margins, Links - */ -body,td,th { font-family: arial, helvetica, helv, sans-serif; } -body { background-color: #ffffff; color: #000000; } - -h1 { font-size: 140%; margin: 0px; } -h2 { font-size: 120%; margin: 0px; } -h3 { font-size: 110%; margin: 0px; } - -p,pre { margin-left: 15px; } -li { margin: 2px 15px; } -dl { margin: 2px 15px; } - -a:link { color: #0000dd; text-decoration: none; } -a:visited { color: #330099; text-decoration: none; } -a:active { color: #3333ff; text-decoration: none; } - -/* - * Boxen as Table elements: - */ -td.title { border: solid black 1px; background-color: #dddddd; } -td.box { border: solid black 1px; background-color: #eeeeee; } -td.info { border: solid black 1px; background-color: #ccccff; } -td.warning { border: solid black 1px; background-color: #ffdddd; } - -/* - * Special Table Boxen: for nesting, naked container and for - * the Status field in CGI Output: - */ -td.wrapbox { border: solid black 1px; padding: 5px; } -td.container { padding: 0px; } -td.status { border: solid black 1px; background-color: #ff0000; color: #ffffff; font-size: 300%; font-weight: bolder; } - -/* - * Same Boxen as
    s: - */ -div.title { border: solid black 1px; background-color: #dddddd; margin: 20px; padding: 20px; } -div.box { border: solid black 1px; background-color: #eeeeee; margin: 20px; padding: 20px; } -div.info { border: solid black 1px; background-color: #ccccff; margin: 20px; padding: 20px; } -div.warning { border: solid black 1px; background-color: #ffdddd; margin: 20px; padding: 20px; } -div.wrapbox { border: solid black 1px; margin: 20px; padding: 5px; } - - -/* - * Bold definitions in
    s, grey BG for table headings, transparent (no-bordered) table - */ -dt { font-weight: bold; } -th { background-color: #dddddd; } -table.transparent { border-style: none} - -/* - * Special purpose paragraphs: Small for page footers, - * Important for quoting wrong or dangerous examples, - * Whiteframed for the toggle?mini=y CGI - */ -p.small { font-size: 10px; margin: 0px; } -p.important { border: solid black 1px; background-color: #ffdddd; font-weight: bold; padding: 2px; } -p.whiteframed { margin: 5px; padding: 5px; border: solid black 1px; text-align: center; background-color: #eeeeee; } - -/* - * Links as buttons: - */ - -td.buttons { - padding: 2px; -} - -a.cmd, td.indentbuttons a, td.buttons a { - white-space: nowrap; - width: auto; - padding: 2px; - background-color: #dddddd; - color: #000000; - text-decoration: none; - border-top: 1px solid #ffffff; - border-left: 1px solid #ffffff; - border-bottom: 1px solid #000000; - border-right: 1px solid #000000; -} -a.cmd:hover, td.indentbuttons a:hover, td.buttons a:hover { - background-color: #eeeeee; -} -a.cmd:active, td.indentbuttons a:active, td.buttons a:active { - border-top: 1px solid #000000; - border-left: 1px solid #000000; - border-bottom: 1px solid #ffffff; - border-right: 1px solid #ffffff; -} - - -/* - * Special red emphasis: - */ -em.warning, strong.warning { color: #ff0000 } - -/* - * In show-status we use tables directly behind headlines - * and for some reason or another the headlines are set to - * "margin:0" and leave the tables no air to breath. - * - * A proper fix would be to replace or remove the "margin:0", - * but as this affects every cgi page we do it another time - * and use this workaround until then. - */ -.box table { margin-top: 1em; } - -/* - * Let the URL and pattern input fields scale with the browser - * width and try to prevent vertical scroll bars if the width - * is less than 80 characters. - */ -input.url, input.pattern { width: 95%; } diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/connect-failed b/pkg content/usr/local/etc/privoxy/vanilla/templates/connect-failed deleted file mode 100644 index 96b312e..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/connect-failed +++ /dev/null @@ -1,156 +0,0 @@ -########################################################## -# -# Connect-Failed Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# host-ip: -# The IP address of the host that could not be reached -# hostport: -# The host and port part of the request that lead to this problem -# path: -# The path part of the request that lead to this problem -# -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - 503 - Connect failed (Privoxy@@my-hostname@) - - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - 503 - - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Connect failed

    -

    Your request for @protocol@@hostport@@path@ could - not be fulfilled, because the connection to @host@ (@host-ip@) could not be established. -

    -

    This is often a temporary failure, so you might just - try again. -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/connection-timeout b/pkg content/usr/local/etc/privoxy/vanilla/templates/connection-timeout deleted file mode 100644 index c65e291..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/connection-timeout +++ /dev/null @@ -1,86 +0,0 @@ -########################################################## -# -# connection-timeout Error Output template for Privoxy. -# -########################################################## - - - - - 504 - Connection timeout (Privoxy@@my-hostname@) - - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - 504 - - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Connection timeout

    -

    Your request for @protocol@@hostport@@path@ - could not be fulfilled, because the connection to @host@ (@host-ip@) timed out. -

    -

    This is often a temporary failure, so you might just - try again. -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/default b/pkg content/usr/local/etc/privoxy/vanilla/templates/default deleted file mode 100644 index a4bb7d0..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/default +++ /dev/null @@ -1,131 +0,0 @@ -########################################################## -# -# Default-CGI Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy@@my-hostname@ - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Privoxy Menu:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-add-url-form b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-add-url-form deleted file mode 100644 index d1d9256..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-add-url-form +++ /dev/null @@ -1,147 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-add-url-form,v $ -# -# Purpose : Template used to add a URL pattern to the actions file. -# -# -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -# -# Standard support: -# -# This file currently produces valid HTML 4.01 Strict. -# -# If you change it, please save the generated page from your web browser -# and then upload it to http://validator.w3.org/ for checking. -# -############################################################################# -# -# Available variables include: -# -# filename -# ver -# section -# -############################################################################# - - - - - - - - - - - Privoxy@@my-hostname@: Add URL Pattern - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Add URL or TAG Pattern

    -
    -

    - - - -
    -   -   - Cancel -

    -
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-for-url b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-for-url deleted file mode 100644 index 0c62e7e..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-for-url +++ /dev/null @@ -1,1214 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-for-url,v $ -# -# Purpose : Template used to edit the actions associated with a -# particular section in an actions file. -# -# -# Copyright : Written by and Copyright (C) 2001-2012 the -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -# -# Standard support: -# -# This file currently produces valid HTML 4.01 Strict. -# -# If you change it, please save the generated page from your web browser -# and then upload it to http://validator.w3.org/ for checking. -# -############################################################################## -# -# Available variables include: -# -# action-name-y -# action-name-n -# action-name-x -# -# deanimate-gifs-param-first -# deanimate-gifs-param-last -# hide-from-param-block -# hide-from-param-custom -# hide-from-param -# hide-referrer-param-forge -# hide-referrer-param-block -# hide-referrer-param-custom -# hide-referrer-param -# hide-user-agent-param -# image-blocker-param-pattern -# image-blocker-param-blank -# image-blocker-param-custom -# -# -############################################################################## - - - - - - - - - - - - Privoxy@@my-hostname@: Edit actions - - - - - - - - - - - -
    - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Edit Actions - - - -

    -
    -

    -
    - - - -

    Edit Actions (Section 1)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@client-header-filter-params@ - - - - - - - -@client-header-tagger-params@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    EnableDisableNo ChangeActionDescription
    add-headerAdds HTTP headers.
        Editing the settings for this option, or turning - it on if it was off, is not yet supported using this web-based - editor.
    blockBlock the request.
        Block reason to tell the user:
    - -
    change-x-forwarded-forSpecifies whether to block or add X-Forwarded-For headers.
        
    -
    -
     client-header-filter *Filter the client headers. - You can use the radio buttons on this line to disable - all client-header filters applied by previous rules, and/or - you can enable or disable the filters individually below.
     client-header-tagger *Create tags based on the client headers. - You can use the radio buttons on this line to disable - all client-header taggers applied by previous rules, and/or - you can enable or disable the taggers individually below.
    content-type-overwriteReplace Content-Type header. By default it only applies to - text documents, but if you know what you're doing you - can enable force-text-mode to modify binary content types as well.
        New Content-Type:
    -
    crunch-client-headerRemove header(s) matching the supplied pattern.
        Header string to suppress:
    -
    crunch-if-none-matchRemove If-None-Match header. Useful for filter testing - and to make sure the header can't be used to track your visits.
    crunch-incoming-cookiesPrevent the website from setting HTTP cookies on your system.
    crunch-outgoing-cookiesPrevent the website from reading HTTP cookies from your system.
    crunch-server-headerRemove server header(s) matching the supplied pattern.
        Header string to suppress:
    -
    deanimate-gifsReplace animated GIFs with their (first/last) frame.
        Use the   
    downgrade-http-versionChange HTTP/1.1 requests to HTTP/1.0. Only change if you know - what you're doing!
    fast-redirectsBypass some click-tracking URLs.
         - -
    -
    -

    - - - - -

    - -
    -
    -

    Edit Actions (Section 2)

    - - - - - - - - - - - - - - - - - -@content-filter-params@ - - -
    EnableDisableNo ChangeActionDescription
     filter *Filter the website through regular expression - filters. You can use the radio buttons on this line to disable - all filters applied by previous rules, and/or you can enable or - disable the filters individually below.
    -

    - - - - -

    -
    -
    -
    -

    Edit Actions (Section 3)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    EnableDisableNo ChangeActionDescription
    force-text-mode - Enable filtering on documents whose Content-Type wasn't recognized as text. - Do think twice, nothing is alright. -
    forward-overrideOverride forward directives in the configuration file. - Note that the parameter syntax - isn't checked until the action is used. Syntax errors - will cause Privoxy to exit.
         - Overriding forward directive:
    -
    -
    handle-as-empty-document - Block with an empty document instead of an Image or HTML message. - The empty document contains only a space and can safely be parsed - as JavaScript or Style Sheet. Use content-type-overwrite to specify the - Content-Type, default is text/html. -
    handle-as-imageRequest is for an image (only useful in conjunction with the block - and set-image-blocker actions).
    hide-accept-languagePretend to have different language settings. (Makes a fake User-Agent more believable, - but you may end up with content in the language you pretended to understand.)
         -
    -
    -
    -
    hide-content-dispositionBlock or overwrite the content-disposition header. Useful to view a document inside the browser, - even if you were supposed to save it first, or to change the suggested file name.
         -
    -
    -
    -
    hide-from-headerStop old web browsers from sending the user's e-mail address with - every request.
        
    -
    -
    hide-if-modified-sinceRemove or randomize the If-Modified-Since header.
         - Useful for filter testing.
    - - minute(s). - To appreciate this option a small amount of paranoia is required, - but at least in theory the If-Modified-Since header could be used - to keep track of your visits. -
    -

    - - - - -

    -
    -
    -
    -

    Edit Actions (Section 4)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@server-header-filter-params@ - - - - - - - -@server-header-tagger-params@ - - - - - - - - - - - - - - - - - - - - - -
    EnableDisableNo ChangeActionDescription
    hide-referrerHelps prevent tracking by not sending the URL of the previous web - page. 
         (breaks images - on some free web hosts).
    - (fools checks for in-site links.)
    -
    -
    -
    -
    -
    hide-user-agentPretend to be using a different web browser.  (May cause problems with broken web sites).
        User Agent string to send:
    -
    limit-connectLimit which ports are allowed in HTTP CONNECT requests. These requests are - used to tunnel SSL and other protocols through HTTP proxies.
        Legal ports (comma separated, ranges allowed):
    -
    limit-cookie-lifetimeLimit the cookie lifetime specified in Set-Cookie headers.
    overwrite-last-modifiedRemove or randomize the Last-Modified header.
         -
    - -
    - -
    prevent-compressionDisables compression. Compressed web pages are faster to - download, but cannot be filtered with filter - or kill-popups - if your Privoxy version was build without zlib support.
    redirectRedirect to another address. -
        Static address or a single pcrs command to redirect to a rewritten version of the original URL:
    -
     server-header-filter *Filter the server headers. - You can use the radio buttons on this line to disable - all server-header filters applied by previous rules, and/or - you can enable or disable the filters individually below.
     server-header-tagger *Create tags based on the server headers. - You can use the radio buttons on this line to disable - all server-header taggers applied by previous rules, and/or - you can enable or disable the taggers individually below.
    session-cookies-onlyHTTP cookies set by the website are changed to temporary - ("per-session") ones, which only last until you close your web - browser. This will allow you to use sites that require cookies, but - sites will not be able to track you across sessions. For this to - be useful, you should disable - crunch-outgoing-cookies and - crunch-incoming-cookies.
    set-image-blockerSpecifies how to block images.
        
    -
    -
    -
    - - -

    - - - - -

    -
    - -
    -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - - - - - - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-for-url-filter b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-for-url-filter deleted file mode 100644 index a2e3ef0..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-for-url-filter +++ /dev/null @@ -1,30 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-for-url-filter,v $ -# -# Purpose : Template that is included from most of Privoxy's CGI pages -# to show the user how to get help or report problems. -# -# -# Copyright : Written by and Copyright (C) 2002-2007 members of -# the SourceForge Privoxy team. http://www.privoxy.org/ -# -# This template is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -############################################################################## - - - - - - - - - @filter-type@ @name@ - - @description@ - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list deleted file mode 100644 index 0fab069..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list +++ /dev/null @@ -1,279 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-list,v $ -# -# Purpose : Template used to edit the actions file. -# -# -# Copyright : Written by and Copyright (C) 2001-2009 the -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -# -# Browser support for the CSS on this page: -# MS Internet Explorer 5.5 - Yes - everything works. -# Netscape 6.2 - Yes - everything works. -# Netscape 4.75 - No - CSS buttons look really bad, but they are -# usable. Everything else works. -# Opera 5.12 - Yes - everything works. -# MS Internet Explorer 4+ - Untested -# MS IE 3.x, NS3.x - Untested (Don't support CSS, so everything -# should work, but will look ugly). -# Mozilla >=0.6 - Yes - everything works. -# -# All browsers should work, you just might not get the pretty CSS buttons. -# -# If your favorite browser isn't listed/tested, please test and add it. -# -# -############################################################################# -# -# Standard support: -# -# This file currently produces valid HTML 4.01 Strict. -# -# If you change it, please save the generated page from your web browser -# and then upload it to http://validator.w3.org/ for checking. -# -############################################################################# -# -# Available variables include: -# -# filename -# ver -# -# -############################################################################# - - - - - - - - - - - - Privoxy: Edit actions file @actions-file@ - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - -@sections@ - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    What is all this?

    -

    - If you haven't already done so, it is strongly recommended that you at - least skim the - chapter on actions files in the User Manual - before making any changes. You will also find a comprehensive list of - all available actions there, as well how the settings on this page - work. -

    - -

    - Please note that the first section has special importance. It sets the default actions for - all URLs. The resulting actions for a particular URL may differ from these defaults if that - URL matches again further down, but this section is largely responsible for your browsing - experience. Edit manually with great care, or choose from the predefined sets of actions. -

    - - -

    - This is the default action file. Updates for it are available from - Privoxy.org from time to time. - It is therefore not recommended that you add your private - rules here, since they will be lost if you install an update in the future. - Put your rules in a separate actions file, like user.action instead. -

    - -
    -
    -

    Editing Actions File @actions-file@

    - -

    Insert new section at top

    - -
    -
    - - - - - - - - - - - - -
    Actions:
    - Edit - @all-urls-buttons@ -
    @all-urls-actions@
    URL patterns:
    /   (Matches all requests)
    Advanced:
    - Insert new section below -
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-button b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-button deleted file mode 100644 index c009f60..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-button +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-list-button,v $ -# -# Purpose : Template which forms part of edit-actions-list -# -# -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################# -   Set to @button-name@ diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-section b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-section deleted file mode 100644 index 40e30cb..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-section +++ /dev/null @@ -1,67 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-list-section,v $ -# -# Purpose : Template which forms part of edit-actions-list -# -# -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################# -# -# Available variables include: -# -# filename -# ver -# sectionid -# urls -# -############################################################################# -# -# ** Important note: ** -# -# It is important to keep this file small. That's why all the -# identifiers in the HTML are short and cryptic. Currently, the main -# edit-actions page is ~300k. Before it was optimized, it was ~550k. -# -############################################################################# - - - - - - - - -@urls@ - - -
    Actions:
    Edit
    @actions@
    URL patterns:
    Add
    Advanced:
    -@if-s-prev-exists-start@Move section up   @if-s-prev-exists-end@ -@if-s-next-exists-start@Move section down   @if-s-next-exists-end@ -Insert new section below -@if-empty-section-start@   Delete whole section@if-empty-section-end@ -
    - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-url b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-url deleted file mode 100644 index ba026b5..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-list-url +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-list-url,v $ -# -# Purpose : Template which forms part of edit-actions-list -# -# -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################# -# -# Available variables include: -# -# filename -# ver -# sectionid -# urls -# -############################################################################# -# -# ** Important note: ** -# -# It is *extremely* important to keep this file small. That's why all the -# identifiers in the HTML are short and cryptic. Currently, the main -# edit-actions page is ~300k. Before it was optimized, it was ~550k. -# -############################################################################# - -Remove   Edit  @url-html@ - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-remove-url-form b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-remove-url-form deleted file mode 100644 index f653a06..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-remove-url-form +++ /dev/null @@ -1,132 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-remove-url-form,v $ -# -# Purpose : Template used to confirm removal of a particular URL -# pattern from an actions file. Only used on browsers that -# don't support JavaScript. -# -# -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -# -# Standard support: -# -# This file currently produces valid HTML 4.01 Strict. -# -# If you change it, please save the generated page from your web browser -# and then upload it to http://validator.w3.org/ for checking. -# -############################################################################# -# -# Available variables include: -# -# filename -# ver -# section -# pattern -# oldval -# jumptarget - append to eal URL to jump to relevant section -# -############################################################################# - - - - - - - - - - - - Privoxy@@my-hostname@: Remove URL Pattern - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Remove URL Pattern

    -

    Are you sure you want to delete this URL pattern? The pattern is:

    -

    @u@

    -

    - OK -   - Cancel -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-url-form b/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-url-form deleted file mode 100644 index c94492d..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/edit-actions-url-form +++ /dev/null @@ -1,150 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-url-form,v $ -# -# Purpose : Template used to edit a URL pattern in an actions file. -# -# -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# Original Author: Copyright (C) 2001 Jonathan Foster -# http://www.jon-foster.co.uk/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -# -# Standard support: -# -# This file currently produces valid HTML 4.01 Strict. -# -# If you change it, please save the generated page from your web browser -# and then upload it to http://validator.w3.org/ for checking. -# -############################################################################# -# -# Available variables include: -# -# f - filename -# v - version -# s - section -# p - pattern -# u - old value of URL -# jumptarget - append to eal URL to jump to relevant section -# -############################################################################# - - - - - - - - - - - - Privoxy@@my-hostname@: Edit URL Pattern - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Edit URL or TAG Pattern

    -
    -

    - - - -
    -   -   - Cancel -

    -
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/forwarding-failed b/pkg content/usr/local/etc/privoxy/vanilla/templates/forwarding-failed deleted file mode 100644 index d555470..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/forwarding-failed +++ /dev/null @@ -1,167 +0,0 @@ -########################################################## -# -# Forwarding-failed template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written in plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# gateway -# The IP or hostname of the forwarding server -# hostport: -# The host and port part of the request that lead to this problem -# path: -# The path part of the request that lead to this problem -# error-message: -# The failure reason. -# forwarding-type: -# The type of the forwarding request: "socks4-", "socks4a-" -# or (in the future) "" for direct connections to the forwarder. -# -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - 503 - Forwarding failure (Privoxy@@my-hostname@) - - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - 503 - - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Forwarding failure

    -

    Privoxy was unable to @forwarding-type@forward your request - @protocol@@hostport@@path@ - through @gateway@: - @error-message@

    -

    -

    Just try again to - see if this is a temporary problem, or check your forwarding settings - and make sure that all forwarding servers are working correctly and - listening where they are supposed to be listening. -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-local-help b/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-local-help deleted file mode 100644 index 60b0737..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-local-help +++ /dev/null @@ -1,12 +0,0 @@ -

    Local Privoxy support:

    - - -

    You can consult the online documentation for more information about this Privoxy installation.

    - - - -

    Address e-mail questions about this Privoxy installation to - @admin-address@, - who will be glad to help you. -

    - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-support-and-service b/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-support-and-service deleted file mode 100644 index fde47b1..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-support-and-service +++ /dev/null @@ -1,53 +0,0 @@ -############################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/mod-support-and-service,v $ -# -# Purpose : Template that is included from most of Privoxy's CGI pages -# to show the user how to get help or report problems. -# -# -# Copyright : Written by and Copyright (C) 2002-2009 members of -# the Privoxy team. http://www.privoxy.org/ -# -# This template is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -############################################################################## -

    Support and Service:

    -

    - The Privoxy Team values your feedback. To provide you with the best support, - we ask that you: -

    - -

    - If you want to support the Privoxy Team, please have a look at the FAQ to learn how to - participate - or to donate. -

    diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-title b/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-title deleted file mode 100644 index de73eba..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-title +++ /dev/null @@ -1,4 +0,0 @@ -

    - This is Privoxy @version@ on @my-hostname@ (@my-ip-address@), port @my-port@, - @if-enabled-display-then@enabled@else-not-enabled-display@disabled@endif-enabled-display@ -

    diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-unstable-warning b/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-unstable-warning deleted file mode 100644 index dd77c29..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/mod-unstable-warning +++ /dev/null @@ -1,7 +0,0 @@ -

    Warning:

    -

    - This Privoxy version is based on @code-status@ code and - not intended for production systems! -
    Use at your own risk. See the license for details.
    -

    diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/no-server-data b/pkg content/usr/local/etc/privoxy/vanilla/templates/no-server-data deleted file mode 100644 index f752476..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/no-server-data +++ /dev/null @@ -1,95 +0,0 @@ -########################################################## -# -# no-server-data Error Output template for Privoxy. -# -########################################################## - - - - - 502 - No server or forwarder data received (Privoxy@@my-hostname@) - - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - 502 - - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    No server or forwarder data received

    -

    Your request for @protocol@@hostport@@path@ - could not be fulfilled, because the connection to @host@ (@host-ip@) has been closed - before Privoxy received any data for this request. -

    -

    This is often a temporary failure, so you might just - try again. -

    -

    - If you get this message very often, consider disabling - connection-sharing - (which should be off by default). If that doesn't help, you may have to additionally - disable support for connection keep-alive by setting - keep-alive-timeout - to 0. -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/no-such-domain b/pkg content/usr/local/etc/privoxy/vanilla/templates/no-such-domain deleted file mode 100644 index cae2c73..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/no-such-domain +++ /dev/null @@ -1,158 +0,0 @@ -########################################################## -# -# No-Such-Domain Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the proxy's administrator, as configured -# in the 'config' file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# host: -# The host part of the request that lead to this problem -# hostport: -# The host and port part of the request that lead to this problem -# path: -# The path part of the request that lead to this problem -# proxy-info-url: -# The URL to local online Privoxy documentation, if define in the -# 'config' file -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - 404 - No such Domain (Privoxy@@my-hostname@) - - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - 404 - - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    No such domain

    -

    Your request for @protocol@@hostport@@path@ - could not be fulfilled, because the domain name @host@ could not be resolved. -

    -

    This is often a temporary failure, so you might just - try again. -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-request b/pkg content/usr/local/etc/privoxy/vanilla/templates/show-request deleted file mode 100644 index be8536a..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-request +++ /dev/null @@ -1,154 +0,0 @@ -########################################################## -# -# Show-Request-CGI Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# client-request: -# The request and headers that the client sent. -# processed-request: -# What we would have rewritten this request to, if this had not -# been intercepted. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy@@my-hostname@ - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Show-Request

    -

    - Here you see the original headers that your client sent when requesting this page, along with - the headers that Privoxy would have sent to the remote server if this request hadn't been - intercepted. -

    - -

    Original Client Request:

    -
    @client-request@
    - -

    Processed Request:

    -
    @processed-request@
    - -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-status b/pkg content/usr/local/etc/privoxy/vanilla/templates/show-status deleted file mode 100644 index e0ebd39..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-status +++ /dev/null @@ -1,385 +0,0 @@ -########################################################## -# -# Show-Status-CGI Output template for Privoxy. -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach Privoxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the Privoxy administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of Privoxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The Privoxy version number -# code-status: -# The Privoxy development status: "alpha", "beta", or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# redirect-url: -# The URL to a script that will redirect to the Privoxy -# documentation for a given item -# invocation: -# The command line with which Privoxy was invoked -# options: -# The options read from the configfile, linked to their -# explanations, plus warnings if parsing acl or forward -# statements produced errors. -# sourceversions: -# A HTML-formatted list of the individual source file cvs versions -# defines: -# A HTML-formatted list of all conditional #defines used when -# Privoxy was compiled -# -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# This is an alpha or beta Privoxy release -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for Privoxy's online documentation has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# statistics: -# Privoxy was compiled with statistics support -# have-stats: -# There have been previous requests and statistics have -# been collected. In this case, the following symbols -# are available: -# requests-received: -# The number of requests received so far -# requests-blocked: -# The number of request blocked so far -# percent-blocked: -# The percentage of blocked requests -# have-no-stats: -# There haven't any statistics been collected yet -# pcrs-support: -# Privoxy was compiled with pcrs support -# trust-support: -# Privoxy was compiled with trust support -# actions-filenames: -# The path to the actions files. -# re-filter-filenames: -# The path to the re_filter files. Only available if -# pcrs-support is set -# trust-filename: -# The path to the trust file. Only available if -# trust-support is set - - - - - Privoxy@@my-hostname@: Proxy Status - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    The following files are in use:

    - - - - - @actions-filenames@ - - - - @re-filter-filenames@ - - - - - - - - - -
    Actions Files:
    Filter Files:
    Trust File:
    - @trust-filename@ - - - View - -
    - -

    - The CGI editor is currently disabled, thus no edit buttons are shown.
    - Please have a look at the - enable-edit-actions documentation - to learn how to enable it and what the risks are. -

    - -
    -

    Privoxy was invoked as follows:

    -

    @invocation@

    -
    -

    The following options were given in the config file:

    -

    @options@

    -
    -

    Blocking Statistics:

    -

    - - @requests-blocked@ out of @requests-received@ requests have been blocked, - which equals a block rate of @percent-blocked@%. -

    -

    - Note that the statistics currently don't work properly for - reused connections where only the last request gets counted. - You may want to look into Privoxy-Log-Parser's --statistics option, - which doesn't have this limitation. - - - There haven't been any requests so far. - -

    -
    -

    Conditional #defines:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #define Enabled? Effects when enabled
    FEATURE_ACCEPT_FILTER@if-FEATURE_ACCEPT_FILTER-then@ Yes @else-not-FEATURE_ACCEPT_FILTER@ No @endif-FEATURE_ACCEPT_FILTER@Support for FreeBSD's accf_http(9) which is also available on some other BSDs.
    FEATURE_ACL@if-FEATURE_ACL-then@ Yes @else-not-FEATURE_ACL@ No @endif-FEATURE_ACL@Allows the use of an ACL to control access to Privoxy by IP address.
    FEATURE_CGI_EDIT_ACTIONS@if-FEATURE_CGI_EDIT_ACTIONS-then@ Yes @else-not-FEATURE_CGI_EDIT_ACTIONS@ No @endif-FEATURE_CGI_EDIT_ACTIONS@Allows the use of the @if-FEATURE_CGI_EDIT_ACTIONS-then@@else-not-FEATURE_CGI_EDIT_ACTIONS@ - @endif-FEATURE_CGI_EDIT_ACTIONS@web-based actions file - editor@if-FEATURE_CGI_EDIT_ACTIONS-then@@else-not-FEATURE_CGI_EDIT_ACTIONS@@endif-FEATURE_CGI_EDIT_ACTIONS@.
    FEATURE_COMPRESSION@if-FEATURE_COMPRESSION-then@ Yes @else-not-FEATURE_COMPRESSION@ No @endif-FEATURE_COMPRESSION@ - Allows to compress buffered content before sending it to the client, assuming the client supports it. -
    FEATURE_CONNECTION_KEEP_ALIVE@if-FEATURE_CONNECTION_KEEP_ALIVE-then@ Yes @else-not-FEATURE_CONNECTION_KEEP_ALIVE@ No @endif-FEATURE_CONNECTION_KEEP_ALIVE@ - Allows to send multiple request through the same connections if the server supports it. - Requires the keep-alive-timeout config directive to be set. -
    FEATURE_CONNECTION_SHARING@if-FEATURE_CONNECTION_SHARING-then@ Yes @else-not-FEATURE_CONNECTION_SHARING@ No @endif-FEATURE_CONNECTION_SHARING@ - Allows to share outgoing connections between incoming connections. - Requires the connection-sharing config directive to be set. -
    FEATURE_FAST_REDIRECTS@if-FEATURE_FAST_REDIRECTS-then@ Yes @else-not-FEATURE_FAST_REDIRECTS@ No @endif-FEATURE_FAST_REDIRECTS@Allows the +fast-redirects action, to bypass redirect and logging scripts.
    FEATURE_FORCE_LOAD@if-FEATURE_FORCE_LOAD-then@ Yes @else-not-FEATURE_FORCE_LOAD@ No @endif-FEATURE_FORCE_LOAD@Allows bypassing all filtering for a single page using the prefix - @FORCE_PREFIX@.
    FEATURE_GRACEFUL_TERMINATION@if-FEATURE_GRACEFUL_TERMINATION-then@ Yes @else-not-FEATURE_GRACEFUL_TERMINATION@ No @endif-FEATURE_GRACEFUL_TERMINATION@Allows to shutdown Privoxy through the web interface.
    FEATURE_IMAGE_BLOCKING@if-FEATURE_IMAGE_BLOCKING-then@ Yes @else-not-FEATURE_IMAGE_BLOCKING@ No @endif-FEATURE_IMAGE_BLOCKING@Allows the +handle-as-image action, to send blocked images instead of HTML.
    FEATURE_IPV6_SUPPORT@if-FEATURE_IPV6_SUPPORT-then@ Yes @else-not-FEATURE_IPV6_SUPPORT@ No @endif-FEATURE_IPV6_SUPPORT@ - Allows IPv6 addresses in incoming requests, when resolving domains to - IP addresses and in the configuration files. -
    FEATURE_IMAGE_DETECT_MSIE@if-FEATURE_IMAGE_DETECT_MSIE-then@ Yes @else-not-FEATURE_IMAGE_DETECT_MSIE@ No @endif-FEATURE_IMAGE_DETECT_MSIE@Enables automatic detection of image and HTML requests from - Microsoft Internet Explorer users, overriding the setting of - +image in the actions file.
    FEATURE_NO_GIFS@if-FEATURE_NO_GIFS-then@ Yes @else-not-FEATURE_NO_GIFS@ No @endif-FEATURE_NO_GIFS@Use PNG instead of GIF for the built-in images.
    FEATURE_PTHREAD@if-FEATURE_PTHREAD-then@ Yes @else-not-FEATURE_PTHREAD@ No @endif-FEATURE_PTHREAD@Use POSIX threads rather than native threads
    FEATURE_STATISTICS@if-FEATURE_STATISTICS-then@ Yes @else-not-FEATURE_STATISTICS@ No @endif-FEATURE_STATISTICS@Enables the statistics function.
    FEATURE_STRPTIME_SANITY_CHECKS@if-FEATURE_STRPTIME_SANITY_CHECKS-then@ Yes @else-not-FEATURE_STRPTIME_SANITY_CHECKS@ No @endif-FEATURE_STRPTIME_SANITY_CHECKS@Try to work around broken strptime() implementations.
    FEATURE_TOGGLE@if-FEATURE_TOGGLE-then@ Yes @else-not-FEATURE_TOGGLE@ No @endif-FEATURE_TOGGLE@Allow Privoxy to be disabled so it is just a normal non-blocking non-anonymizing proxy.
    FEATURE_TRUST@if-FEATURE_TRUST-then@ Yes @else-not-FEATURE_TRUST@ No @endif-FEATURE_TRUST@Allows the use of trust files.
    FEATURE_ZLIB@if-FEATURE_ZLIB-then@ Yes @else-not-FEATURE_ZLIB@ No @endif-FEATURE_ZLIB@Allows to decompress gzip and zlib compressed documents for filtering. - Requires external zlib library and hasn't been tested on all platforms.
    STATIC_PCRE@if-STATIC_PCRE-then@ Yes @else-not-STATIC_PCRE@ No @endif-STATIC_PCRE@Use the supplied statically-linked PCRE library. This is set automatically - by ./configure if you do not have the libpcre installed. - Dynamically linking to an external libpcre is recommended as the internal - one is outdated and lacks various features and bug-fixes you may be interested in.
    STATIC_PCRS@if-STATIC_PCRS-then@ Yes @else-not-STATIC_PCRS@ No @endif-STATIC_PCRS@Use the supplied statically-linked PCRS library. This is set automatically - by ./configure if you do not have the libpcrs installed.
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-status-file b/pkg content/usr/local/etc/privoxy/vanilla/templates/show-status-file deleted file mode 100644 index ec03b36..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-status-file +++ /dev/null @@ -1,146 +0,0 @@ -########################################################## -# -# Show-Status-CGI Output template for Privoxy. -# (Variant for the show-file mode) -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# file-description: -# A descriptive name for the file being shown -# contents: -# The contents of the file being shown -# filepath -# The complete filename of the file being shown -# -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# This is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# - - - - - Privoxy@@my-hostname@: Contents of @file-description@ - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Contents of @file-description@ @filepath@

    -
    @contents@
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-url-info b/pkg content/usr/local/etc/privoxy/vanilla/templates/show-url-info deleted file mode 100644 index 0007e06..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-url-info +++ /dev/null @@ -1,292 +0,0 @@ -######################################################################## -# -# File : $Source: /cvsroot/ijbswa/current/templates/show-url-info,v $ -# -# Purpose : Template for Privoxy's show-url-info CGI page. -# -# Copyright : Written by and Copyright (C) 2001-2007 the SourceForge -# Privoxy team. http://www.privoxy.org/ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -######################################################################### -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach Privoxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the Privoxy administrator, as configured -# in the config file -# default-cgi: -# The URL for Privoxy's "main menu" builtin CGI page -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# Privoxy's version number -# code-status: -# Privoxy's development status: "alpha", "beta", or "stable". -# homepage: -# The Privoxy web site. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# url-given: -# The CGI was called with a url parameter. In that case, the -# following symbols are available: -# url: -# The given URL -# default: -# The system default for actions -# matches: -# The list of all matches in the actions file that this URL -# produced, along with the actions that were triggered by -# these matches -# final: -# The actions that are associated with the URL at the end of -# the matching process -# no-forwarder: Requests to url will be made directly. -# http-forwarder: -# Requests to url will be made through a HTTP proxy -# forward-host: -# The IP address or its hostname -# forward-port. -# The proxy port -# socks-forwarder: -# Requests to url will be made through a socks proxy -# socks-type: -# The socks type: socks4 or socks4a -# gateway-host: -# The IP address or its hostname -# gateway-port: -# The proxy port. -# - - - - - Privoxy@@my-hostname@ URL Info - - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    - -

    Forwarding settings:

    -

    - Requests for @url@ will be - - made directly, no forwarding settings apply - - first - - forwarded through @socks-type@-proxy @gateway-host@:@gateway-port@ - - and then - - forwarded through HTTP-proxy @forward-host@:@forward-port@. -

    - -

    NOTE:

    -

    This is a HTTPS URL, so the part after the "/" is ignored - as Privoxy doesn't see the path for real HTTPS requests either.

    - - -

    Matches for @url@:

    - @matches@ - - -

    - The CGI editor is currently disabled, thus no edit buttons are shown.
    - Please have a look at the - enable-edit-actions documentation - to learn how to enable it and what the risks are. -

    - - -
    -

    Warning:

    -

    - This Privoxy version has been built without zlib support, - content filters will not work if the server sends compressed content. - Consider enabling the prevent-compression - action for this URL or rebuild Privoxy with zlib support. -

    -
    -

    Final results:

    - @final@ -
    -

    Warning:

    -

    - Privoxy is currently toggled off. Matching actions will not apply - unless you toggle Privoxy on first. -

    -
    -

    Look up the actions for a -new - URL:

    -
    -

    - - -

    -
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-version b/pkg content/usr/local/etc/privoxy/vanilla/templates/show-version deleted file mode 100644 index 65efb5a..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/show-version +++ /dev/null @@ -1,159 +0,0 @@ -########################################################## -# -# Show-Status-CGI Output template for Privoxy. -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# redirect-url: -# The URL to a script that will redirect to the Privoxy -# documentation for a given item -# invocation: -# The command line with whitch Privoxy was invoked -# options: -# The options read from the configfile, linked to their -# explanations, plus warnings if parsing acl or forward -# statements produced errors. -# sourceversions: -# A HTML-formatted list of the individual source file cvs versions -# defines: -# A HTML-formatted list of all conditional #defines used when -# Privoxy was compiled -# -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# This is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# sourceversions -# The versions. - - - - - Privoxy@@my-hostname@: Detailed proxy version information - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Source code versions:

    -

    (Note: This information is only relevant if you checked out Privoxy from CVS - and compiled it yourself. If you downloaded a binary, .exe, RPM, or a .tgz file, - then when you ask for support just mention the version number @version@ - and the type of download you got.) -

    -
    @sourceversions@
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/toggle b/pkg content/usr/local/etc/privoxy/vanilla/templates/toggle deleted file mode 100644 index fa8ea6d..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/toggle +++ /dev/null @@ -1,180 +0,0 @@ -########################################################## -# -# Toggle Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# @if-enabled-display-then@ on @else-not-enabled-display@ off @endif-enabled-display@ -# - - - - - @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@ - Privoxy@@my-hostname@ - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Privoxy is @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@

    -

    When enabled, Privoxy performs its magic - blocking - adverts, filtering cookies, regex-filtering, etc.

    -

    When disabled, Privoxy behaves as a normal HTTP proxy, - and will not affect your web browsing.

    -

    Click - here to @if-enabled-display-then@disable@else-not-enabled-display@enable@endif-enabled-display@ Privoxy.

    -
    -

    Bookmarklets

    -

    Here are some bookmarklets to allow you to easily access a - "mini" version of this page. They are known to work with MS - Internet Explorer, Netscape and Mozilla, but should work equally - well in other browsers which support JavaScript. They are designed - to run directly from your bookmarks - not by clicking the - links below (although that will work for testing). -

    -

    To save them, right-click the link and choose - "Add to Favorites" (IE) or "Add Bookmark" (Netscape). You - will get a warning that the bookmark "may not be safe" - just - click OK. Then you can run the Bookmarklet directly from your - favourites/bookmarks. For even faster access, you can put - them on the "Links" bar (IE) or the "Personal Toolbar" - (Netscape), and run them with a single click. -

    - - - -

    - Credit: The site which gave us the general idea for these - bookmarklets is www.bookmarklets.com. - They have more information about them. -

    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/toggle-mini b/pkg content/usr/local/etc/privoxy/vanilla/templates/toggle-mini deleted file mode 100644 index de9ad42..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/toggle-mini +++ /dev/null @@ -1,91 +0,0 @@ -########################################################## -# -# Toggle Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# this is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# @if-enabled-display-then@ on @else-not-enabled-display@ off @endif-enabled-display@ -# - - - - - @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@ - Privoxy@@my-hostname@ - - - - - - - - - -

    - Privoxy is - @if-enabled-display-then@enabled@else-not-enabled-display@disabled@endif-enabled-display@. -
    @if-enabled-display-then@[Disable]@else-not-enabled-display@[Enable]@endif-enabled-display@ | - [Close] -

    - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/untrusted b/pkg content/usr/local/etc/privoxy/vanilla/templates/untrusted deleted file mode 100644 index 7bde7c5..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/untrusted +++ /dev/null @@ -1,191 +0,0 @@ -########################################################## -# -# "Untrusted" Error Output template for Privoxy. -# -# -# USING HTML TEMPLATES: -# --------------------- -# -# Template files are written win plain HTML, with a few -# additions: -# -# - Lines that start with a '#' character like this one -# are ignored -# -# - Each item in the below list of exported symbols will -# be replaced by dynamically generated text, if they -# are enclosed in '@'-characters. E.g. The string @version@ -# will be replaced by the version number of Privoxy. -# -# - One special application of this is to make whole blocks -# of the HTML template disappear if the condition -# is not given. Simply enclose the block between the two -# strings @if-start and if--end@. The strings -# should be placed in HTML comments (), so the -# html structure won't be messed when the magic happens. -# -# USABLE SYMBOLS IN THIS TEMPLATE: -# -------------------------------- -# -# my-ip-addr: -# The IP-address that the client used to reach this proxy -# my-hostname: -# The hostname associated with my-ip-addr -# admin-address: -# The email address of the pxoxy's administrator, as configured -# in the config file -# default-cgi: -# The URL for the "main menu" builtin CGI of this proxy -# menu: -# List of
  • elements linking to the other available CGIs -# version: -# The version number of the proxy software -# code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". -# homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. -# -# hostport: -# The host and port part of the request that lead to this problem -# path: -# The path part of the request that lead to this problem -# referrer: -# The referrer of the request that lead to this problem -# trusted-referrers: -# An HTML-formatted list of referrers that are marked as trusted in -# the trustfile -# -# -# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: -# ------------------------------------------------------------------ -# -# unstable: -# This is an alpha or beta release of the proxy software -# have-adminaddr-info: -# An e-mail address for the local Privoxy adminstrator has -# been specified and is available through the "admin-address" -# symbol -# have-proxy-info: -# A URL for online documentation about this proxy has been -# specified and is available through the "proxy-info-url" -# symbol -# have-help-info: -# If either have-proxy-info is true or have-adminaddr-info is -# true, have-help-info is true. Used to conditionally include -# a grey box for any and all help info. -# force-support: -# Privoxy has been compiled with support for forced loading -# of blocked content. In that case, the symbol "force-prefix" is -# avaiable, which translates to the FORCE_PREFIX -# have-trust-info: -# There were URLs with info on the trust policy defined in the config -# file. In this case the list of URLs is available through the -# "trust-info" symbol. -# -# - - - - Untrusted request (Privoxy@@my-hostname@) - - - - - - - - - - - - - - - - - -# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - UNTRUSTED - - -#include mod-title - -
    - -#include mod-unstable-warning - -
    -

    Request for untrusted URL

    -

    Your request for @protocol@@hostport@@path@ was blocked, - because neither the request URL itself, nor its referrer - (@referrer@) were trusted. -

    - -

    (You can go there anyway.)

    - -
    -

    The following referrers are trusted:

    -
      - @trusted-referrers@ -
    -
    -

    More information on the trust policy:

    -

    You can learn more about what this means and what you may be able to do about it by - reading the following documents: -

    -
      - @trust-info@ -
    -
    -

    More Privoxy:

    - -
    - -#include mod-support-and-service - -
    - -#include mod-local-help - -
    - - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/templates/url-info-osd.xml b/pkg content/usr/local/etc/privoxy/vanilla/templates/url-info-osd.xml deleted file mode 100644 index 3fbaaf1..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/templates/url-info-osd.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - Privoxy URL Info - - Enter a URL to see which Privoxy actions apply. - Only works while the browser is configured to use Privoxy. - - ISO-8859-1 - ISO-8859-1 - Privoxy Team - ijbswa-developers@lists.sourceforge.net - @default-cgi@favicon.ico - - diff --git a/pkg content/usr/local/etc/privoxy/vanilla/trust b/pkg content/usr/local/etc/privoxy/vanilla/trust deleted file mode 100644 index 5767363..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/trust +++ /dev/null @@ -1,85 +0,0 @@ -###################################################################### -# -# File : $Source: /cvsroot/ijbswa/current/trust,v $ -# -# $Id: trust,v 1.6 2007/05/14 17:19:42 fabiankeil Exp $ -# -# Purpose : Trustfiles are an experimental feature and can be used -# to build "whitelists" (versus the usual "blacklists" -# techniques). -# -# Copyright : Written by and Copyright -# Privoxy team. http://www.privoxy.org/ -# -# Based on the Internet Junkbuster originally written -# by and Copyright (C) 1997 Anonymous Coders and -# Junkbusters Corporation. http://www.junkbusters.com -# -# We value your feedback. However, to provide you with the best support, -# please note: -# -# * Use the support forum to get help: -# http://sourceforge.net/tracker/?group_id=11118&atid=211118 -# * Submit bugs only thru our bug forum: -# http://sourceforge.net/tracker/?group_id=11118&atid=111118 -# Make sure that the bug has not already been submitted. Please try -# to verify that it is a Privoxy bug, and not a browser or site -# bug first. If you are using your own custom configuration, please -# try the stock configs to see if the problem is a configuration -# related bug. And if not using the latest development snapshot, -# please try the latest one. Or even better, CVS sources. -# * Submit feature requests only thru our feature request tracker: -# http://sourceforge.net/tracker/?atid=361118&group_id=11118&func=browse -# -# For any other issues, feel free to use the mailing lists: -# http://sourceforge.net/mail/?group_id=11118 -# -# Anyone interested in actively participating in development and related -# discussions can join the appropriate mailing list here: -# http://sourceforge.net/mail/?group_id=11118. Archives are available -# here too. -# -###################################################################### -# -# Sample Trustfile for Privoxy - -# For this file to have any effect, the line in the main config file beginning -# with "trustfile" must be uncommented, with the name of this file following the -# word "trustfile". - -# Trustfiles are an experimental feature used for building "whitelists" -# of "trusted" sites (versus the usual "blacklists" technique). For more -# detail, see http://www.privoxy.org/user-manual/config.html#TRUSTFILE. - -# List trusted domains here. The default is to block any URL that is NOT -# referenced. Access to trusted domains includes all paths within that -# domain. - -# Preceding a domain with a '+' character will designate that domain -# as a "trusted referrer", meaning any requests whose HTTP "Referer" headers -# contain an URL from that domain will be allowed, and the previously untrusted -# host will be dynamically added to this file. Thus, this builds a "white-list" -# of hosts the user is allowed to visit. - -# Note this means that the file will grow with use! - -# Also note that you can only trust referrers if you control the user's -# system and make sure that there are no programs available that allow -# to set arbitrary headers. - -# Preceding the domain with '~' character allows access to that domain only -# (including all paths within that domain), but does not allow access to links -# to other, outside domains. Sites that are added dynamically by trusted -# referrers will include the '~' character, and thus do not become trusted -# referrers themselves. - -# Example: to allow example.com and to white-list domains that appear to -# be reached through links from example.com, uncomment this line: - -# +example.com - -# The next two lines make sure that the user can access Privoxy's -# CGI pages, without automatically trusting their links. - -~config.privoxy.org -~p.p diff --git a/pkg content/usr/local/etc/privoxy/vanilla/user.action b/pkg content/usr/local/etc/privoxy/vanilla/user.action deleted file mode 100644 index 2a990b1..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/user.action +++ /dev/null @@ -1,197 +0,0 @@ -###################################################################### -# -# File : $Source: /cvsroot/ijbswa/current/user.action,v $ -# -# $Id: user.action,v 1.13 2011/11/06 11:36:01 fabiankeil Exp $ -# -# Purpose : User-maintained actions file, see -# http://www.privoxy.org/user-manual/actions-file.html -# -###################################################################### - -# This is the place to add your personal exceptions and additions to -# the general policies as defined in default.action. (Here they will be -# safe from updates to default.action.) Later defined actions always -# take precedence, so anything defined here should have the last word. - -# See http://www.privoxy.org/user-manual/actions-file.html, or the -# comments in default.action, for an explanation of what an "action" is -# and what each action does. - -# The examples included here either use bogus sites, or have the actual -# rules commented out (with the '#' character). Useful aliases are -# included in the top section as a convenience. - -############################################################################# -# Aliases -############################################################################# -{{alias}} -############################################################################# -# -# You can define a short form for a list of permissions - e.g., instead -# of "-crunch-incoming-cookies -crunch-outgoing-cookies -filter -fast-redirects", -# you can just write "shop". This is called an alias. -# -# Currently, an alias can contain any character except space, tab, '=', '{' -# or '}'. -# But please use only 'a'-'z', '0'-'9', '+', and '-'. -# -# Alias names are not case sensitive. -# -# Aliases beginning with '+' or '-' may be used for system action names -# in future releases - so try to avoid alias names like this. (e.g. -# "+crunch-all-cookies" below is not a good name) -# -# Aliases must be defined before they are used. -# -# These aliases just save typing later: -# -+crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies --crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies - allow-all-cookies = -crunch-all-cookies -session-cookies-only -filter{content-cookies} - allow-popups = -filter{all-popups} -filter{unsolicited-popups} -+block-as-image = +block{Blocked image request.} +handle-as-image --block-as-image = -block - -# These aliases define combinations of actions -# that are useful for certain types of sites: -# -fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression -shop = -crunch-all-cookies allow-popups - -# Your favourite blend of filters: -# -myfilters = +filter{html-annoyances} +filter{js-annoyances} +filter{all-popups}\ - +filter{webbugs} +filter{banners-by-size} - -# Allow ads for selected useful free sites: -# -allow-ads = -block -filter{banners-by-size} -filter{banners-by-link} -#... etc. Customize to your heart's content. - -## end aliases ######################################################## -####################################################################### - -# Begin examples: ##################################################### - -# Say you have accounts on some sites that you visit regularly, and you -# don't want to have to log in manually each time. So you'd like to allow -# persistent cookies for these sites. The allow-all-cookies alias defined -# above does exactly that, i.e. it disables crunching of cookies in any -# direction, and the processing of cookies to make them only temporary. -# -{ allow-all-cookies } -#.sourceforge.net -#sunsolve.sun.com -#slashdot.org -#.yahoo.com -#.msdn.microsoft.com -#.redhat.com - -# Say the site where you do your homebanking needs to open popup -# windows, but you have chosen to kill popups uncoditionally by default. -# This will allow it for your-example-bank.com: -# -{ -filter{all-popups} } -.banking.example.com - -# Some hosts and some file types you may not want to filter for -# various reasons: -# -{ -filter } - -# Technical documentation is likely to contain strings that might -# erroneously get altered by the JavaScript-oriented filters: -# -#.tldp.org -#/(.*/)?selfhtml/ - -# And this stupid host sends streaming video with a wrong MIME type, -# so that Privoxy thinks it is getting HTML and starts filtering: -# -stupid-server.example.com/ - - -# Example of a simple "block" action. Say you've seen an ad on your -# favourite page on example.com that you want to get rid of. You have -# right-clicked the image, selected "copy image location" and pasted -# the URL below while removing the leading http://, into a { +block{reason} } -# section. Note that { +handle-as-image } need not be specified, since -# all URLs ending in .gif will be tagged as images by the general rules -# as set in default.action anyway: -# -{ +block{Nasty ads.} } -www.example.com/nasty-ads/sponsor.gif - -# The URLs of dynamically generated banners, especially from large banner -# farms, often don't use the well-known image file name extensions, which -# makes it impossible for Privoxy to guess the file type just by looking -# at the URL. -# You can use the +block-as-image alias defined above for these cases. -# Note that objects which match this rule but then turn out NOT to be an -# image are typically rendered as a "broken image" icon by the browser. -# Use cautiously. -# -{ +block-as-image } -#.doubleclick.net -#/Realmedia/ads/ -#ar.atwola.com/ - -# Now you noticed that the default configuration breaks Forbes -# Magazine, but you were too lazy to find out which action is the -# culprit, and you were again too lazy to give feedback, so you just -# used the fragile alias on the site, and -- whoa! -- it worked. The -# 'fragile' aliases disables those actions that are most likely to break -# a site. Also, good for testing purposes to see if it is Privoxy that -# is causing the problem or not. -# -{ fragile } -#.forbes.com - -# Here are some sites we wish to support, and we will allow their ads -# through. -# -{ allow-ads } -#.sourceforge.net -#.slashdot.org -#.osdn.net - -# user.action is generally the best place to define exceptions and -# additions to the default policies of default.action. Some actions are -# safe to have their default policies set here though. So let's set a -# default policy to have a 'blank' image as opposed to the checkerboard -# pattern for ALL sites. '/' of course matches all URLs. -# patterns: -# -{ +set-image-blocker{blank} } -#/ - -# Enable the following section (not the regression-test directives) -# to rewrite and redirect click-tracking URLs on news.google.com. -# Disabling JavaScript should work as well and probably works more reliably. -# -# Redirected URL = http://news.google.com/news/url?ct2=us%2F0_0_s_1_1_a&sa=t&usg=AFQjCNHJWPc7ffoSXPSqBRz55jDA0KgxOQ&cid=8797762374160&url=http%3A%2F%2Fonline.wsj.com%2Farticle%2FSB10001424052970204485304576640791304008536.html&ei=YcqeTsymCIjxggf8uQE&rt=HOMEPAGE&vm=STANDARD&bvm=section&did=-6537064229385238098 -# Redirect Destination = http://online.wsj.com/article/SB10001424052970204485304576640791304008536.html -# Ignore = Yes -# -#{+fast-redirects{check-decoded-url}} -#news.google.com/news/url.*&url=http.*& - -# Enable the following section (not the regression-test directives) -# to block various Facebook "like" and similar tracking URLs. At the -# time this section was added it was reported to not break Facebook -# itself but this may have changed by the time you read this. This URL -# list is probably incomplete and if you don't have an account anyway, -# you may prefer to block the whole domain. -# -# Blocked URL = http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Ffacebook.com%2Farstechnica&width=300&colorscheme=light&show_faces=false&stream=false&header=false&height=62&border_color=%23FFFFFF -# Ignore = Yes -# Blocked URL = http://www.facebook.com/plugins/activity.php?site=arstechnica.com&width=300&height=370&header=false&colorscheme=light&recommendations=false&border_color=%23FFFFFF -# Ignore = Yes -# Blocked URL = http://www.facebook.com/plugins/fan.php?api_key=368513495882&connections=10&height=250&id=8304333127&locale=en_US&sdk=joey&stream=false&width=377 -# Ignore = Yes -# Blocked URL = http://www.facebook.com/plugins/like.php?api_key=368513495882&channel_url=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df13997452c%26origin%3Dhttp%253A%252F%252Fonline.wsj.com%252Ff1b037e354%26relation%3Dparent.parent%26transport%3Dpostmessage&extended_social_context=false&href=http%3A%2F%2Fonline.wsj.com%2Farticle%2FSB10001424052970204485304576640791304008536.html&layout=button_count&locale=en_US&node_type=link&ref=wsj_share_FB&sdk=joey&send=false&show_faces=false&width=90 -# Ignore = Yes -# -#{+block{Facebook "like" and similar tracking URLs.}} -#www.facebook.com/(extern|plugins)/(login_status|like(box)?|activity|fan)\.php diff --git a/pkg content/usr/local/etc/privoxy/vanilla/user.filter b/pkg content/usr/local/etc/privoxy/vanilla/user.filter deleted file mode 100644 index 98de1c6..0000000 --- a/pkg content/usr/local/etc/privoxy/vanilla/user.filter +++ /dev/null @@ -1,75 +0,0 @@ -# ******************************************************************** -# -# File : $Source: /cvsroot/ijbswa/current/user.filter,v $ -# -# $Id: user.filter,v 1.3 2008/05/21 20:17:03 fabiankeil Exp $ -# -# Purpose : Rules to process the content of web pages -# -# Copyright : Written by and Copyright (C) 2006-2008 the -# Privoxy team. http://www.privoxy.org/ -# -# We value your feedback. However, to provide you with the best support, -# please note: -# -# * Use the support forum to get help: -# http://sourceforge.net/tracker/?group_id=11118&atid=211118 -# * Submit bugs only thru our bug forum: -# http://sourceforge.net/tracker/?group_id=11118&atid=111118 -# Make sure that the bug has not already been submitted. Please try -# to verify that it is a Privoxy bug, and not a browser or site -# bug first. If you are using your own custom configuration, please -# try the stock configs to see if the problem is a configuration -# related bug. And if not using the latest development snapshot, -# please try the latest one. Or even better, CVS sources. -# * Submit feature requests only thru our feature request forum: -# http://sourceforge.net/tracker/?atid=361118&group_id=11118&func=browse -# -# For any other issues, feel free to use the mailing lists: -# http://sourceforge.net/mail/?group_id=11118 -# -# Anyone interested in actively participating in development and related -# discussions can join the appropriate mailing list here: -# http://sourceforge.net/mail/?group_id=11118. Archives are available -# here too. -# -################################################################################# -# -# Syntax: -# -# Generally filters start with a line like "FILTER: name description". -# They are then referrable from the actionsfile with +filter{name} -# -# FILTER marks a filter as content filter, other filter -# types are CLIENT-HEADER-FILTER, CLIENT-HEADER-TAGGER, -# SERVER-HEADER-FILTER and SERVER-HEADER-TAGGER. -# -# Inside the filters, write one Perl-Style substitution (job) per line. -# Jobs that precede the first FILTER: line are ignored. -# -# For Details see the pcrs manpage contained in this distribution. -# (and the perlre, perlop and pcre manpages) -# -# Note that you are free to choose the delimiter as you see fit. -# -# Note2: In addition to the Perl options gimsx, the following nonstandard -# options are supported: -# -# 'U' turns the default to ungreedy matching. Add ? to quantifiers to -# switch back to greedy. -# -# 'T' (trivial) prevents parsing for backreferences in the substitute. -# Use if you want to include text like '$&' in your substitute without -# quoting. -# -# 'D' (Dynamic) allows the use of variables. Supported variables are: -# $host, $origin (the IP address the request came from), $path and $url. -# -# Note that '$' is a bad choice as delimiter for dynamic filters as you -# might end up with unintended variables if you use a variable name -# directly after the delimiter. Variables will be resolved without -# escaping anything, therefore you also have to be careful not to chose -# delimiters that appear in the replacement text. For example '<' should -# be save, while '?' will sooner or later cause conflicts with $url. -# -################################################################################# diff --git a/pkg content/usr/local/sbin/privoxy b/pkg content/usr/local/sbin/privoxy deleted file mode 100755 index cd60ffa..0000000 Binary files a/pkg content/usr/local/sbin/privoxy and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/AUTHORS b/pkg content/usr/local/share/doc/privoxy/AUTHORS deleted file mode 100644 index fb7ec69..0000000 --- a/pkg content/usr/local/share/doc/privoxy/AUTHORS +++ /dev/null @@ -1,144 +0,0 @@ - Authors of Privoxy v2.9.x and 3.x -=========================================================================== - -Current Privoxy Team: - - Fabian Keil, lead developer - David Schmidt - Hal Burgiss - Lee Rian - Roland Rosenfeld - Ian Silvester - -Former Privoxy Team Members: - - Johny Agotnes - Rodrigo Barbosa - Moritz Barsnick - Ian Cummings - Brian Dessent - Jon Foster - Karsten Hopp - Alexander Lazic - Daniel Leite - Gábor Lipták - Adam Lock - Guy Laroche - Justin McMurtry - Mark Miller - Gerry Murphy - Andreas Oesterhelt - Haroon Rafique - Georg Sauthoff - Thomas Steudten - Jörg Strohmayer - Rodney Stromlund - Sviatoslav Sviridov - Sarantis Paskalis - Stefan Waldherr - -Thanks to the many people who have tested Privoxy, reported bugs, provided -patches, made suggestions or contributed in some way. These include (in -alphabetical order): - - Ken Arromdee - Natxo Asenjo - Devin Bayer - Havard Berland - David Bo - Gergely Bor - Francois Botha - Reiner Buehl - Andrew J. Caines - Clifford Caoile - Wan-Teh Chang - Ramkumar Chinchani - Billy Crook - Frédéric Crozat - Michael T. Davis - Markus Dittrich - Mattes Dolak - Matthias Drochner - Peter E. - Florian Effenberger - Markus Elfring - Ryan Farmer - Matthew Fischer - Dean Gaudet - Stephen Gildea - Lizik Grelier - Daniel Griscom - Felix Gröbert - Jeff H. - Tim H. - Aaron Hamid - Darel Henman - Magnus Holmgren - Eric M. Hopper - Ralf Horstmann - Stefan Huehner - Peter Hyman - Derek Jennings - Andrew Jones - Julien Joubert - Ralf Jungblut - Petr Kadlec - Steven Kolins - Zeno Kugy - David Laight - Bert van Leeuwen - Don Libes - Paul Lieverse - Han Liu - Toby Lyward - Wil Mahan - Jindrich Makovicka - Raphael Marichez - Francois Marier - Angelina Matson - David Mediavilla - Raphael Moll - Amuro Namie - Adam Piggott - Petr Písar - Dan Price - Roberto Ragusa - Félix Rauch - Maynard Riley - Andreas Rutkauskas - Bart Schelstraete - Chung-chieh Shan - Simon South - Dan Stahlke - Oliver Stoeneberg - Rick Sykes - Spinor S. - Peter Thoenen - Martin Thomas - Bobby G. Vinyard - Jochen Voss - Glenn Washburn - Song Weijia - Jörg Weinmann - Darren Wiebe - Anduin Withers - Oliver Yeoh - Jamie Zawinski - -Privoxy is based in part on code originally developed by Junkbusters Corp. and -Anonymous Coders. - -Privoxy heavily relies on Philip Hazel's PCRE. - -The code to filter compressed content makes use of zlib which is written by -Jean-loup Gailly and Mark Adler. - -On systems that lack snprintf(), Privoxy is using a version written by Mark -Martinec. On systems that lack strptime(), Privoxy is using the one from the -GNU C Library written by Ulrich Drepper. - -If we've missed you off this list, please let us know! - - Privoxy team. http://www.privoxy.org/ - - diff --git a/pkg content/usr/local/share/doc/privoxy/ChangeLog b/pkg content/usr/local/share/doc/privoxy/ChangeLog deleted file mode 100644 index 9710ba0..0000000 --- a/pkg content/usr/local/share/doc/privoxy/ChangeLog +++ /dev/null @@ -1,1785 +0,0 @@ --------------------------------------------------------------------- -ChangeLog for Privoxy --------------------------------------------------------------------- -*** Version 3.0.21 stable *** - -- Bug fixes: - - On POSIX-like platforms, network sockets with file descriptor - values above FD_SETSIZE are properly rejected. Previously they - could cause memory corruption in configurations that allowed - the limit to be reached. - - Proxy authentication headers are removed unless the new directive - enable-proxy-authentication-forwarding is used. Forwarding the - headers potentionally allows malicious sites to trick the user - into providing them with login information. - Reported by Chris John Riley. - - Compiles on OS/2 again now that unistd.h is only included - on platforms that have it. - -- General improvements: - - The show-status page shows the FEATURE_STRPTIME_SANITY_CHECKS status. - - A couple of assert()s that could theoretically dereference - NULL pointers in debug builds have been relocated. - - Added an LSB info block to the generic start script. - Based on a patch from Natxo Asenjo. - - The max-client-connections default has been changed to 128 - which should be more than enough for most setups. - -- Action file improvements: - - Block rover.ebay./ar.*\&adtype= instead of "/.*\&adtype=" which - caused too man false positives. - Reported by u302320 in #360284, additional feedback from Adam Piggott. - - Unblock '.advrider.com/' and '/.*ADVrider'. - Anonymously reported in #3603636. - - Stop blocking '/js/slider\.js'. - Reported by Adam Piggott in #3606635 and _lvm in #2791160. - -- Filter file improvements: - - Added an iframes filter. - -- Documentation improvements: - - The whole GPLv2 text is included in the user manual now, - so Privoxy can serve it itself and the user can read it - without having to wade through GPLv3 ads first. - - Properly numbered and underlined a couple of section titles - in the config that where previously overlooked due to a flaw - in the conversion script. Reported by Ralf Jungblut. - - Improved the support instruction to hopefully make it harder to - unintentionally provide insufficient information when requesting - support. Previously it wasn't obvious that the information we need - in bug reports is usually also required in support requests. - - Removed documentation about packages that haven't been provided - in years. - -- Privoxy-Regression-Test: - - Only log the test number when not running in verbose mode - The position of the test is rarely relevant and it previously - wasn't exactly obvious which one of the numbers was useful to - repeat the test with --test-number. - -- GNUmakefile improvements: - - Factor generate-config-file out of config-file to make testing - more convenient. - - The clean target now also takes care of patch leftovers. - -*** Version 3.0.20 beta *** - -- Bug fixes: - - Client sockets are now properly shutdown and drained before being - closed. This fixes page truncation issues with clients that aggressively - pipeline data on platforms that otherwise discard already written data. - The issue mainly affected Opera users and was initially reported - by Kevin in #3464439, szotsaki provided additional information to track - down the cause. - - Fix latency calculation for shared connections (disabled by default). - It was broken since their introduction in 2009. The calculated latency - for most connections would be 0 in which case the timeout detection - failed to account for the real latency. - - Reject URLs with invalid port. Previously they were parsed incorrectly and - characters between the port number and the first slash were silently - dropped as shown by curl test 187. - - The default-server-timeout and socket-timeout directives accept 0 as - valid value. - - Fix a race condition on Windows that could cause Privoxy to become - unresponsive after toggling it on or off through the taskbar icon. - Reported by Tim H. in #3525694. - - Fix the compilation on Windows when configured without IPv6 support. - - Fix an assertion that could cause debug builds to abort() in case of - socks5 connection failures with "debug 2" enabled. - - Fix an assertion that could cause debug builds to abort() if a filter - contained nul bytes in the replacement text. - -- General improvements: - - Significantly improved keep-alive support for both client and server - connections. - - New debug log level 65536 which logs all actions that were applied to - the request. - - New directive client-header-order to forward client headers in a - different order than the one in which they arrived. - - New directive tolerate-pipelining to allow client-side pipelining. - If enabled (3.0.20 beta enables it by default), Privoxy will keep - pipelined client requests around to deal with them once the current - request has been served. - - New --config-test option to let Privoxy exit after checking whether or not - the configuration seems valid. The limitations noted in TODO #22 and #23 - still apply. Based on a patch by Ramkumar Chinchani. - - New limit-cookie-lifetime{} action to let cookies expire before the end - of the session. Suggested by Rick Sykes in #1049575. - - Increase the hard-coded maximum number of actions and filter files from - 10 to 30 (each). It doesn't significantly affect Privoxy's memory usage - and recompiling wasn't an option for all Privoxy users that reached the - limit. - - Add support for chunk-encoded client request bodies. Previously - chunk-encoded request bodies weren't guaranteed to be forwarded correctly, - so this can also be considered a bug fix although chunk-encoded request - bodies aren't commonly used in the real world. - - Add support for Tor's optimistic-data SOCKS extension, which can reduce the - latency for requests on newly created connections. Currently only the - headers are sent optimistically and only if the client request has already - been read completely which rules out requests with large bodies. - - After preventing the client from pipelining, don't signal keep-alive - intentions. When looking at the response headers alone, it previously - wasn't obvious from the client's perspective that no additional responses - should be expected. - - Stop considering client sockets tainted after receiving a request with body. - It hasn't been necessary for a while now and unnecessarily causes test - failures when using curl's test suite. - - Allow HTTP/1.0 clients to signal interest in keep-alive through the - Proxy-Connection header. While such client are rare in the real world, it - doesn't hurt and couple of curl tests rely on it. - - Only remove duplicated Content-Type headers when filters are enabled. - If they are not it doesn't cause ill effects and the user might not want it. - Downgrade the removal message to LOG_LEVEL_HEADER to clarify that it's not - an error in Privoxy and is unlikely to cause any problems in general. - Anonymously reported in #3599335. - - Set the socket option SO_LINGER for the client socket. - - Move several variable declarations to the beginning of their code block. - It's required when compiling with gcc 2.95 which is still used on some - platforms. Initial patch submitted by Simon South in #3564815. - - Optionally try to sanity-check strptime() results before trusting them. - Broken strptime() implementations have caused problems in the past and - the most recent offender seems to be FreeBSD's libc (standards/173421). - - When filtering is enabled, let Range headers pass if the range starts at - the beginning. This should work around (or at least reduce) the video - playback issues with various Apple clients as reported by Duc in #3426305. - - Do not confuse a client hanging up with a connection time out. If a client - closes its side of the connection without sending a request line, do not - send the CLIENT_CONNECTION_TIMEOUT_RESPONSE, but report the condition - properly. - - Allow closing curly braces as part of action values as long as they are - escaped. - - On Windows, the logfile is now written before showing the GUI error - message which blocks until the user acknowledges it. - Reported by Adriaan in #3593603. - - Remove an unreasonable parameter limit in the CGI interface. The new - parameter limit depends on the memory available and is currently unlikely - to be reachable, due to other limits in both Privoxy and common clients. - Reported by Andrew on ijbswa-users@. - - Decrease the chances of parse failures after requests with unsupported - methods were sent to the CGI interface. - -- Action file improvements: - - Remove the comment that indicated that updated default.action versions - are released on their own. - - Block 'optimize.indieclick.com/' and 'optimized-by.rubiconproject.com/' - - Unblock 'adjamblog.wordpress.com/' and 'adjamblog.files.wordpress.com/'. - Reported by Ryan Farmer in #3496116. - - Unblock '/.*Bugtracker'. Reported by pwhk in #3522341. - - Add test URLs for '.freebsd.org' and '.watson.org'. - - Unblock '.urbandictionary.com/popular'. - - Block '.adnxs.com/'. - - Block 'farm.plista.com/widgetdata.php'. - - Block 'rotation.linuxnewmedia.com/'. - - Block 'reklamy.sfd.pl/'. Reported by kacperdominik in #3399948. - - Block 'g.adspeed.net/'. - - Unblock 'websupport.wdc.com/'. Reported by Adam Piggot in #3577851. - - Block '/openx/www/delivery/'. - - Disable fast-redirects for '.googleapis.com/'. - - Block 'imp.double.net/'. Reported by David Bo in #3070411. - - Block 'gm-link.com/' which is used for email tracking. - Reported by David Bo in #1812733. - - Verify that requests to "bwp." are blocked. URL taken from #1736879 - submitted by Francois Marier. - - Block '/.*bannerid='. Reported by Adam Piggott in #2975779. - - Block 'cltomedia.info/delivery/' and '.adexprt.com/'. - Anonymously reported in #2965254. - - Block 'de17a.com/'. Reported by David Bo in #3061472. - - Block 'oskar.tradera.com/'. Reported by David Bo in #3060596. - - Block '/scripts/webtrends\.js'. Reported by johnd16 in #3002729. - - Block requests for 'pool.*.adhese.com/'. Reported by johnd16 in #3002716. - - Update path pattern for Coremetrics and add tests. - Pattern and URLs submitted by Adam Piggott #3168443. - - Enable +fast-redirects{check-decoded-url} for 'tr.anp.se/'. - Reported by David Bo in #3268832. - - Unblock '.conrad.se/newsletter/banners/'. Reported by David Bo in #3413824. - - Block '.tynt.com/'. Reported by Dan Stahlke in #3421767. - - Unblock '.bbci.co.uk/radio/'. Reported by Adam Piggott in #3569603. - - Block requests to 'service.maxymiser.net/'. - Reported by johnd16 in #3118401 (with a previous URL). - - Disable fast-redirects for Google's "let's pretend your computer is - infected" page. - - Unblock '/.*download' to resolve actionsfile feedback #3498129. - Submitted by Steven Kolins (soundcloud.com not working). - - Unblock '.wlxrs.com/' which is required by hotmail.com. - Fixes #3413827 submitted by David Bo. - - Add two unblock patterns for popup radio and TV players. - Submitted by Adam Piggott in #3596089. - -- Filter file improvements & bug fixes: - - Add a referer tagger. - - Reduce the likelihood that the google filter messes up HTML-generating - JavaScript. Reported by Zeno Kugy in #3520260. - -- Documentation improvements: - - Revised all OS X sections due to new packaging module (OSXPackageBuilder). - - Update the list of supported operating systems to clarify that all Windows - versions after 95 are expected to work and note that the platform-specific - code for AmigaOS and QNX currently isn't maintained. - - Update 'Signals' section, the only explicitly handled signals are SIGINT, - SIGTERM and SIGHUP. - - Add Haiku to the list of operating systems on which Privoxy is known to - run. - - Add DragonFly to the list of BSDs on which Privoxy is known to run. - - Removed references to redhat-specific documentation set since it no longer - exists. - - Removed references to building PDFs since we no longer do so. - - Multiple listen-address directives are supported since 3.0.18, correct the - documentation to say so. - - Remove bogus section about long and short being preferable to int. - - Corrected some Internet JunkBuster references to Privoxy. - - Removed references to www.junkbusters.com since it is no longer - maintained. Reported by Angelina Matson. - - Various grammar and spelling corrections - - Add a client-header-tagger{} example for disabling filtering for range - requests. - - Correct a URL in the "Privoxy with Tor" FAQ. - - Spell 'refresh-tags' correctly. Reported by Don in #3571927. - - Sort manpage options alphabetically. - - Remove an incorrect sentence in the toggle section. The toggle state - doesn't affect whether or not the Windows version uses the tray icon. - Reported by Zeno Kugy in #3596395. - - Add new contributors since 3.0.19. - -- Log message improvements: - - When stopping to watch a client socket due to pipelining, additionally log - the socket number. - - Log the client socket and its condition before closing it. This makes it - more obvious that the socket actually gets closed and should help when - diagnosing problems like #3464439. - - In case of SOCKS5 failures, do not explicitly log the server's response. - It hasn't helped so far and the response can already be logged by enabling - "debug 32768" anyway. This reverts v1.81 and the follow-up bug fix v1.84. - - Relocate the connection-accepted message from listen_loop() to serve(). - This way it's printed by the thread that is actually serving the - connection which is nice when grepping for thread ids in log files. - -- Code cleanups: - - Remove compatibility layer for versions prior to 3.0 since it has been - obsolete for more than 10 years now. - - Remove the ijb_isupper() and ijb_tolower() macros from parsers.c since - they aren't used in this file. - - Removed the 'Functions declared include:' comment sections since they tend - to be incomplete, incorrect and out of date and the benefit seems - questionable. - - Various comment grammar and comprehensibility improvements. - - Remove a pointless fflush() call in chat(). Flushing all streams pretty - much all the time for no obvious reason is ridiculous. - - Relocate ijb_isupper()'s definition to project.h and get the ijb_tolower() - definition from there, too. - - Relocate ijb_isdigit()'s definition to project.h. - - Rename ijb_foo macros to privoxy_foo. - - Add malloc_or_die() which will allow to simplify code paths where malloc() - failures don't need to be handled gracefully. - - Add strdup_or_die() which will allow to simplify code paths where strdup() - failures don't need to be handled gracefully. - - Replace strdup() calls with strdup_or_die() calls where it's safe and - simplifies the code. - - Fix white-space around parentheses. - - Add missing white-space behind if's and the following parentheses. - - Unwrap a memcpy() call in resolve_hostname_to_ip(). - - Declare pcrs_get_delimiter()'s delimiters[] static const. - - Various optimisations to remove dead code and merge inefficient code - structures for improved clarity, performance or code compactness. - - Various data type corrections. - - Change visibility of several code segments when compiling without - FEATURE_CONNECTION_KEEP_ALIVE enabled for clarity. - - In pcrs_get_delimiter(), do not use delimiters outside the ASCII range. - Fixes a clang complaint. - - Fix an error message in get_last_url() nobody is supposed to see. - Reported by Matthew Fischer in #3507301. - - Fix a typo in the no-zlib-support complaint. Patch submitted by Matthew - Fischer in #3507304. - - Shorten ssplit()'s prototype by removing the last two arguments. We always - want to skip empty fields and ignore leading delimiters, so having - parameters for this only complicates the API. - - Use an enum for the type of the action value. - - Rename action_name's member takes_value to value_type as it isn't used as - boolean. - - Turn family mismatches in match_sockaddr() into fatal errors. - - Let enlist_unique_header() verify that the caller didn't pass a header - containing either \r or \n. - - Change the hashes used in load_config() to unsigned int. That's what - hash_string() actually returns and using a potentially larger type - is at best useless. - - Use privoxy_tolower() instead of vanilla tolower() with manual casting of - the argument. - - Catch ssplit() failures in parse_cgi_parameters(). - -- Privoxy-Regression-Test: - - Add an 'Overwrite condition' directive to skip any matching tests before - it. As it has a global scope, using it is more convenient than clowning - around with the Ignore directive. - - Log to STDOUT instead of STDERR. - - Include the Privoxy version in the output. - - Various grammar and spelling corrections in documentation and code. - - Additional tests for range requests with filtering enabled. - - Tests with mostly invalid range request. - - Add a couple of hide-if-modified-since{} tests with different date formats. - - Cleaned up the format of the regression-tests.action file to match the - format of default.action. - - Remove the "Copyright" line from print_version(). When using --help, every - line of screen space matters and thus shouldn't be wasted on things the - user doesn't care about. - -- Privoxy-Log-Parser: - - Improve the --statistics performance by skipping sanity checks for input - that shouldn't affect the results anyway. Add a --strict-checks option - that enables some of the checks again, just in case anybody cares. - - The distribution of client requests per connection is included in - the --statistic output. - - The --accept-unknown-messages option has been removed and the behavior - is now the default. - - Accept and (mostly) highlight new log messages introduced with - Privoxy 3.0.20. - -- uagen: - - Bump generated Firefox version to 17. - -- GNUmakefile improvements: - - The dok-tidy target no longer taints documents with a tidy-mark - - Change RA_MODE from 0664 to 0644. Suggested by Markus Dittrich in - #3505445. - - Remove tidy's clean flag as it changes the scope of attributes. - Link-specific colors end up being applied to all text. Reported by Adam - Piggott in #3569551. - - Leave it up to the user whether or not smart tags are inserted. - - Let w3m itself do the line wrapping for the config file. It works better - than fmt as it can honour pre tags causing less unintentional line breaks. - - Ditch a pointless '-r' passed to rm to delete files. - - The config-file target now requires less manual intervention and updates - the original config. - - Change WDUMP to generate ASCII. Add WDUMP_UTF8 to allow UTF-8 in the - AUTHORS file so the names are right. - - Stop pretending that lynx and links are supported for the documentation. - -- configure improvements: - - On Haiku, do not pass -lpthread to the compiler. Haiku's pthreads - implementation is contained in its system library, libroot, so no - additional library needs to be searched. - Patch submitted by Simon South in #3564815. - - Additional Haiku-specific improvements. Disable checks intended for - multi-user systems as Haiku is presently single-user. Group Haiku-specific - settings in their own section, following the pattern for Solaris, OS/2 and - AmigaOS. Add additional library-related settings to remove the need for - providing configure with custom LDFLAGS. - Submitted by Simon South in #3574538. - -*** Version 3.0.19 Stable *** - -- Bug fixes: - - Prevent a segmentation fault when de-chunking buffered content. - It could be triggered by malicious web servers if Privoxy was - configured to filter the content and running on a platform - where SIZE_T_MAX isn't larger than UINT_MAX, which probably - includes most 32-bit systems. On those platforms, all Privoxy - versions before 3.0.19 appear to be affected. - To be on the safe side, this bug should be presumed to allow - code execution as proving that it doesn't seems unrealistic. - - Do not expect a response from the SOCKS4/4A server until it - got something to respond to. This regression was introduced - in 3.0.18 and prevented the SOCKS4/4A negotiation from working. - Reported by qqqqqw in #3459781. - -- General improvements: - - Fix an off-by-one in an error message about connect failures. - - Use a GNUMakefile variable for the webserver root directory and - update the path. Sourceforge changed it which broke various - web-related targets. - - Update the CODE_STATUS description. - -*** Version 3.0.18 Stable *** - -- Bug fixes: - - If a generated redirect URL contains characters RFC 3986 doesn't - permit, they are (re)encoded. Not doing this makes Privoxy versions - from 3.0.5 to 3.0.17 susceptible to HTTP response splitting (CWE-113) - attacks if the +fast-redirects{check-decoded-url} action is used. - - Fix a logic bug that could cause Privoxy to reuse a server - socket after it got tainted by a server-header-tagger-induced - block that was triggered before the whole server response had - been read. If keep-alive was enabled and the request following - the blocked one was to the same host and using the same forwarding - settings, Privoxy would send it on the tainted server socket. - While the server would simply treat it as a pipelined request, - Privoxy would later on fail to properly parse the server's - response as it would try to parse the unread data from the - first response as server headers for the second one. - Regression introduced in 3.0.17. - - When implying keep-alive in client_connection(), remember that - the client didn't. Fixes a regression introduced in 3.0.13 that - would cause Privoxy to wait for additional client requests after - receiving a HTTP/1.1 request with "Connection: close" set - and connection sharing enabled. - With clients which terminates the client connection after detecting - that the whole body has been received it doesn't really matter, - but with clients that don't the connection would be kept open until - it timed out. - - Fix a subtle race condition between prepare_csp_for_next_request() - and sweep(). A thread preparing itself for the next client request - could briefly appear to be inactive. - If all other threads were already using more recent files, - the thread could get its files swept away under its feet. - So far this has only been reproduced while stress testing in - valgrind while touching action files in a loop. It's unlikely - to have caused any actual problems in the real world. - - Disable filters if SDCH compression is used unless filtering is forced. - If SDCH was combined with a supported compression algorithm, Privoxy - previously could try to decompress it and ditch the Content-Encoding - header even though the SDCH compression wasn't dealt with. - Reported by zebul666 in #3225863. - - Make a copy of the --user value and only mess with that when splitting - user and group. On some operating systems modifying the value directly - is reflected in the output of ps and friends and can be misleading. - Reported by zepard in #3292710. - - If forwarded-connect-retries is set, only retry if Privoxy is actually - forwarding the request. Previously direct connections would be retried - as well. - - Fixed a small memory leak when retrying connections with IPv6 - support enabled. - - Remove an incorrect assertion in compile_dynamic_pcrs_job_list() - It could be triggered by a pcrs job with an invalid pcre - pattern (for example one that contains a lone quantifier). - - If the --user argument user[.group] contains a dot, always bail out - if no group has been specified. Previously the intended, but undocumented - (and apparently untested), behaviour was to try interpreting the whole - argument as user name, but the detection was flawed and checked for '0' - instead of '\0', thus merely preventing group names beginning with a zero. - - In html_code_map[], use a numeric character reference instead of ' - which wasn't standardized before XHTML 1.0. - - Fix an invalid free when compiled with FEATURE_GRACEFUL_TERMINATION - and shut down through http://config.privoxy.org/die - - In get_actions(), fix the "temporary" backwards compatibility hack - to accept block actions without reason. - It also covered other actions that should be rejected as invalid. - Reported by Billy Crook. - -- General improvements: - - Privoxy can (re)compress buffered content before delivering - it to the client. Disabled by default as most users wouldn't - benefit from it. - - The +fast-redirects{check-decoded-url} action checks URL - segments separately. If there are other parameters behind - the redirect URL, this makes it unnecessary to cut them off - by additionally using a +redirect{} pcrs command. - Initial patch submitted by Jamie Zawinski in #3429848. - - When loading action sections, verify that the referenced filters - exist. Currently missing filters only result in an error message, - but eventually the severity will be upgraded to fatal. - - Allow to bind to multiple separate addresses. - Patch set submitted by Petr Pisar in #3354485. - - Set socket_error to errno if connecting fails in rfc2553_connect_to(). - Previously rejected direct connections could be incorrectly reported - as DNS issues if Privoxy was compiled with IPv6 support. - - Adjust url_code_map[] so spaces are replaced with %20 instead of '+' - While '+' can be used by client's submitting form data, this is not - actually what Privoxy is using the lookups for. This is more of a - cosmetic issue and doesn't fix any known problems. - - When compiled without FEATURE_FAST_REDIRECTS, do not silently - ignore +fast-redirect{} directives - - Added a workaround for GNU libc's strptime() reporting negative - year values when the parsed year is only specified with two digits. - On affected systems cookies with such a date would not be turned - into session cookies by the +session-cookies-only action. - Reported by Vaeinoe in #3403560 - - Fixed bind failures with certain GNU libc versions if no non-loopback - IP address has been configured on the system. This is mainly an issue - if the system is using DHCP and Privoxy is started before the network - is completely configured. - Reported by Raphael Marichez in #3349356. - Additional insight from Petr Pisar. - - Privoxy log messages now use the ISO 8601 date format %Y-%m-%d. - It's only slightly longer than the old format, but contains - the full date including the year and allows sorting by date - (when grepping in multiple log files) without hassle. - - In get_last_url(), do not bother trying to decode URLs that do - not contain at least one '%' sign. It reduces the log noise and - a number of unnecessary memory allocations. - - In case of SOCKS5 failures, dump the socks response in the log message. - - Simplify the signal setup in main(). - - Streamline socks5_connect() slightly. - - In socks5_connect(), require a complete socks response from the server. - Previously Privoxy didn't care how much data the server response - contained as long as the first two bytes contained the expected - values. While at it, shrink the buffer size so Privoxy can't read - more than a whole socks response. - - In chat(), do not bother to generate a client request in case of - direct CONNECT requests. It will not be used anyway. - - Reduce server_last_modified()'s stack size. - - Shorten get_http_time() by using strftime(). - - Constify the known_http_methods pointers in unknown_method(). - - Constify the time_formats pointers in parse_header_time(). - - Constify the formerly_valid_actions pointers in action_used_to_be_valid(). - - Introduce a GNUMakefile MAN_PAGE variable that defaults to privoxy.1. - The Debian package uses section 8 for the man page and this - should simplify the patch. - - Deduplicate the INADDR_NONE definition for Solaris by moving it to jbsockets.h - - In block_url(), ditch the obsolete workaround for ancient Netscape versions - that supposedly couldn't properly deal with status code 403. - - Remove a useless NULL pointer check in load_trustfile(). - - Remove two useless NULL pointer checks in load_one_re_filterfile(). - - Change url_code_map[] from an array of pointers to an array of arrays - It removes an unnecessary layer of indirection and on 64bit system reduces - the size of the binary a bit. - - Fix various typos. Fixes taken from Debian's 29_typos.dpatch by Roland Rosenfeld. - - Add a dok-tidy GNUMakefile target to clean up the messy HTML - generated by the other dok targets. - - GNUisms in the GNUMakefile have been removed. - - Change the HTTP version in static responses to 1.1 - - Synced config.sub and config.guess with upstream - 2011-11-11/386c7218162c145f5f9e1ff7f558a3fbb66c37c5. - - Add a dedicated function to parse the values of toggles. Reduces duplicated - code in load_config() and provides better error handling. Invalid or missing - toggle values are now a fatal error instead of being silently ignored. - - Terminate HTML lines in static error messages with \n instead of \r\n. - - Simplify cgi_error_unknown() a bit. - - In LogPutString(), don't bother looking at pszText when not - actually logging anything. - - Change ssplit()'s fourth parameter from int to size_t. - Fixes a clang complaint. - - Add a warning that the statistics currently can't be trusted. - Mention Privoxy-Log-Parser's --statistics option as - an alternative for the time being. - - In rfc2553_connect_to(), start setting cgi->error_message on error. - - Change the expected status code returned for http://p.p/die depending - on whether or not FEATURE_GRACEFUL_TERMINATION is available. - - In cgi_die(), mark the client connection for closing. - If the client will fetch the style sheet through another connection - it gets the main thread out of the accept() state and should thus - trigger the actual shutdown. - - Add a proper CGI message for cgi_die(). - - Don't enforce a logical line length limit in read_config_line(). - - Slightly refactor server_last_modified() to remove useless gmtime*() calls. - - In get_content_type(), also recognize '.jpeg' as JPEG extension. - - Add '.png' to the list of recognized file extensions in get_content_type(). - - In block_url(), consistently use the block reason "Request blocked by Privoxy" - In two places the reason was "Request for blocked URL" which hides the - fact that the request got blocked by Privoxy and isn't necessarily - correct as the block may be due to tags. - - In listen_loop(), reload the configuration files after accepting - a new connection instead of before. - Previously the first connection that arrived after a configuration - change would still be handled with the old configuration. - - In chat()'s receive-data loop, skip a client socket check if - the socket will be written to right away anyway. This can - increase the transfer speed for unfiltered content on fast - network connections. - - The socket timeout is used for SOCKS negotiations as well which - previously couldn't timeout. - - Don't keep the client connection alive if any configuration file - changed since the time the connection came in. This is closer to - Privoxy's behaviour before keep-alive support for client connection - has been added and also less confusing in general. - - Treat all Content-Type header values containing the pattern - 'script' as a sign of text. Reported by pribog in #3134970. - -- Action file improvements: - - Moved the site-specific block pattern section below the one for the - generic patterns so for requests that are matched in both, the block - reason for the domain is shown which is usually more useful than showing - the one for the generic pattern. - - Remove -prevent-compression from the fragile alias. It's no longer - used anywhere by default and isn't known to break stuff anyway. - - Add a (disabled) section to block various Facebook tracking URLs. - Reported by Dan Stahlke in #3421764. - - Add a (disabled) section to rewrite and redirect click-tracking - URLs used on news.google.com. - Reported by Dan Stahlke in #3421755. - - Unblock linuxcounter.net/. - Reported by Dan Stahlke in #3422612. - - Block 'www91.intel.com/' which is used by Omniture. - Reported by Adam Piggott in #3167370. - - Disable the handle-as-empty-doc-returns-ok option and mark it as deprecated. - Reminded by tceverling in #2790091. - - Add ".ivwbox.de/" to the "Cross-site user tracking" section. - Reported by Nettozahler in #3172525. - - Unblock and fast-redirect ".awin1.com/.*=http://". - Reported by Adam Piggott in #3170921. - - Block "b.collective-media.net/". - - Widen the Debian popcon exception to "qa.debian.org/popcon". - Seen in Debian's 05_default_action.dpatch by Roland Rosenfeld. - - Block ".gemius.pl/" which only seems to be used for user tracking. - Reported by johnd16 in #3002731. Additional input from Lee and movax. - - Disable banners-by-size filters for '.thinkgeek.com/'. - The filter only seems to catch pictures of the inventory. - - Block requests for 'go.idmnet.bbelements.com/please/showit/'. - Reported by kacperdominik in #3372959. - - Unblock adainitiative.org/. - - Add a fast-redirects exception for '.googleusercontent.com/.*=cache'. - - Add a fast-redirects exception for webcache.googleusercontent.com/. - - Unblock http://adassier.wordpress.com/ and http://adassier.files.wordpress.com/. - -- Filter file improvements: - - Let the yahoo filter hide '.ads'. - - Let the msn filter hide overlay ads for Facebook 'likes' in search - results and elements with the id 's_notf_div'. They only seem to be - used to advertise site 'enhancements'. - - Let the js-events filter additionally disarm setInterval(). - Suggested by dg1727 in #3423775. - -- Documentation improvements: - - Clarify the effect of compiling Privoxy with zlib support. - Suggested by dg1727 in #3423782. - - Point out that the SourceForge messaging system works like a black - hole and should thus not be used to contact individual developers. - - Mention some of the problems one can experience when not explicitly - configuring an IP addresses as listen address. - - Explicitly mention that hostnames can be used instead of IP addresses - for the listen-address, that only the first address returned will be - used and what happens if the address is invalid. - Requested by Calestyo in #3302213. - -- Log message improvements: - - If only the server connection is kept alive, do not pretend to - wait for a new client request. - - Remove a superfluous log message in forget_connection(). - - In chat(), properly report missing server responses as such - instead of calling them empty. - - In forwarded_connect(), fix a log message nobody should ever see. - - Fix a log message in socks5_connect(), a failed write operation - was logged as failed read operation. - - Let load_one_actions_file() properly complain about a missing - '{' at the beginning of the file. - Simply stating that a line is invalid isn't particularly helpful. - - Do not claim to listen on a socket until Privoxy actually does. - Patch submitted by Petr Pisar #3354485 - - Prevent a duplicated LOG_LEVEL_CLF message when sending out - the "no-server-data" response. - - Also log the client socket when dropping a connection. - - Include the destination host in the 'Request ... marked for - blocking. limit-connect{...} doesn't allow CONNECT ...' message - Patch submitted by Saperski in #3296250. - - Prevent a duplicated log message if none of the resolved IP - addresses were reachable. - - In connect_to(), do not pretend to retry if forwarded-connect-retries - is zero or unset. - - When a specified user or group can't be found, put the name in - single-quotes when logging it. - - In rfc2553_connect_to(), explain getnameinfo() errors better. - - Remove a useless log message in chat(). - - When retrying to connect, also log the maximum number of connection - attempts. - - Rephrase a log message in compile_dynamic_pcrs_job_list(). - Divide the error code and its meaning with a colon. Call the pcrs - job dynamic and not the filter. Filters may contain dynamic and - non-dynamic pcrs jobs at the same time. Only mention the name of - the filter or tagger, but don't claim it's a filter when it could - be a tagger. - - In a fatal error message in load_one_actions_file(), cover both - URL and TAG patterns. - - In pcrs_strerror(), properly report unknown positive error code - values as such. Previously they were handled like 0 (no error). - - In compile_dynamic_pcrs_job_list(), also log the actual error code as - pcrs_strerror() doesn't handle all errors reported by pcre. - - Don't bother trying to continue chatting if the client didn't ask for it. - Reduces log noise a bit. - - Make two fatal error message in load_one_actions_file() more descriptive. - - In cgi_send_user_manual(), log when rejecting a file name due to '/' or '..'. - - In load_file(), log a message if opening a file failed. - The CGI error message alone isn't too helpful. - - In connection_destination_matches(), improve two log messages - to help understand why the destinations don't match. - - Rephrase a log message in serve(). Client request arrival - should be differentiated from closed client connections now. - - In serve(), log if a client connection isn't reused due to a - configuration file change. - - Let mark_server_socket_tainted() always mark the server socket tainted, - just don't talk about it in cases where it has no effect. It doesn't change - Privoxy's behaviour, but makes understanding the log file easier. - -- configure: - - Added a --disable-ipv6-support switch for platforms where support - is detected but doesn't actually work. - - Do not check for the existence of strerror() and memmove() twice - - Remove a useless test for setpgrp(2). Privoxy doesn't need it and - it can cause problems when cross-compiling. - - Rename the --disable-acl-files switch to --disable-acl-support. - Since about 2001, ACL directives are specified in the standard - config file. - - Update the URL of the 'Removing outdated PCRE version after the - next stable release' posting. The old URL stopped working after - one of SF's recent site "optimizations". Reported by Han Liu. - -- Privoxy-Regression-Test: - - Added --shuffle-tests option to increase the chances of detection race conditions. - - Added a --local-test-file option that allows to use Privoxy-Regression-Test without Privoxy. - - Added tests for missing socks4 and socks4a forwarders. - - The --privoxy-address option now works with IPv6 addresses containing brackets, too. - - Perform limited sanity checks for parameters that are supposed to have numerical values. - - Added a --sleep-time option to specify a number of seconds to - sleep between tests, defaults to 0. - - Disable the range-requests tagger for tests that break if it's enabled. - - Log messages use the ISO 8601 date format %Y-%m-%d. - - Fix spelling in two error messages. - - In the --help output, include a list of supported tests and their default levels. - - Adjust the tests to properly deal with FEATURE_TOGGLE being disabled. - -- Privoxy-Log-Parser: - - Perform limited sanity checks for command line parameters that - are supposed to have numerical values. - - Implement a --unbreak-lines-only option to try to revert MUA breakage. - - Accept and highlight: Added header: Content-Encoding: deflate - - Accept and highlight: Compressed content from 29258 to 8630 bytes. - - Accept and highlight: Client request arrived in time on socket 21. - - Highlight: Didn't receive data in time: a.fsdn.com:443 - - Accept log messages with ISO 8601 time stamps, too. - -- uagen: - - Bump generated Firefox version to 8.0. - - Only randomize the release date if the new --randomize-release-date - option is enabled. Firefox versions after 4 use a fixed date string - without meaning. - -*** Version 3.0.17 Stable *** - -- Fixed last-chunk-detection for responses where the body was small - enough to be read with the headers, causing Privoxy to wait for the - end of the content until the server closed the connection or the - request timed out. Reported by "Karsten" in #3028326. -- Responses with status code 204 weren't properly detected as body-less - like RFC2616 mandates. Like the previous bug, this caused Privoxy to - wait for the end of the content until the server closed the connection - or the request timed out. Fixes #3022042 and #3025553, reported by a - user with no visible name. Most likely also fixes a bunch of other - AJAX-related problem reports that got closed in the past due to - insufficient information and lack of feedback. -- Fixed an ACL bug that made it impossible to build a blacklist. - Usually the ACL directives are used in a whitelist, which worked - as expected, but blacklisting is still useful for public proxies - where one only needs to deny known abusers access. -- Added LOG_LEVEL_RECEIVED to log the not-yet-parsed data read from the - network. This should make debugging various parsing issues a lot easier. -- The IPv6 code is enabled by default on Windows versions that support it. - Patch submitted by oCameLo in #2942729. -- In mingw32 versions, the user.filter file is reachable through the - GUI, just like default.filter is. Feature request 3040263. -- Added the configure option --enable-large-file-support to set a few - defines that are required by platforms like GNU/Linux to support files - larger then 2GB. Mainly interesting for users without proper logfile - management. -- Logging with "debug 16" no longer stops at the first nul byte which is - pretty useless. Non-printable characters are replaced with their hex value - so the result can't span multiple lines making parsing them harder then - necessary. -- Privoxy logs when reading an action, filter or trust file. -- Fixed incorrect regression test markup which caused a test in - 3.0.16 to fail while Privoxy itself was working correctly. - While Privoxy accepts hide-referer, too, the action name is actually - hide-referrer which is also the name used one the final results page, - where the test expected the alias. - -- CGI interface improvements: - - In finish_http_response(), continue to add the 'Connection: close' - header if the client connection will not be kept alive. - Anonymously pointed out in #2987454. - - Apostrophes in block messages no longer cause parse errors - when the blocked page is viewed with JavaScript enabled. - Reported by dg1727 in #3062296. - - Fix a bunch of anchors that used underscores instead of dashes. - - Allow to keep the client connection alive after crunching the previous request. - Already opened server connections can be kept alive, too. - - In cgi_show_url_info(), don't forget to prefix URLs that only contain - http:// or https:// in the path. Fixes #2975765 reported by Adam Piggott. - - Show the 404 CGI page if cgi_send_user_manual() is called while - local user manual delivery is disabled. - -- Action file improvements: - - Enable user.filter by default. Suggested by David White in #3001830. - - Block .sitestat.com/. Reported by johnd16 in #3002725. - - Block .atemda.com/. Reported by johnd16 in #3002723. - - Block js.adlink.net/. Reported by johnd16 in #3002720. - - Block .analytics.yahoo.com/. Reported by johnd16 in #3002713. - - Block sb.scorecardresearch.com, too. Reported by dg1727 in #2992652. - - Fix problems noticed on Yahoo mail and news pages. - - Remove the too broad yahoo section, only keeping the - fast-redirects exception as discussed on ijbswa-devel@. - - Don't block adesklets.sourceforge.net. Reported in #2974204. - - Block chartbeat ping tracking. Reported in #2975895. - - Tag CSS and image requests with cautious and medium settings, too. - - Don't handle view.atdmt.com as image. It's used for click-throughs - so users should be able to "go there anyway". - Reported by Adam Piggott in #2975927. - - Also let the refresh-tags filter remove invalid refresh tags where - the 'url=' part is missing. Anonymously reported in #2986382. - While at it, update the description to mention the fact that only - refresh tags with refresh times above 9 seconds are covered. - - javascript needs to be blocked with +handle-as-empty-document to - work around Firefox bug 492459. So move .js blockers from - +block{Might be a web-bug.} -handle-as-empty-document to - +block{Might be a web-bug.} +handle-as-empty-document. - - ijbswa-Feature Requests-3006719 - Block 160x578 Banners. - - Block another omniture tracking domain. - - Added a range-requests tagger. - - Added two sections to get Flickr's Ajax interface working with - default pre-settings. If you change the configuration to block - cookies by default, you'll need additional exceptions. - Reported by Mathias Homann in #3101419 and by Patrick on ijbswa-users@. - -- Documentation improvements: - - Explicitly mention how to match all URLs. - - Consistently recommend socks5 in the Tor FAQ entry and mention - its advantage compared to socks4a. Reported by David in #2960129. - - Slightly improve the explanation of why filtering may appear - slower than it is. - - Grammar fixes for the ACL section. - - Fixed a link to the 'intercepting' entry and add another one. - - Rename the 'Other' section to 'Mailing Lists' and reword it - to make it clear that nobody is forced to use the trackers - - Note that 'anonymously' posting on the trackers may not always - be possible. - - Suggest to enable debug 32768 when suspecting parsing problems. - -- Privoxy-Log-Parser improvements: - - Gather statistics for ressources, methods, and HTTP versions - used by the client. - - Also gather statistics for blocked and redirected requests. - - Provide the percentage of keep-alive offers the client accepted. - - Add a --url-statistics-threshold option. - - Add a --host-statistics-threshold option to also gather - statistics about how many request where made per host. - - Fix a bug in handle_loglevel_header() where a 'scan: ' got lost. - - Add a --shorten-thread-ids option to replace the thread id with - a decimal number. - - Accept and ignore: Looks like we got the last chunk together - with the server headers. We better stop reading. - - Accept and ignore: Continue hack in da house. - - Accept and higlight: Rejecting connection from 10.0.0.2. - Maximum number of connections reached. - - Accept and highlight: Loading actions file: /usr/local/etc/privoxy/default.action - - Accept and highlight: Loading filter file: /usr/local/etc/privoxy/default.filter - - Accept and highlight: Killed all-caps Host header line: HOST: bestproxydb.com - - Accept and highlight: Reducing expected bytes to 0. Marking - the server socket tainted after throwing 4 bytes away. - - Accept: Merged multiple header lines to: 'X-FORWARDED-PROTO: http X-HOST: 127.0.0.1' - -- Code cleanups: - - Remove the next member from the client_state struct. Only the main - thread needs access to all client states so give it its own struct. - - Garbage-collect request_contains_null_bytes(). - - Ditch redundant code in unload_configfile(). - - Ditch LogGetURLUnderCursor() which doesn't seem to be used anywhere. - - In write_socket(), remove the write-only variable write_len in - an ifdef __OS2__ block. Spotted by cppcheck. - - In connect_to(), don't declare the variable 'flags' on OS/2 where - it isn't used. Spotted by cppcheck. - - Limit the scope of various variables. Spotted by cppcheck. - - In add_to_iob(), turn an interestingly looking for loop into a - boring while loop. - - Code cleanup in preparation for external filters. - - In listen_loop(), mention the socket on which we accepted the - connection, not just the source IP address. - - In write_socket(), also log the socket we're writing to. - - In log_error(), assert that escaped characters get logged - completely or not at all. - - In log_error(), assert that ival and sval have reasonable values. - There's no reason not to abort() if they don't. - - Remove an incorrect cgi_error_unknown() call in a - cannot-happen-situation in send_crunch_response(). - - Clean up white-space in http_response definition and - move the crunch_reason to the beginning. - - Turn http_response.reason into an enum and rename it - to http_response.crunch_reason. - - Silence a 'gcc (Debian 4.3.2-1.1) 4.3.2' warning on i686 GNU/Linux. - - Fix white-space in a log message in remove_chunked_transfer_coding(). - While at it, add a note that the message doesn't seem to - be entirely correct and should be improved later on. - -- GNUmakefile improvements: - - Use $(SSH) instead of ssh, so one only needs to specify a username once. - - Removed references to the action feedback thingy that hasn't been - working for years. - - Consistently use shell.sourceforge.net instead of shell.sf.net so - one doesn't need to check server fingerprints twice. - - Removed GNUisms in the webserver and webactions targets so they - work with standard tar. - -*** Version 3.0.16 Stable *** - -- Added the config file option handle-as-empty-doc-returns-ok to - work around Firefox bug #492459, which causes Firefox to hang - if JavaScripts are blocked in certain situations. The option is - enabled in the default config file. -- Added the config file option default-server-timeout to control the - assumed default server timeout. Since Privoxy no longer returns - an error message for connection resets on reused client connections, - assuming larger server timeout values appears to actually work - pretty well as long as connections aren't shared. -- Added optional support for FreeBSD's accf_http(9). Use the - configure option --enable-accept-filter to enable it. -- Added fancier Privoxy icons for win32. Contributed by Jeff H. -- In daemon mode, fd 0, 1 and 2 are bound to /dev/null. -- Resolve localhost using whatever address family the operating - system feels like. Previous betas would try to use IPv4 as this - is what most users expect, but this didn't work reliably on - GNU/Linux systems. -- In the action lists on CGI pages, actions and their parameters are - no longer separated with a space. The action file parser doesn't - actually allow this and will throw an invalid syntax error if actions - and parameters in the action files are separated. Not adding the - spaces means copy and pasting CGI output into the action files works. -- The default keep-alive timeout has been reduced to 5 seconds to work - around hangs in clients that treat the proxy like any other host and - stop allowing any new connections if the "maximum number of - connections per host" is reached. -- Several webbug URLs that look like they are leading to images are now - blocked as image instead of empty documents. Doing the latter causes - WebKit-based clients to show a "missing image" icon which may mess up - the layout. -- The no-such-domain template is used for DNS resolution - problems with FEATURE_IPV6_SUPPORT enabled. Previously the - connect-failed template was used. Reported by 'zebul666'. -- Accepts quoted expiration dates even though RFC 2109 10.1.2 - doesn't seem to allow them. Reported anonymously. -- Don't try to forget connections if connection sharing is disabled. - This wasn't a real problem but caused an unnecessary log message. -- The still undocumented --enable-extended-host-patterns configure - option has a better description. -- Fixed an error message that would claim a write to the server - failed when actually writing to the client failed. -- Log the crunch reason before trying to write to the client. - The log is easier to read that way. -- Several log messages about client connections also mention - the socket number. -- handle-as-empty-document no longer depends on the image blocking - code being enabled. -- Privoxy-Log-Parser is roughly 40% faster in highlighting mode. -- uagen, a Firefox User-Agent generator for Privoxy and Mozilla - browsers has been imported and is available in the tarball's - tools directory. -- The scripts in the tools directory treat unknown parameters - as fatal errors. - -*** Version 3.0.15 beta *** - -- In case of missing server data, no error message is send to the - client if the request arrived on a reused connection. The client - is then supposed to silently retry the request without bothering - the user. This should significantly reduce the frequency of the - "No server or forwarder data received" error message many users - reported. -- More reliable detection of prematurely closed client sockets - with keep-alive enabled. -- FEATURE_CONNECTION_KEEP_ALIVE is decoupled from - FEATURE_CONNECTION_SHARING and now available on - all platforms. -- Improved handling of POST requests on reused connections. - Should fix problems with stalled connections after submitting - form data with some browser configurations. -- Fixed various latency calculation issues. -- Allows the client to pass NTLM authentication requests to a - forwarding proxy. This was already assumed and hinted to work - in 3.0.13 beta but actually didn't. Now it's confirmed to work - with IE, Firefox and Chrome. - Thanks to Francois Botha and Wan-Teh Chang -- Fixed a calculation problem if receiving the server headers - takes more than two reads, that could cause Privoxy to terminate - the connection prematurely. Reported by Oliver. -- Compiles again on platforms such as OpenBSD and systems - using earlier glibc version that don't support AI_ADDRCONFIG. - Anonymously submitted in #2872591. -- A bunch of MS VC project files and Suse and Redhat RPM spec - files have been removed as they were no longer maintained for - quite some time. -- Overly long action lines are properly rejected with a proper - error message. Previously they would be either rejected as - invalid or cause a core dump through abort(). -- Already timed-out connections are no longer temporarily remembered. - They weren't reused anyway, but wasted a socket slot. -- len refers to the number of bytes actually read which might - differ from the ones received. Adjust log messages accordingly. -- The optional JavaScript on the CGI page uses encodeURIComponent() - instead of escape() which doesn't encode all characters that matter. - Anonymously reported in #2832722. -- Fix gcc45 warnings in decompress_iob(). -- Various log message improvements. -- Privoxy-Regression-Test supports redirect tests. -- Privoxy-Log-Parser can gather some connection statistics. - -*** Version 3.0.14 beta *** - -- The latency is taken into account when evaluating whether or not to - reuse a connection. This should significantly reduce the number of - connections problems several users reported. -- If the server doesn't specify how long the connection stays alive, - Privoxy errs on the safe side of caution and assumes it's only a second. -- The error pages for connection timeouts or missing server data use a - Last-Modified date in the past. Retry attempts are detected and Privoxy - removes the If-Modified-Since header to prevent the server from responding - with status code 304 in which case the client would reuse the error message. -- Setting keep-alive-timeout to 0 disables keep-alive support. Previously - Privoxy would claim to allow persistence but not reuse the connection. -- Pipelined requests are less likely to be mistaken for the request - body of the previous request. Note that Privoxy still has no real - pipeline support and will either serialize pipelined requests or - drop them in which case the client has to resent them. -- Fixed a crash on some Windows versions when header randomization - is enabled and the date couldn't be parsed. -- Privoxy's keep-alive timeout for the current connection is reduced - to the one specified in the client's Keep-Alive header. -- For HTTP/1.1 requests, Privoxy implies keep-alive support by not - setting any Connection header instead of using 'Connection: keep-alive'. -- If the socket isn't reusable, Privoxy doesn't temporarily waste - a socket slot to remember the connection. -- If keep-alive support is disabled but compiled in, the client's - Keep-Alive header is removed. -- Fixed a bug on mingw32 where downloading large files failed if - keep-alive support was enabled. -- Fixed a bug that (at least theoretically) could cause log - timestamps to be occasionally off by about a second. -- No Proxy-Connection header if added if there already is one. -- The configure script respects the $PATH variable when searching - for groups and id. - -*** Version 3.0.13 beta *** - -- Added IPv6 support. Thanks to Petr Pisar who not only provided - the initial patch but also helped a lot with the integration. -- Added client-side keep-alive support. -- The connection sharing code is only used if the connection-sharing - option is enabled. -- The max-client-connections option has been added to restrict - the number of client connections below a value enforced by - the operating system. -- Fixed a regression reintroduced in 3.0.12 that could cause - crashes on mingw32 if header date randomization was enabled. -- Compressed content with extra fields couldn't be decompressed - and would get passed to the client unfiltered. This problem - has only be detected through statical analysis with clang as - nobody seems to be using extra fields anyway. -- If the server resets the Connection after sending only the headers - Privoxy forwards what it got to the client. Previously Privoxy - would deliver an error message instead. -- Error messages in case of connection timeouts use the right - HTTP status code. -- If spawning a child to handle a request fails, the client - gets an error message and Privoxy continues to listen for - new requests right away. -- The error messages in case of server-connection timeouts or - prematurely closed server connections are now template-based. -- If zlib support isn't compiled in, Privoxy no longer tries to - filter compressed content unless explicitly asked to do so. -- In case of connections that are denied based on ACL directives, - the memory used for the client IP is no longer leaked. -- Fixed another small memory leak if the client request times out - while waiting for client headers other than the request line. -- The client socket is kept open until the server socket has - been marked as unused. This should increase the chances that - the still-open connection will be reused for the client's next - request to the same destination. Note that this only matters - if connection-sharing is enabled. -- A TODO list has been added to the source tarball to give potential - volunteers a better idea of what the current goals are. Donations - are still welcome too: http://www.privoxy.org/faq/general.html#DONATE - -*** Version 3.0.12 *** - -- The socket-timeout option now also works on platforms whose - select() implementation modifies the timeout structure. - Previously the timeout was triggered even if the connection - didn't stall. Reported by cyberpatrol. -- The Connection: keep-alive code properly deals with files - larger than 2GB. Previously the connection was closed too - early. -- The content length for files above 2GB is logged correctly. -- The user-manual directive on the show-status page links to - the documentation location specified with the directive, - not to the Privoxy website. -- When running in daemon mode, Privoxy doesn't log anything - to the console unless there are errors before the logfile - has been opened. -- The show-status page prints warnings about invalid directives - on the same line as the directives themselves. -- Fixed several justified (but harmless) compiler warnings, - mostly on 64 bit platforms. -- The mingw32 version explicitly requests the default charset - to prevent display problems with some fonts available on more - recent Windows versions. Patch by Burberry. -- The mingw32 version uses the Privoxy icon in the alt-tab - windows. Patch by Burberry. -- The timestamp and the thread id is omitted in the "Fatal error" - message box on mingw32. -- Fixed two related mingw32-only buffer overflows. Triggering - them required control over the configuration file, therefore - this isn't seen as a security issue. -- In verbose mode, or if the new option --show-skipped-tests - is used, Privoxy-Regression-Test logs skipped tests and the - skip reason. - -*** Version 3.0.11 *** - -- On most platforms, outgoing connections can be kept alive and - reused if the server supports it. Whether or not this improves - things depends on the connection. -- When dropping privileges, membership in supplementary groups - is given up as well. Not doing that can lead to Privoxy running - with more rights than necessary and violates the principle of - least privilege. Users of the --user option are advised to update. - Thanks to Matthias Drochner for reporting the problem, - providing the initial patch and testing the final version. -- Passing invalid users or groups with the --user option - didn't lead to program exit. Regression introduced in 3.0.7. -- The match all section has been moved from default.action - to a new file called match-all.action. As a result the - default.action no longer needs to be touched by the user - and can be safely overwritten by updates. -- The standard.action file has been removed. Its content - is now part of the default.action file. -- In some situations the logged content length was slightly too low. -- Crunched requests are logged with their own log level. - If you used "debug 1" in the past, you'll probably want - to additionally enable "debug 1024", otherwise only passed - requests will be logged. If you only care about crunched - requests, simply replace "debug 1" with "debug 1024". -- The crunch reason has been moved to the beginning of the - crunch message. For HTTP URLs, the protocol is logged as well. -- Log messages are shortened by printing the thread id on its - own (as opposed to putting it inside the string "Privoxy()"). -- The config option socket-timeout has been added to control - the time Privoxy waits for data to arrive on a socket. -- Support for remote toggling is controlled by the configure - option --disable-toggle only. In previous versions it also - depended on the action editor and thus configuring with the - --disable-editor option would disable remote toggling support - as well. -- Requests with invalid HTTP versions are rejected. -- The template symbol @date@ can be used to include a date(1)-like - time string. Initial patch submitted by Endre Szabo. -- Responses from shoutcast servers are accepted again. - Problem reported and fix suggested by Stefan. -- The hide-forwarded-for-headers action has been replaced with - the change-x-forwarded-for{} action which can also be used to - add X-Forwarded-For headers. The latter functionality already - existed in Privoxy versions prior to 3.0.7 but has been removed - as it was often used unintentionally (by not using the - hide-forwarded-for-headers action). -- A "clear log" view option was added to the mingw32 version - to clear out all of the lines in the Privoxy log window. - Based on a patch submitted by T Ford. -- The mingw32 version uses "critical sections" now, which prevents - log message corruption under load. As a side effect, the - "no thread-safe PRNG" warning could be removed as well. -- The mingw32 version's task bar icon is crossed out and - the color changed to gray if Privoxy is toggled off. - -*** Version 3.0.10 *** - -- Ordinary configuration file changes no longer cause program - termination on OS/2 if the name of the logfile hasn't been - changed as well. This regression probably crept in with the - logging improvements in 3.0.7. Reported by Maynard. -- The img-reorder filter is less likely to mess up JavaScript code in - img tags. Problem and solution reported by Glenn Washburn in #2014552. -- The source tar ball now includes Privoxy-Log-Parser, - a syntax-highlighter for Privoxy logs. For fancy screenshots see: - http://www.fabiankeil.de/sourcecode/privoxy-log-parser/ - Documentation is available through perldoc(1). - -*** Version 3.0.9 beta *** - -- Added SOCKS5 support (with address resolution done by - the SOCKS5 server). Patch provided by Eric M. Hopper. -- The "blocked" CGI pages include a block reason that was - provided as argument to the last-applying block action. -- If enable-edit-actions is disabled (the default since 3.0.7 beta) - the show-status page hides the edit buttons and explains why. - Previously the user would get the "this feature has been disabled" - message after using the edit button. -- Forbidden CONNECT requests are treated like blocks by default. - The now-pointless treat-forbidden-connects-like-blocks action - has been removed. -- Not enabling limit-connect now allows CONNECT requests to all ports. - In previous versions it would only allow CONNECT requests to port 443. - Use +limit-connect{443} if you think you need the old default behaviour. -- The CGI editor gets turned off after three edit requests with invalid - file modification timestamps. This makes life harder for attackers - who can leverage browser bugs to send fake Referers and intend to - brute-force edit URLs. -- Action settings for multiple patterns in the same section are - shared in memory. As a result these sections take up less space - (and are loaded slightly faster). Problem reported by Franz Schwartau. -- Linear white space in HTTP headers will be normalized to single - spaces before parsing the header's content, headers split across - multiple lines get merged first. This should prevent problems like: - * letting the session-cookies-only action slip - some Cookies through unmodified, - * only suppressing the first line of a header, - thus creating an invalid one, and - * to incorrectly block headers with valid timestamps - that weren't properly recognized. - Headers that could trigger these problems are unlikely to appear - in "normal" web traffic, but could be intentionally generated to - fool some of Privoxy's header parsers. -- Host information is gathered outside the main thread so it's less - likely to delay other incoming connections if the host is misconfigured. -- New config option "hostname" to use a hostname other than - the one returned by the operating system. Useful to speed-up responses - for CGI requests on misconfigured systems. Requested by Max Khon. -- The CGI editor supports the "disable all filters of this type" - directives "-client-header-filter", "-server-header-filter", - "-client-header-tagger" and "-server-header-tagger". -- Fixed false-positives with the link-by-url filter and URLs that - contain the pattern "/jump/". -- The less-download-windows filter no longer messes - "Content-Type: application/x-shockwave-flash" headers up. -- In the show-url-info page's "Final results" section active and - inactive actions are listed separately. Patch provided by Lee. -- The GNUmakefile supports the DESTDIR variable. Patch for - the install target submitted by Radoslaw Zielinski. -- Embedding the content of configuration files in the show-status - page is significantly faster now. For a largish action file (1 MB) - a speedup of about 2450 times has been measured. This is mostly - interesting if you are using large action files or regularly use - Privoxy-Regression-Test while running Privoxy through Valgrind, - for stock configuration files it doesn't really matter. -- If zlib support is unavailable and there are content - filters active but the prevent-compression action is disabled, - the show-url-info page includes a warning that compression - might prevent filtering. -- The show-url-info page provides an OpenSearch Description that - allows to access the page through browser search plugins. -- Custom client-header filters that rewrite the request line - incorrectly no longer cause Privoxy to crash. Reported by din_a4. -- The obsolete kill-popups action has been removed as the - PCRS-based popup filters can do the same and are slightly - less unreliable. -- The inspect-jpegs action has been removed. -- The send-wafer and send-vanilla-wafer actions have been removed. - They weren't particular useful and their behaviour could be emulated - with add-header anyway. -- Privoxy-Regression-Test has been significantly improved. -- Most sections in the default.action file contain tests for - Privoxy-Regression-Test to verify that they are working as intended. -- Parts of Privoxy have been refactored to increase maintainability. -- Building with zlib (if available) is done by default. - -*** Version 3.0.8 *** - -- Fixed a small memory leak when listen-address only specifies the port. -- The source tar balls now include Privoxy-Regression-Test which - (upon other things) can be used to automatically detect some - packaging problems. Packagers are welcome to give it a try. -- Reverted a change in 3.0.7 that caused path patterns to be checked - even if the host pattern match already failed. While this doesn't - noticeable affect the performance, it makes it less likely to run - out of stack space with overly-complex path patterns the user might - have added. -- Updated the msn, yahoo and google filters to work as advertised again. -- The warning message shown by the show-status CGI page is easier to - understand. Previously it wasn't clear that the error message - is shown below the invalid directive. (Reported by Lee) -- When regenerating Content-Disposition headers the more common - spelling is used for the name. Previously it was written without caps. -- Less confusing log message if the content type isn't overwritten - because force-text-type wasn't used but the old type doesn't look - like content that would be filtered normally. -- Better log messages if the user tries to execute filters that - don't exist. -- Treat the non-standard Request-Range headers like standard range - headers and suppress them if content filtering is enabled. -- Prevent the log messages for CONNECT requests to unacceptable - ports from printing the limit-connect argument as [null] if - limit-connect hasn't been explicitly enabled. -- Don't disable the mingw32 log window if the logfile directive - isn't used. While it was an intentional change in 3.0.7 at least - one user perceived it as a regression and the same effect can - be achieved by disabling all debug directives. -- Fixed two minor problems related to the win32 build process: a css - file was not being in the installer and the trustfile comment in the - config.txt referenced a nonexisting file -- Minor documentation fixes. - -*** Version 3.0.7 beta *** - -- Added zlib support to filter content with gzip and deflate - encoding. (Patch provided by Wil Mahan) -- Dedicated filters and actions are used for header filtering. - "filter-client-headers" and "filter-client-headers" are no longer - supported, use server-header-filter{} and client-header-filter{} - instead. -- Tags can be used to change actions based on HTTP headers. -- New server-header filter: less-download-windows. -- New client-header taggers: css-requests, image-requests, - client-ip-address, http-method, allow-post, complete-url, - user-agent and privoxy-control. -- New server-header taggers: content-type and privoxy-control. -- The forward-override{} action allows to change the forwarding - settings through the action files, for example based on client - headers like the User-Agent, or the request origin. -- Socks errors are no longer handled by the CGI page for - DNS resolution failures. -- CGI pages use favicons to signal whether they are error - or control pages. This is useful if you rely heavily on - browser tabs. -- The show-url-info CGI page shows the forwarding settings. -- "Crunch!" log messages (used when Privoxy answers requests - by itself) now also contain the reason. -- Allow to rewrite the request destination behind the client's back. -- Fix socks requests on big-endian platforms. Patch provided by Song Weijia. -- Fixes possible deadlocks and crashes on OpenBSD. - Patch provided by Ralf Horstmann. -- The CGI action editor allows to edit actionfiles with previously - forbidden characters like dots. -- New trust entries are saved with a comment that contains the - trusted referring URL (Suggested by Daniel Griscom). -- Filter descriptions are HTML encoded automatically. -- New config option "split-large-forms" to work - around a browser bug that caused IE6 and IE7 to ignore - the Submit button on the edit-actions-for-url CGI page. -- New config option "allow-cgi-request-crunching" to allow - requests for Privoxy's CGI pages to be blocked, redirected - or (un)trusted like ordinary requests. -- Empty filter files no longer interrupt the filtering process - prematurely and are correctly listed on the show-status CGI page. -- New config option "accept-intercepted-requests" to combine - Privoxy with any packet filter to build an intercepting proxy - for HTTP/1.1 requests (and for HTTP/1.0 requests with Host header set). -- fast-redirects{} catch redirects to https URLs as well. -- redirect{s@foo@bar@} can be used to redirect to a rewritten - version of the original URL. -- Trap unsupported gopher proxy requests. -- Fixed a bug in the User Manual delivery on Windows - (mingw32 only). Images now show up correctly and HTML - pages are no longer padded with garbage data. -- Fixed several minor memory leaks, most of them discovered with Valgrind. -- Only unlink the pidfile if it's actually used. -- Retries after connection problems with forced requests - aren't blocked again. -- On Unix SIGABRT causes a core dump as expected and is no - longer treated as normal shutdown signal. -- The "access denied" CGI page is more descriptive and - allows retries to circumvent the referrer check. -- Updated PCRS to handle unexpected PCRE errors properly. - Fixed crashes that could occur if Privoxy was build - with external PCRE versions newer than Privoxy's internal - one. (Reported by Chung-chieh Shan) -- Fixed crashes with null bytes in PCRS replacement strings - (Patch provided by Felix Gröbert). -- Fixed crashes with header time randomization on mingw32. -- The CGI style sheet is no longer delivered if the referring - page isn't a Privoxy CGI page. This prevents a JavaScript-based - Privoxy detection "attack". Note that detecting Privoxy is - still possible through other ways and Privoxy was never intended - to be invisible anyway. -- Added support for AmigaOS 4, fixed build for AmigaOS 3.x. -- The show-url-info CGI page displays a warning if Privoxy - is currently toggled off. -- The show-status CGI page suppresses the edit button - for action files if Privoxy has no write access. -- Most CGI error pages react properly to HEAD requests. -- Requests with RFC 3253 HTTP methods (used by Subversion) - are accepted. (Patch provided by Petr Kadlec) -- New config option "templdir" to change the location - of the CGI templates to make sure customized templates - aren't "updated". -- Better handling of "HTTP/1.1 100 Continue" responses. -- The background of the PNG pattern is transparent. -- Fixed XML syntax errors caused by banners-by-size and banners-by-url. -- Fixed crashes and possible action file corruptions - when lines containing hashes are written through the CGI editor. -- Supports dynamic filters which can contain variables. -- Supports tags to change the actions based on client or server headers. -- Incorrect actions are logged before program termination. -- The "actionsfile" syntax in the configuration file is consistent - with the rest of the configuration options and requires the - whole file name. This is an incompatible change, if you use - an old configuration file you might have to append ".action" - to your "actionsfile" directives. -- With the configuration file option "enforce-blocks" the - "go there anyway" mechanism can be disabled without recompiling - Privoxy. -- More precise error messages in case of incorrect acl syntax. -- Logs a warning if filtering is enabled but impossible due - to lack of zlib support or use of the prevent-compression action. -- Less noisy handling of Cookie:" and "Connection:" headers. -- Improved error messages in case of connection problems. -- Fix a command-line-parsing bug that was introduced before 3.0.5 - beta and caused Privoxy to treat the last argument as configuration - file if no configuration file was specified. -- Treat unknown command line options as fatal errors instead - of silently ignoring them. -- Use string functions with length checks more often. -- Don't log CONNECT requests twice. -- Allow to log the source address for ACL-related connection drops. -- Don't ignore applying filters if the server didn't - specify a Content-Type. Bug reported by Amuro Namie. -- Rejected CONNECT requests are logged with log level info - (enabled by default) and the reason for the block. -- New command line option "--pre-chroot-nslookup hostname" to - intialize the resolver library before chroot'ing. On some systems this - reduces the number of files that must be copied into the chroot tree. - (Patch provided by Stephen Gildea) -- Fix a long-standing memory corruption bug that could cause - Privoxy to overwrite a single byte in memory it didn't explicitly - allocate (but that probably was allocated anyway due to bucket size). -- Send template-based CGI pages as HTTP/1.1 unless the client - asked for HTTP/1.0. -- Let the first line in connection established responses - end in \r\n as required by RFC1945. Reported by Bert van Leeuwen. -- If no log file has been specified, disable logging instead of logging - to stderr. -- Don't block stderr when in daemon mode. -- Ignore missing zero-chunks when filtering chunk-encoded content. - Earlier Privoxy versions would buffer and then forward the content - unmodified which caused some browsers to simply show empty pages. -- Fix double free in cgi_edit_actions_list(). Reported by Venustech AD-LAB. -- The code to add X-Forwarded-For headers when the hide-forwarded-for-headers - action isn't being used has been removed. -- Fixed trustfile feature which previously didn't work without FEATURE_TOGGLE. - Reported by Lee. -- Minor code clean-ups, filter and action file updates. - (Some of them reported by Davide Alberani, Markus Elfring, - Stefan Huehner and Adam Piggott) - -*** Version 3.0.6 *** - -- New content filters: no-ping, google, msn, yahoo and blogspot. -- New header filters: x-httpd-php-to-html, html-to-xml, xml-to-html - and hide-tor-exit-notation. -- The special header "X-Filter: No" now disables header filtering as well. -- Improved the filters img-reorder, js-annoyances, webbugs, - banners-by-size, banners-by-link and ie-exploits to make them - less likely to break anything. -- Removed outdated URL patterns in default.action and added new ones. -- Added redirection from http://p.p/user-manual to http://p.p/user-manual/ -- Changed webinterface default values for hide-user-agent, hide-referrer - and set-image-blocker. - -*** Version 3.0.5 beta *** - -- Windows version can be installed/started as a service. -- Windows icon stays blue when Privoxy is idle, green when busy. -- Integrated Fabian Keil's extensive patch. See: - http://www.fabiankeil.de/sourcecode/privoxy/. Includes the - following new or significantly improved actions (among many - other improvements): - - content-type-overwrite{} - crunch-client-header{string} - crunch-if-none-match - crunch-server-header{string} - fast-redirects{check-decoded-url} - filter-client-headers - filter-server-headers - force-text-mode - handle-as-empty-document - hide-accept-language{} - hide-content-disposition{} - hide-if-modified-since - hide-referrer{conditional-block} - overwrite-last-modified{} - redirect{URL} - treat-forbidden-connects-like-blocks - -- Standard-compliant clients are prevented from displaying cached - copies of Privoxy's error messages after the cause of the problem - has gone. -- Improved DNS error handling. -- Multiple filter files can now be specified in config. -- Added jpeg filtering to defend against MS jpeg vulnerability MS04-028 - with the new inspect-jpegs action. -- Removed the "arbitrary" 1000 filter limit - addresses tracker #911950 -- Thanks to Jindrich Makovicka for a race condition fix for the log - file. The race condition remains for non-pthread implementations. - Reference patch #1175720. Various other logging enhancements. -- A pile of assorted bug fixes, memory leaks, enhancements, etc. -- Moved Actions file reporting mechanism to SF tracker. -- Two new options for config: enable-remote-http-toggle and - forwarded-connect-retries. -- Trap unsupported FTP requests. -- Let text/xml be filtered. -- Numerous updates to default.action -- Increase the compiled in limit of trusted referrers from 64 to 512 - (for trustfile users). - -*** Version 3.0.3 *** - -- Fixed yet another two memory leaks. Process growth seems stopped now. -- Further tightened security against malicious toggle-off links. -- Excluded text/plain MIME types from filtering. This fixes a - couple of client-crashing, download corruption and - Privoxy performance issues, whose root cause lies in - web servers labelling content of unknown type as text/plain. -- Assorted fixes for POSIX compliance, signal handling, graceful - termination, compiler warnings, OSX support, Win32 systray, - error logging, hostname wildcards, correct detection of NetBSD. -- Workarounds for client (iTunes etc) and server (PHP < 4.2.3) bugs - including the notorious "blank page" problem. -- Various filter improvements; most notably the unsolicited-popups - filter became less destructive -- Major revamp of the actions file - -*** Version 3.0.2 *** - -- Fixed two memory leaks, one serious -- Fixed bug in pcrs which could cause crashes with user-defined filters -- Fixed bug in domain name matching -- Assorted small fixes (Win32 menu, CGI URL editor, ..) -- Added basic support for the OPTIONS and TRACE http methods -- Added workaround for Bug in Mac OSX that made Privoxy crash occasionally -- Refined the default action file through >400 items of user feedback -- Filter changes: - - Assorted refinements, optimizations and fixes in the js-annoyances, - img-reorder, banners-by-size, banners-by-link, webbugs, refresh-tags, - html-annoyances, content-cookies and fun filters - - Replaced filter "popups" by choice between two modes: - - "unsolicited-popups" tries to catch only the unsolicited ones - - "all-popups" tries to kill them all (as before) - - New filter "tiny-textforms" Help those tiny or hard-wrap textareas. - - New filter "jumping-windows" that prevents windows from resizing - and moving themselves - - New filter "demoronizer" which fixes MS's abuse of std charsets - (common cases anyway). - - Replaced "nimda" with more general "ie-exploits" filter in which - all filters for exploits shall be collected -- Improved cookie logging -- Rewrote make install target. Added uninstall and install-strip - targets. -- Fixed a potential (application-level, NOT OS-level!) security - problem involving remote toggling and action file manipulation - by mailicious websites. -- Added ability to chroot (thanks to Sviatoslav Sviridov) -- Added more action aliases for prehistoric action names -- Add Slackware support to Makefile. - -*** Version 3.0 *** - -- Fixed Windows startmenu items, log window and tray icon menus. -- Added warning for bogus install target -- Added quicktime-kioskmode filter and improved frameset-borders -- Updated default.action based on latest feedback -- New PDF doc build process -- Add a user contrib module to cvs: - http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/contrib/ - -*** Version 2.9.18 *** - -- Added workaround for IE bug that broke CGI interface -- Bugfix: String actions now reliably editable through CGI interface -- Three filters fixed (again!) -- Assorted small fixes and doc enhancements - -*** Version 2.9.16 *** - -- Major revamp of default.action to get rid of years of cruft. -- Same for default.filter -- Re-design and major improvements to the CGI editor interface. -- Address spurious 'out of memory' error due to incorrect file permissions. -- Impose buffer limits while reading client and server headers. -- Better memory and CPU optimization. -- Add Conectiva Linux package. -- user-manual directive added to config for help links from within CGI - editor. -- Multiple actions files can now be specified in config. -- Actions files are changed to: default.action, standard.action, and - user.action. user.action is for personal/local configuration. -- The usual many small and miscellaneous bug and security fixes. - -*** Version 2.9.14 beta *** - -- Fix Solaris compile problem (gateway.h and filters.h) -- Makefile fixes for Solaris, FreeBSD (?) -- Fix build failure where certain features were disabled. -- 'blocked-compact' template is removed. Various CGI improvements, - including an adaptive 'blocked' template. -- Various tweaks for actions file to get ready for stable 3.0 -- Included a 'Bookmarklet' and PHP scripts for reporting actions file - problems via web interface at privoxy.org. Accessed via internal CGIs. -- Include cgi-style.css for templates. -- #include mechansim for common text in templates -- Various other minor fixes. - -*** Version 2.9.13 beta *** - -- *NEWS*: The project has been renamed to Privoxy! The new name is - reflected throughout (file locations, etc). -- ijb.action is now default.action. re_filterfile is now - default.filter. -- http://i.j.b/ is now http://p.p/ -- The 'logo' option for replacing ad iamges is removed now. 'Pattern' - (checkerboard) is now the default. -- RPM spec file make over. - - -*** Version 2.9.12 beta *** - -- **READ**: The default listening PORT is NOW 8118!!! Changed from - 8000 due to conflict with NAS (Network Audio Server, whatever that - is.) -- More CGI actions editor fixes and improvements. -- Win32 command line fix ups. -- re_filterfile now has modular sections that can be activated on a - per site basis. Some new goodies there too. -- +filter now takes arguments to match FILTER sections in re_filterfile - for even more flexibility. -- Added a new image blocker option: +image-blocker{pattern}, which - displays a checkerboard patthern and scales better than the logo. -- PNG images will be used in place of GIF for JB built-in images - if configured with --enable-no-gif. -- Clean up compiler warnings (mostly). -- Improved handling of failed DNS lookups & diagnostics for failed bind - to listen socket -- Made --no-daemon mode log to tty instead of logfile. -- Various spec file and init script cleanups and improvements (Redhat and - SuSE). -- CGI Editor works on OS/2 now. -- Fix restart failure where sockets were in TIME_WAIT. -- Fixes for actions cgi editor, make sure we have right file. -- A --pidfile command line option now, in addition to --help, - --version, --no-daemon, --user and configfile. --no-daemon replaces - the former -d option and _DEBUG define. --user will drop privileges - to the specified user. -- Signal handling cleanups (*nix). -- CGI actions editor improvements and fixes. -- Error handling improvements, especially out of memory. -- Default re_filterfile fix that caused spurious IJB logos - (instead of 'blank'). -- configure.in threading fixes for Solaris. -- Various other minor fixes. - - -*** Version 2.9.11 beta Changes *** - -- Add "session" cookie concept where cookies exist for the life - of that browser session only (ie never goes to disk). -- Checks for correct header length. -- Fix user:pass@host.domain.com auth bug. -- Better signal handling on *nix. -- Fix CFLAGS hard-coded in configure.in -- Fix threading bug re: gethostbyname() that caused random - URLs to fail in some cases. - - -*** Version 2.9.11 Alpha Changes *** - -- A web-based editor for the actions file is included (go to http://i.j.b/). -- Web-based toggle IJB on/off support. -- Cookie handling has changed - the new +no-cookies-keep feature is now the -default. -- actionsfile is renamed to ijb.action. -- junkbstr.txt is now config.txt on Win32. -- Support for running IJB as a UNIX daemon process has improved. -- Unix daemon now returns error code on failed start. -- Timestamps in logfile and jarfile now. -- Fix for the Netscape bug reintroduced in 2.9.9. -- make should now abort if gmake (GNU make) not present. -- Many other minor bugfixes -- Start a ChangeLog :) - - - -*** Version 2.9.3 pre-Alpha Changes *** - -- Amiga support (completely untested by me - I don't have an Amiga) -- "tinygif 3" support (redirects blocked images to a specified URL, so -the browser doesn't have to load and cache many copies of the same -image). -- one case where there were both local and global "referrer" variables -(yuck!) clarified by renaming the local one to "refer". -- Fixed some places where close() was used instead of close_socket(). -Thanks to Jörg Strohmayer (joergs at users.sourceforge.net) for these. -- Temporary hack to get FORCE_LOAD to work with IE. I just lowercased the -FORCE_LOAD_PREFIX. Needs fixing properly. -- Most URLs hardcoded into Junkbuster were changed to go through a script -e.g. http://ijbswa.sourceforge.net/redirect.php?v=2.9.3&to=faq -The only other URLs left are the GNU GPL: - http://www.fsf.org/copyleft/gpl.html -and the home page: - http://ijbswa.sourceforge.net/ -... and various URLs which will be intercepted by Junkbuster anyway. -TODO: Still need to do something with the URLs in Junkbuster Corp's -copyright/trademark notice on the bottom of the show-proxy-args page. -- PCRE or GNU Regex is now a #define option. - - -*** Version 2.9.2 pre-Alpha Changes *** - -- Andreas applied the latest version of the FORCE patch. - - -*** Version 2.9.1 pre-Alpha Changes *** - -- in parsers.c, fixed two #ifdef FORCE to #ifdef FORCE_LOAD -(BTW: I think FORCE is precise enough, since loading remote -data is the whole purpose of a proxy..) -- Set the FORCE_PREFIX (back) to 'IJB-FORCE-LOAD-'. While 'noijb.' -is more elegant and looks like a hostname in the URL, it doesn't -make clear to the inexperienced user that the proxy is bypassed. It -also has a higher name collision risk. -- Filled in the function header templates for my functions in -parsers.c (again). They obviously got lost in our current -patch war ;-) -- Cut the credit for the §-referrer-option from the config file, -that Stefan had placed there. -- Improved the re_filterfile - - -*** Version 2.9.0 pre-Alpha Changes *** - -- Now use PCRE, not GNU REGEX. I have not yet had chance to check the -syntax of the block/image/cookie file to ensure that they match what -is expected - however they seem to work. -- Replaced "configure" script with one generated by "autoconf". Also -use a header "config.h" (was ijbconfig.h in my previous release) for -the #defines. "config.h" is now generated with "autoheader" from -"acconfig.h" and "configure.in". (Note that to install you do not -need autoconf or autoheader - just run "./configure".) -To see command-line options, run "./configure --help". -This is my first ever autoconf script, so it has some rough edges -(how PCRE is handled is the roughest). -- Error logging code replaced with new module errlog.c, based on the -one from JunkbusterMT (but with the threading code removed). -- Most of Rodney's 0.21 and 0.21A patches applied. (Marked *). I did not -apply all of these, since I had already independently done conditional -popup file, conditional image file, and integration of popup code. -- ACL, Jar and trust files conditionally compiled. -- New source file headers. -- Various cosmetic changes. (But I have not consistently ordered the -config files - I think that's worthwhile, but it's 1am and I want to -get this released!) -- RCS tags on .h files. -- RCS tags are const char[] rather than const char *. (Saves 4 bytes -per tag ;-) -- VC++ project files renamed to vc_junkbuster.*. -- show-proxy-args now shows status of all conditionals, not just REGEX -- Various functions moved around. Most notably all the system-specific -sockets code which was spread between jcc.c, bind.c, and connect.c, -has been moved to "jbsockets.c". The non-system-specific code from -connect.c and socks4.c has been movet to "gateway.c". Also, the -config file loader and the global variables it writes to have been -moved to "loadcfg.c". (Maybe this should go into loaders.c?) -And candidate for the "worst filename ever" award is "miscutil.c", -which contains, well, miscellaneous utility functions like zalloc. -(Suggestions for a better name for this file are welcome!) -- Loaders now use a common function to read a line and skip comments, -and this function also stores the proxy_args. -- Added ./junkbuster --help (Not for Win32 GUI) -- Added ./junkbuster --version (Not for Win32 GUI) -- Win32 resources are now all marked as "U.S. English", rather than -being a mix of "U.S. English", "U.K. English" and "Irish English". -- Version number changes to 2.9.0 - - ----------------------------------------------------------------------- -Copyright : Written by and Copyright (C) 2001-2013 the - Privoxy team. http://www.privoxy.org/ - - Based on the Internet Junkbuster originally written - by and Copyright (C) 1997 Anonymous Coders and - Junkbusters Corporation. http://www.junkbusters.com/ - - This program is free software; you can redistribute it - and/or modify it under the terms of the GNU General - Public License as published by the Free Software - Foundation; either version 2 of the License, or (at - your option) any later version. - - This program is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the - implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - The GNU General Public License should be included with - this file. If not, you can view it at - http://www.gnu.org/copyleft/gpl.html - or write to the Free Software Foundation, Inc., 59 - Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff --git a/pkg content/usr/local/share/doc/privoxy/LICENSE b/pkg content/usr/local/share/doc/privoxy/LICENSE deleted file mode 100644 index d159169..0000000 --- a/pkg content/usr/local/share/doc/privoxy/LICENSE +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/pkg content/usr/local/share/doc/privoxy/README b/pkg content/usr/local/share/doc/privoxy/README deleted file mode 100644 index 7e8331a..0000000 --- a/pkg content/usr/local/share/doc/privoxy/README +++ /dev/null @@ -1,315 +0,0 @@ -/********************************************************************* - * - * File : $Source: /cvsroot/ijbswa/current/README,v $ - * - * Purpose : README file to give a short intro. - * - * Copyright : Written by and Copyright (C) 2001-2011 the - * Privoxy team. http://www.privoxy.org/ - * - * Based on the Internet Junkbuster originally written - * by and Copyright (C) 1997 Anonymous Coders and - * Junkbusters Corporation. http://www.junkbusters.com - * - * This program is free software; you can redistribute it - * and/or modify it under the terms of the GNU General - * Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at - * your option) any later version. - * - * This program is distributed in the hope that it will - * be useful, but WITHOUT ANY WARRANTY; without even the - * implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - * - * The GNU General Public License should be included with - * this file. If not, you can view it at - * http://www.gnu.org/copyleft/gpl.html - * or write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA - * - *********************************************************************/ - -This README is included with Privoxy 3.0.21. See http://www.privoxy.org/ for -more information. The current code maturity level is "stable". - -------------------------------------------------------------------------------- - -Privoxy is a non-caching web proxy with advanced filtering capabilities for -enhancing privacy, modifying web page data and HTTP headers, controlling -access, and removing ads and other obnoxious Internet junk. Privoxy has a -flexible configuration and can be customized to suit individual needs and -tastes. It has application for both stand-alone systems and multi-user -networks. - -Privoxy is Free Software and licensed under the GNU GPLv2. - -Privoxy is an associated project of Software in the Public Interest (SPI). - -Helping hands and donations are welcome: - - * http://www.privoxy.org/faq/general.html#PARTICIPATE - - * http://www.privoxy.org/faq/general.html#DONATE - -------------------------------------------------------------------------------- - -1. CHANGES - -For a list of changes in this release, please have a look at the "ChangeLog", -the "What's New" section or the "Upgrader's Notes" in the User Manual. - -------------------------------------------------------------------------------- - -2. INSTALL - -See the INSTALL file in this directory, for installing from raw source, and the -User Manual, for all other installation types. - -------------------------------------------------------------------------------- - -3. RUN - -privoxy [--help] [--version] [--no-daemon] [--pidfile PIDFILE] [--user USER -[.GROUP]] [--chroot] [--pre-chroot-nslookup HOSTNAME ][config_file] - -See the man page or User Manual for an explanation of each option, and other -configuration and usage issues. - -If no config_file is specified on the command line, Privoxy will look for a -file named 'config' in the current directory (except Win32 which will look for -'config.txt'). If no config_file is found, Privoxy will fail to start. - -------------------------------------------------------------------------------- - -4. CONFIGURATION - -See: 'config', 'default.action', 'user.action', 'default.filter', and -'user.filter'. 'user.action' and 'user.filter' are for personal and local -configuration preferences. These are all well commented. Most of the magic is -in '*.action' files. 'user.action' should be used for any actions -customizations. On Unix-like systems, these files are typically installed in / -etc/privoxy. On Windows, then wherever the executable itself is installed. -There are many significant changes and advances from earlier versions. The User -Manual has an explanation of all configuration options, and examples: http:// -www.privoxy.org/user-manual/. - -Be sure to set your browser(s) for HTTP/HTTPS Proxy at :, or whatever -you specify in the config file under 'listen-address'. DEFAULT is -127.0.0.1:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not -try it with FTP or other protocols for the simple reason it does not work. - -The actions list can be configured via the web interface accessed via http:// -p.p/, as well other options. - -------------------------------------------------------------------------------- - -5. DOCUMENTATION - -There should be documentation in the 'doc' subdirectory. In particular, see the -User Manual there, the FAQ, and those interested in Privoxy development, should -look at developer-manual. - -The source and configuration files are all well commented. The main -configuration files are: 'config', 'default.action', and 'default.filter'. - -Included documentation may vary according to platform and packager. All -documentation is posted on http://www.privoxy.org, in case you don't have it, -or can't find it. - -------------------------------------------------------------------------------- - -6. CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS - -We value your feedback. In fact, we rely on it to improve Privoxy and its -configuration. However, please note the following hints, so we can provide you -with the best support. - -------------------------------------------------------------------------------- - -6.1. Please provide sufficient information - -A lot of support requests don't contain enough information and can't be solved -without a lot of back and forth which causes unnecessary delays. Reading this -section should help to prevent that. - -Before contacting us to report a problem, please try to verify that it is a -Privoxy problem, and not a browser or site problem or documented behaviour that -just happens to be different than what you expected. If unsure, try toggling -off Privoxy, and see if the problem persists. - -If you are using your own custom configuration, please try the default -configuration to see if the problem is configuration related. If you're having -problems with a feature that is disabled by default, please ask around on the -mailing list if others can reproduce the problem. - -If you aren't using the latest Privoxy version, the problem may have been found -and fixed in the meantime. We would appreciate if you could take the time to -upgrade to the latest version and verify that the problem still exists. - -Please be sure to provide the following information when reporting problems or -requesting support: - - * The exact Privoxy version you are using. - - * The operating system and versions you run Privoxy on, e.g. Windows XP SP2. - - * The name, platform, and version of the browser you were using (e.g. - Internet Explorer v5.5 for Mac). - - * The URL where the problem occurred, or some way for us to duplicate the - problem (e.g. http://somesite.example.com/?somethingelse=123). - - * Whether your version of Privoxy is one supplied by the Privoxy developers - via SourceForge, or if you got your copy somewhere else. - - * Whether you are using Privoxy together with another proxy such as Tor. If - so, please temporary disable the other proxy to see if the symptoms change. - - * Whether you are using a personal firewall product. If so, does Privoxy work - without it? - - * Any other pertinent information to help identify the problem such as config - or log file excerpts (yes, you should have log file entries for each action - taken). To get a meaningful logfile, please make sure that the logfile - directive is being used and the following debug options are enabled (all of - them): - - debug 1 # Log the destination for each request Privoxy let through. See also debug 1024. - debug 2 # show each connection status - debug 4 # show I/O status - debug 8 # show header parsing - debug 128 # debug redirects - debug 256 # debug GIF de-animation - debug 512 # Common Log Format - debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why. - debug 4096 # Startup banner and warnings. - debug 8192 # Non-fatal errors - - If you are having trouble with a filter, please additionally enable - - debug 64 # debug regular expression filters - - If you are using Privoxy 3.0.17 or later and suspect that it interprets the - request or the response incorrectly, please enable - - debug 32768 # log all data read from the network - - It's easy for us to ignore log messages that aren't relevant but missing - log messages may make it impossible to investigate a problem. If you aren't - sure which of the debug directives are relevant, please just enable all of - them and let us worry about it. - - Note that Privoxy log files may contain sensitive information so please - don't submit any logfiles you didn't read first. You can mask sensitive - information as long as it's clear that you removed something. - -You don't have to tell us your actual name when filing a problem report, but if -you don't, please use a nickname so we can differentiate between your messages -and the ones entered by other "anonymous" users that may respond to your -request if they have the same problem or already found a solution. Note that -due to spam the trackers may not always allow to post without being logged into -SourceForge. If that's the case, you are still free to create a login that -isn't directly linked to your name, though. - -Please also check the status of your request a few days after submitting it, as -we may request additional information. If you use a SF id, you should -automatically get a mail when someone responds to your request. Please don't -bother to add an email address when using the tracker. If you prefer to -communicate through email, just use one of the mailing lists directly. - -If you are new to reporting problems, you might be interested in How to Report -Bugs Effectively. - -The appendix of the Privoxy User Manual also has helpful information on -understanding actions, and action debugging. - -------------------------------------------------------------------------------- - -6.2. Get Support - -For casual users, our support forum at SourceForge is probably best suited: -http://sourceforge.net/tracker/?group_id=11118&atid=211118 - -All users are of course welcome to discuss their issues on the users mailing -list, where the developers also hang around. - -Please don't send private support requests to individual Privoxy developers, -either use the mailing lists or the support trackers. - -If you have to contact a Privoxy developer directly for other reasons, please -send a real mail and do not bother with SourceForge's messaging system. Answers -to SourceForge messages are usually bounced by SourceForge's mail server in -which case the developer wasted time writing a response you don't get. From -your point of view it will look like your message has been completely ignored, -so this is frustrating for all parties involved. - -Note that the Privoxy mailing lists are moderated. Posts from unsubscribed -addresses have to be accepted manually by a moderator. This may cause a delay -of several days and if you use a subject that doesn't clearly mention Privoxy -or one of its features, your message may be accidentally discarded as spam. - -If you aren't subscribed, you should therefore spend a few seconds to come up -with a proper subject. Additionally you should make it clear that you want to -get CC'd. Otherwise some responses will be directed to the mailing list only, -and you won't see them. - -------------------------------------------------------------------------------- - -6.3. Reporting Problems - -"Problems" for our purposes, come in two forms: - - * Configuration issues, such as ads that slip through, or sites that don't - function properly due to one Privoxy "action" or another being turned "on". - - * "Bugs" in the programming code that makes up Privoxy, such as that might - cause a crash. - -------------------------------------------------------------------------------- - -6.3.1. Reporting Ads or Other Configuration Problems - -Please send feedback on ads that slipped through, innocent images that were -blocked, sites that don't work properly, and other configuration related -problem of default.action file, to http://sourceforge.net/tracker/?group_id= -11118&atid=460288, the Actions File Tracker. - -New, improved default.action files may occasionally be made available based on -your feedback. These will be announced on the ijbswa-announce list and -available from our the files section of our project page. - -------------------------------------------------------------------------------- - -6.3.2. Reporting Bugs - -Please report all bugs through our bug tracker: http://sourceforge.net/tracker -/?group_id=11118&atid=111118. - -Before doing so, please make sure that the bug has not already been submitted -and observe the additional hints at the top of the submit form. If already -submitted, please feel free to add any info to the original report that might -help to solve the issue. - -------------------------------------------------------------------------------- - -6.4. Request New Features - -You are welcome to submit ideas on new features or other proposals for -improvement through our feature request tracker at http://sourceforge.net/ -tracker/?atid=361118&group_id=11118. - -------------------------------------------------------------------------------- - -6.5. Mailing Lists - -If you prefer to communicate through email, instead of using a web interface, -feel free to use one of the mailing lists. To discuss issues that haven't been -completely diagnosed yet, please use the Privoxy users list. Technically -interested users and people who wish to contribute to the project are always -welcome on the developers list. You can find an overview of all Privoxy-related -mailing lists, including list archives, at: http://sourceforge.net/mail/? -group_id=11118. - diff --git a/pkg content/usr/local/share/doc/privoxy/announce.txt b/pkg content/usr/local/share/doc/privoxy/announce.txt deleted file mode 100644 index efd91d3..0000000 --- a/pkg content/usr/local/share/doc/privoxy/announce.txt +++ /dev/null @@ -1,457 +0,0 @@ - Announcing Privoxy 3.0.21 stable --------------------------------------------------------------------- - -Privoxy 3.0.21 stable is a bug-fix release for Privoxy 3.0.20 beta. -It also addresses two security issues that affect all previous -Privoxy versions. - --------------------------------------------------------------------- -ChangeLog for Privoxy --------------------------------------------------------------------- -*** Version 3.0.21 stable *** - -- Bug fixes: - - On POSIX-like platforms, network sockets with file descriptor - values above FD_SETSIZE are properly rejected. Previously they - could cause memory corruption in configurations that allowed - the limit to be reached. - - Proxy authentication headers are removed unless the new directive - enable-proxy-authentication-forwarding is used. Forwarding the - headers potentionally allows malicious sites to trick the user - into providing them with login information. - Reported by Chris John Riley. - - Compiles on OS/2 again now that unistd.h is only included - on platforms that have it. - -- General improvements: - - The show-status page shows the FEATURE_STRPTIME_SANITY_CHECKS status. - - A couple of assert()s that could theoretically dereference - NULL pointers in debug builds have been relocated. - - Added an LSB info block to the generic start script. - Based on a patch from Natxo Asenjo. - - The max-client-connections default has been changed to 128 - which should be more than enough for most setups. - -- Action file improvements: - - Block rover.ebay./ar.*\&adtype= instead of "/.*\&adtype=" which - caused too man false positives. - Reported by u302320 in #360284, additional feedback from Adam Piggott. - - Unblock '.advrider.com/' and '/.*ADVrider'. - Anonymously reported in #3603636. - - Stop blocking '/js/slider\.js'. - Reported by Adam Piggott in #3606635 and _lvm in #2791160. - -- Filter file improvements: - - Added an iframes filter. - -- Documentation improvements: - - The whole GPLv2 text is included in the user manual now, - so Privoxy can serve it itself and the user can read it - without having to wade through GPLv3 ads first. - - Properly numbered and underlined a couple of section titles - in the config that where previously overlooked due to a flaw - in the conversion script. Reported by Ralf Jungblut. - - Improved the support instruction to hopefully make it harder to - unintentionally provide insufficient information when requesting - support. Previously it wasn't obvious that the information we need - in bug reports is usually also required in support requests. - - Removed documentation about packages that haven't been provided - in years. - -- Privoxy-Regression-Test: - - Only log the test number when not running in verbose mode - The position of the test is rarely relevant and it previously - wasn't exactly obvious which one of the numbers was useful to - repeat the test with --test-number. - -- GNUmakefile improvements: - - Factor generate-config-file out of config-file to make testing - more convenient. - - The clean target now also takes care of patch leftovers. - -*** Version 3.0.20 beta *** - -- Bug fixes: - - Client sockets are now properly shutdown and drained before being - closed. This fixes page truncation issues with clients that aggressively - pipeline data on platforms that otherwise discard already written data. - The issue mainly affected Opera users and was initially reported - by Kevin in #3464439, szotsaki provided additional information to track - down the cause. - - Fix latency calculation for shared connections (disabled by default). - It was broken since their introduction in 2009. The calculated latency - for most connections would be 0 in which case the timeout detection - failed to account for the real latency. - - Reject URLs with invalid port. Previously they were parsed incorrectly and - characters between the port number and the first slash were silently - dropped as shown by curl test 187. - - The default-server-timeout and socket-timeout directives accept 0 as - valid value. - - Fix a race condition on Windows that could cause Privoxy to become - unresponsive after toggling it on or off through the taskbar icon. - Reported by Tim H. in #3525694. - - Fix the compilation on Windows when configured without IPv6 support. - - Fix an assertion that could cause debug builds to abort() in case of - socks5 connection failures with "debug 2" enabled. - - Fix an assertion that could cause debug builds to abort() if a filter - contained nul bytes in the replacement text. - -- General improvements: - - Significantly improved keep-alive support for both client and server - connections. - - New debug log level 65536 which logs all actions that were applied to - the request. - - New directive client-header-order to forward client headers in a - different order than the one in which they arrived. - - New directive tolerate-pipelining to allow client-side pipelining. - If enabled (3.0.20 beta enables it by default), Privoxy will keep - pipelined client requests around to deal with them once the current - request has been served. - - New --config-test option to let Privoxy exit after checking whether or not - the configuration seems valid. The limitations noted in TODO #22 and #23 - still apply. Based on a patch by Ramkumar Chinchani. - - New limit-cookie-lifetime{} action to let cookies expire before the end - of the session. Suggested by Rick Sykes in #1049575. - - Increase the hard-coded maximum number of actions and filter files from - 10 to 30 (each). It doesn't significantly affect Privoxy's memory usage - and recompiling wasn't an option for all Privoxy users that reached the - limit. - - Add support for chunk-encoded client request bodies. Previously - chunk-encoded request bodies weren't guaranteed to be forwarded correctly, - so this can also be considered a bug fix although chunk-encoded request - bodies aren't commonly used in the real world. - - Add support for Tor's optimistic-data SOCKS extension, which can reduce the - latency for requests on newly created connections. Currently only the - headers are sent optimistically and only if the client request has already - been read completely which rules out requests with large bodies. - - After preventing the client from pipelining, don't signal keep-alive - intentions. When looking at the response headers alone, it previously - wasn't obvious from the client's perspective that no additional responses - should be expected. - - Stop considering client sockets tainted after receiving a request with body. - It hasn't been necessary for a while now and unnecessarily causes test - failures when using curl's test suite. - - Allow HTTP/1.0 clients to signal interest in keep-alive through the - Proxy-Connection header. While such client are rare in the real world, it - doesn't hurt and couple of curl tests rely on it. - - Only remove duplicated Content-Type headers when filters are enabled. - If they are not it doesn't cause ill effects and the user might not want it. - Downgrade the removal message to LOG_LEVEL_HEADER to clarify that it's not - an error in Privoxy and is unlikely to cause any problems in general. - Anonymously reported in #3599335. - - Set the socket option SO_LINGER for the client socket. - - Move several variable declarations to the beginning of their code block. - It's required when compiling with gcc 2.95 which is still used on some - platforms. Initial patch submitted by Simon South in #3564815. - - Optionally try to sanity-check strptime() results before trusting them. - Broken strptime() implementations have caused problems in the past and - the most recent offender seems to be FreeBSD's libc (standards/173421). - - When filtering is enabled, let Range headers pass if the range starts at - the beginning. This should work around (or at least reduce) the video - playback issues with various Apple clients as reported by Duc in #3426305. - - Do not confuse a client hanging up with a connection time out. If a client - closes its side of the connection without sending a request line, do not - send the CLIENT_CONNECTION_TIMEOUT_RESPONSE, but report the condition - properly. - - Allow closing curly braces as part of action values as long as they are - escaped. - - On Windows, the logfile is now written before showing the GUI error - message which blocks until the user acknowledges it. - Reported by Adriaan in #3593603. - - Remove an unreasonable parameter limit in the CGI interface. The new - parameter limit depends on the memory available and is currently unlikely - to be reachable, due to other limits in both Privoxy and common clients. - Reported by Andrew on ijbswa-users@. - - Decrease the chances of parse failures after requests with unsupported - methods were sent to the CGI interface. - -- Action file improvements: - - Remove the comment that indicated that updated default.action versions - are released on their own. - - Block 'optimize.indieclick.com/' and 'optimized-by.rubiconproject.com/' - - Unblock 'adjamblog.wordpress.com/' and 'adjamblog.files.wordpress.com/'. - Reported by Ryan Farmer in #3496116. - - Unblock '/.*Bugtracker'. Reported by pwhk in #3522341. - - Add test URLs for '.freebsd.org' and '.watson.org'. - - Unblock '.urbandictionary.com/popular'. - - Block '.adnxs.com/'. - - Block 'farm.plista.com/widgetdata.php'. - - Block 'rotation.linuxnewmedia.com/'. - - Block 'reklamy.sfd.pl/'. Reported by kacperdominik in #3399948. - - Block 'g.adspeed.net/'. - - Unblock 'websupport.wdc.com/'. Reported by Adam Piggot in #3577851. - - Block '/openx/www/delivery/'. - - Disable fast-redirects for '.googleapis.com/'. - - Block 'imp.double.net/'. Reported by David Bo in #3070411. - - Block 'gm-link.com/' which is used for email tracking. - Reported by David Bo in #1812733. - - Verify that requests to "bwp." are blocked. URL taken from #1736879 - submitted by Francois Marier. - - Block '/.*bannerid='. Reported by Adam Piggott in #2975779. - - Block 'cltomedia.info/delivery/' and '.adexprt.com/'. - Anonymously reported in #2965254. - - Block 'de17a.com/'. Reported by David Bo in #3061472. - - Block 'oskar.tradera.com/'. Reported by David Bo in #3060596. - - Block '/scripts/webtrends\.js'. Reported by johnd16 in #3002729. - - Block requests for 'pool.*.adhese.com/'. Reported by johnd16 in #3002716. - - Update path pattern for Coremetrics and add tests. - Pattern and URLs submitted by Adam Piggott #3168443. - - Enable +fast-redirects{check-decoded-url} for 'tr.anp.se/'. - Reported by David Bo in #3268832. - - Unblock '.conrad.se/newsletter/banners/'. Reported by David Bo in #3413824. - - Block '.tynt.com/'. Reported by Dan Stahlke in #3421767. - - Unblock '.bbci.co.uk/radio/'. Reported by Adam Piggott in #3569603. - - Block requests to 'service.maxymiser.net/'. - Reported by johnd16 in #3118401 (with a previous URL). - - Disable fast-redirects for Google's "let's pretend your computer is - infected" page. - - Unblock '/.*download' to resolve actionsfile feedback #3498129. - Submitted by Steven Kolins (soundcloud.com not working). - - Unblock '.wlxrs.com/' which is required by hotmail.com. - Fixes #3413827 submitted by David Bo. - - Add two unblock patterns for popup radio and TV players. - Submitted by Adam Piggott in #3596089. - -- Filter file improvements & bug fixes: - - Add a referer tagger. - - Reduce the likelihood that the google filter messes up HTML-generating - JavaScript. Reported by Zeno Kugy in #3520260. - -- Documentation improvements: - - Revised all OS X sections due to new packaging module (OSXPackageBuilder). - - Update the list of supported operating systems to clarify that all Windows - versions after 95 are expected to work and note that the platform-specific - code for AmigaOS and QNX currently isn't maintained. - - Update 'Signals' section, the only explicitly handled signals are SIGINT, - SIGTERM and SIGHUP. - - Add Haiku to the list of operating systems on which Privoxy is known to - run. - - Add DragonFly to the list of BSDs on which Privoxy is known to run. - - Removed references to redhat-specific documentation set since it no longer - exists. - - Removed references to building PDFs since we no longer do so. - - Multiple listen-address directives are supported since 3.0.18, correct the - documentation to say so. - - Remove bogus section about long and short being preferable to int. - - Corrected some Internet JunkBuster references to Privoxy. - - Removed references to www.junkbusters.com since it is no longer - maintained. Reported by Angelina Matson. - - Various grammar and spelling corrections - - Add a client-header-tagger{} example for disabling filtering for range - requests. - - Correct a URL in the "Privoxy with Tor" FAQ. - - Spell 'refresh-tags' correctly. Reported by Don in #3571927. - - Sort manpage options alphabetically. - - Remove an incorrect sentence in the toggle section. The toggle state - doesn't affect whether or not the Windows version uses the tray icon. - Reported by Zeno Kugy in #3596395. - - Add new contributors since 3.0.19. - -- Log message improvements: - - When stopping to watch a client socket due to pipelining, additionally log - the socket number. - - Log the client socket and its condition before closing it. This makes it - more obvious that the socket actually gets closed and should help when - diagnosing problems like #3464439. - - In case of SOCKS5 failures, do not explicitly log the server's response. - It hasn't helped so far and the response can already be logged by enabling - "debug 32768" anyway. This reverts v1.81 and the follow-up bug fix v1.84. - - Relocate the connection-accepted message from listen_loop() to serve(). - This way it's printed by the thread that is actually serving the - connection which is nice when grepping for thread ids in log files. - -- Code cleanups: - - Remove compatibility layer for versions prior to 3.0 since it has been - obsolete for more than 10 years now. - - Remove the ijb_isupper() and ijb_tolower() macros from parsers.c since - they aren't used in this file. - - Removed the 'Functions declared include:' comment sections since they tend - to be incomplete, incorrect and out of date and the benefit seems - questionable. - - Various comment grammar and comprehensibility improvements. - - Remove a pointless fflush() call in chat(). Flushing all streams pretty - much all the time for no obvious reason is ridiculous. - - Relocate ijb_isupper()'s definition to project.h and get the ijb_tolower() - definition from there, too. - - Relocate ijb_isdigit()'s definition to project.h. - - Rename ijb_foo macros to privoxy_foo. - - Add malloc_or_die() which will allow to simplify code paths where malloc() - failures don't need to be handled gracefully. - - Add strdup_or_die() which will allow to simplify code paths where strdup() - failures don't need to be handled gracefully. - - Replace strdup() calls with strdup_or_die() calls where it's safe and - simplifies the code. - - Fix white-space around parentheses. - - Add missing white-space behind if's and the following parentheses. - - Unwrap a memcpy() call in resolve_hostname_to_ip(). - - Declare pcrs_get_delimiter()'s delimiters[] static const. - - Various optimisations to remove dead code and merge inefficient code - structures for improved clarity, performance or code compactness. - - Various data type corrections. - - Change visibility of several code segments when compiling without - FEATURE_CONNECTION_KEEP_ALIVE enabled for clarity. - - In pcrs_get_delimiter(), do not use delimiters outside the ASCII range. - Fixes a clang complaint. - - Fix an error message in get_last_url() nobody is supposed to see. - Reported by Matthew Fischer in #3507301. - - Fix a typo in the no-zlib-support complaint. Patch submitted by Matthew - Fischer in #3507304. - - Shorten ssplit()'s prototype by removing the last two arguments. We always - want to skip empty fields and ignore leading delimiters, so having - parameters for this only complicates the API. - - Use an enum for the type of the action value. - - Rename action_name's member takes_value to value_type as it isn't used as - boolean. - - Turn family mismatches in match_sockaddr() into fatal errors. - - Let enlist_unique_header() verify that the caller didn't pass a header - containing either \r or \n. - - Change the hashes used in load_config() to unsigned int. That's what - hash_string() actually returns and using a potentially larger type - is at best useless. - - Use privoxy_tolower() instead of vanilla tolower() with manual casting of - the argument. - - Catch ssplit() failures in parse_cgi_parameters(). - -- Privoxy-Regression-Test: - - Add an 'Overwrite condition' directive to skip any matching tests before - it. As it has a global scope, using it is more convenient than clowning - around with the Ignore directive. - - Log to STDOUT instead of STDERR. - - Include the Privoxy version in the output. - - Various grammar and spelling corrections in documentation and code. - - Additional tests for range requests with filtering enabled. - - Tests with mostly invalid range request. - - Add a couple of hide-if-modified-since{} tests with different date formats. - - Cleaned up the format of the regression-tests.action file to match the - format of default.action. - - Remove the "Copyright" line from print_version(). When using --help, every - line of screen space matters and thus shouldn't be wasted on things the - user doesn't care about. - -- Privoxy-Log-Parser: - - Improve the --statistics performance by skipping sanity checks for input - that shouldn't affect the results anyway. Add a --strict-checks option - that enables some of the checks again, just in case anybody cares. - - The distribution of client requests per connection is included in - the --statistic output. - - The --accept-unknown-messages option has been removed and the behavior - is now the default. - - Accept and (mostly) highlight new log messages introduced with - Privoxy 3.0.20. - -- uagen: - - Bump generated Firefox version to 17. - -- GNUmakefile improvements: - - The dok-tidy target no longer taints documents with a tidy-mark - - Change RA_MODE from 0664 to 0644. Suggested by Markus Dittrich in - #3505445. - - Remove tidy's clean flag as it changes the scope of attributes. - Link-specific colors end up being applied to all text. Reported by Adam - Piggott in #3569551. - - Leave it up to the user whether or not smart tags are inserted. - - Let w3m itself do the line wrapping for the config file. It works better - than fmt as it can honour pre tags causing less unintentional line breaks. - - Ditch a pointless '-r' passed to rm to delete files. - - The config-file target now requires less manual intervention and updates - the original config. - - Change WDUMP to generate ASCII. Add WDUMP_UTF8 to allow UTF-8 in the - AUTHORS file so the names are right. - - Stop pretending that lynx and links are supported for the documentation. - -- configure improvements: - - On Haiku, do not pass -lpthread to the compiler. Haiku's pthreads - implementation is contained in its system library, libroot, so no - additional library needs to be searched. - Patch submitted by Simon South in #3564815. - - Additional Haiku-specific improvements. Disable checks intended for - multi-user systems as Haiku is presently single-user. Group Haiku-specific - settings in their own section, following the pattern for Solaris, OS/2 and - AmigaOS. Add additional library-related settings to remove the need for - providing configure with custom LDFLAGS. - Submitted by Simon South in #3574538. - ------------------------------------------------------------------ -About Privoxy: ------------------------------------------------------------------ - -Privoxy is a non-caching web proxy with advanced filtering capabilities for -enhancing privacy, modifying web page data and HTTP headers, controlling -access, and removing ads and other obnoxious Internet junk. Privoxy has a -flexible configuration and can be customized to suit individual needs and -tastes. It has application for both stand-alone systems and multi-user -networks. - -Privoxy is Free Software and licensed under the GNU GPLv2. - -Privoxy is an associated project of Software in the Public Interest (SPI). - -Helping hands and donations are welcome: - - * http://www.privoxy.org/faq/general.html#PARTICIPATE - - * http://www.privoxy.org/faq/general.html#DONATE - -At present, Privoxy is known to run on Windows 95 and later versions -(98, ME, 2000, XP, Vista, Windows 7 etc.), GNU/Linux (RedHat, SuSE, -Debian, Fedora, Gentoo, Slackware and others), Mac OS X (10.4 and -upwards on PPC and Intel processors), OS/2, Haiku, DragonFly, -FreeBSD, NetBSD, OpenBSD, Solaris, and various other flavors of Unix. - -In addition to the core features of ad blocking and cookie management, -Privoxy provides many supplemental features, that give the end-user -more control, more privacy and more freedom: - - - * Supports "Connection: keep-alive". Outgoing connections can be kept - alive independently from the client. Currently not available on all - platforms. - - * Supports IPv6, provided the operating system does so too, - and the configure script detects it. - - * Supports tagging which allows to change the behaviour based on client - and server headers. - - * Can be run as an "intercepting" proxy, which obviates the need to - configure browsers individually. - - * Sophisticated actions and filters for manipulating both server and - client headers. - - * Can be chained with other proxies. - - * Integrated browser based configuration and control utility at - http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based - tracing of rule and filter effects. Remote toggling. - - * Web page filtering (text replacements, removes banners based on size, - invisible web-bugs and HTML annoyances, etc.) - - * Modularized configuration that allows for standard settings and user - settings to reside in separate files, so that installing updated actions - files won't overwrite individual user settings. - - * Support for Perl Compatible Regular Expressions in the configuration - files, and a more sophisticated and flexible configuration syntax. - - * GIF de-animation. - - * Bypass many click-tracking scripts (avoids script redirection). - - * User-customizable HTML templates for most proxy-generated pages (e.g. - "blocked" page). - - * Auto-detection and re-reading of config file changes. - - * Most features are controllable on a per-site or per-location basis. - - -Download location: - http://sourceforge.net/project/showfiles.php?group_id=11118 - -Home Page: - http://www.privoxy.org/ - - - - Privoxy Developers diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/coding.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/coding.html deleted file mode 100644 index 19bc35e..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/coding.html +++ /dev/null @@ -1,1592 +0,0 @@ - - - - - Coding Guidelines - - - - - - - - - - - -
    -

    4. Coding - Guidelines

    - -
    -

    4.1. Introduction

    - -

    This set of standards is designed to make our lives easier. It is - developed with the simple goal of helping us keep the "new and improved - Privoxy" consistent and reliable. Thus - making maintenance easier and increasing chances of success of the - project.

    - -

    And that of course comes back to us as individuals. If we can - increase our development and product efficiencies then we can solve - more of the request for changes/improvements and in general feel good - about ourselves. ;->

    -
    - -
    -

    4.2. Using Comments

    - -
    -

    4.2.1. Comment, Comment, - Comment

    - -

    Explanation:

    - -

    Comment as much as possible without commenting the obvious. For - example do not comment "variable_a is equal to variable_b". Instead - explain why variable_a should be equal to the variable_b. Just - because a person can read code does not mean they will understand why - or what is being done. A reader may spend a lot more time figuring - out what is going on when a simple comment or explanation would have - prevented the extra research. Please help your fellow Privoxy - developers out!

    - -

    The comments will also help justify the intent of the code. If the - comment describes something different than what the code is doing - then maybe a programming error is occurring.

    - -

    Example:

    - - - - - -
    -
    -/* if page size greater than 1k ... */
    -if (page_length() > 1024)
    -{
    -    ... "block" the page up ...
    -}
    -
    -/* if page size is small, send it in blocks */
    -if (page_length() > 1024)
    -{
    -    ... "block" the page up ...
    -}
    -
    -This demonstrates 2 cases of "what not to do".  The first is a
    -"syntax comment".  The second is a comment that does not fit what
    -is actually being done.
    -
    -
    -
    - -
    -

    4.2.2. Use blocks for - comments

    - -

    Explanation:

    - -

    Comments can help or they can clutter. They help when they are - differentiated from the code they describe. One line comments do not - offer effective separation between the comment and the code. Block - identifiers do, by surrounding the code with a clear, definable - pattern.

    - -

    Example:

    - - - - - -
    -
    -/*********************************************************************
    - * This will stand out clearly in your code!
    - *********************************************************************/
    -if (this_variable == that_variable)
    -{
    -   do_something_very_important();
    -}
    -
    -
    -/* unfortunately, this may not */
    -if (this_variable == that_variable)
    -{
    -   do_something_very_important();
    -}
    -
    -
    -if (this_variable == that_variable) /* this may not either */
    -{
    -   do_something_very_important();
    -}
    -
    -
    - -

    Exception:

    - -

    If you are trying to add a small logic comment and do not wish to - "disrupt" the flow of the code, feel free to use a 1 line comment - which is NOT on the same line as the code.

    -
    - -
    -

    4.2.3. Keep Comments on their - own line

    - -

    Explanation:

    - -

    It goes back to the question of readability. If the comment is on - the same line as the code it will be harder to read than the comment - that is on its own line.

    - -

    There are three exceptions to this rule, which should be violated - freely and often: during the definition of variables, at the end of - closing braces, when used to comment parameters.

    - -

    Example:

    - - - - - -
    -
    -/*********************************************************************
    - * This will stand out clearly in your code,
    - * But the second example won't.
    - *********************************************************************/
    -if (this_variable == this_variable)
    -{
    -   do_something_very_important();
    -}
    -
    -if (this_variable == this_variable) /*can you see me?*/
    -{
    -   do_something_very_important(); /*not easily*/
    -}
    -
    -
    -/*********************************************************************
    - * But, the encouraged exceptions:
    - *********************************************************************/
    -int urls_read     = 0;     /* # of urls read + rejected */
    -int urls_rejected = 0;     /* # of urls rejected */
    -
    -if (1 == X)
    -{
    -   do_something_very_important();
    -}
    -
    -
    -short do_something_very_important(
    -   short firstparam,   /* represents something */
    -   short nextparam     /* represents something else */ )
    -{
    -   ...code here...
    -
    -}   /* -END- do_something_very_important */
    -
    -
    -
    - -
    -

    4.2.4. Comment each logical - step

    - -

    Explanation:

    - -

    Logical steps should be commented to help others follow the intent - of the written code and comments will make the code more - readable.

    - -

    If you have 25 lines of code without a comment, you should - probably go back into it to see where you forgot to put one.

    - -

    Most "for", "while", "do", etc... loops _probably_ need a comment. - After all, these are usually major logic containers.

    -
    - -
    -

    4.2.5. Comment All Functions - Thoroughly

    - -

    Explanation:

    - -

    A reader of the code should be able to look at the comments just - prior to the beginning of a function and discern the reason for its - existence and the consequences of using it. The reader should not - have to read through the code to determine if a given function is - safe for a desired use. The proper information thoroughly presented - at the introduction of a function not only saves time for subsequent - maintenance or debugging, it more importantly aids in code reuse by - allowing a user to determine the safety and applicability of any - function for the problem at hand. As a result of such benefits, all - functions should contain the information presented in the addendum - section of this document.

    -
    - -
    -

    4.2.6. Comment at the end of - braces if the content is more than one screen length

    - -

    Explanation:

    - -

    Each closing brace should be followed on the same line by a - comment that describes the origination of the brace if the original - brace is off of the screen, or otherwise far away from the closing - brace. This will simplify the debugging, maintenance, and readability - of the code.

    - -

    As a suggestion , use the following flags to make the comment and - its brace more readable:

    - -

    use following a closing brace: } /* -END- if() or while () or - etc... */

    - -

    Example:

    - - - - - -
    -
    -if (1 == X)
    -{
    -   do_something_very_important();
    -   ...some long list of commands...
    -} /* -END- if x is 1 */
    -
    -or:
    -
    -if (1 == X)
    -{
    -   do_something_very_important();
    -   ...some long list of commands...
    -} /* -END- if (1 == X) */
    -
    -
    -
    -
    - -
    -

    4.3. Naming Conventions

    - -
    -

    4.3.1. Variable - Names

    - -

    Explanation:

    - -

    Use all lowercase, and separate words via an underscore ('_'). Do - not start an identifier with an underscore. (ANSI C reserves these - for use by the compiler and system headers.) Do not use identifiers - which are reserved in ANSI C++. (E.g. template, class, true, false, - ...). This is in case we ever decide to port Privoxy to C++.

    - -

    Example:

    - - - - - -
    -
    -int ms_iis5_hack = 0;
    -
    -
    - -

    Instead - of:

    - - - - - -
    -
    -int msiis5hack = 0; int msIis5Hack = 0;
    -
    -
    -
    - -
    -

    4.3.2. Function - Names

    - -

    Explanation:

    - -

    Use all lowercase, and separate words via an underscore ('_'). Do - not start an identifier with an underscore. (ANSI C reserves these - for use by the compiler and system headers.) Do not use identifiers - which are reserved in ANSI C++. (E.g. template, class, true, false, - ...). This is in case we ever decide to port Privoxy to C++.

    - -

    Example:

    - - - - - -
    -
    -int load_some_file(struct client_state *csp)
    -
    -
    - -

    Instead - of:

    - - - - - -
    -
    -int loadsomefile(struct client_state *csp)
    -int loadSomeFile(struct client_state *csp)
    -
    -
    -
    - -
    -

    4.3.3. Header file - prototypes

    - -

    Explanation:

    - -

    Use a descriptive parameter name in the function prototype in - header files. Use the same parameter name in the header file that you - use in the c file.

    - -

    Example:

    - - - - - -
    -
    -(.h) extern int load_aclfile(struct client_state *csp);
    -(.c) int load_aclfile(struct client_state *csp)
    -
    -
    - -

    Instead - of:

    - - - - - -
    -
    -(.h) extern int load_aclfile(struct client_state *); or
    -(.h) extern int load_aclfile();
    -(.c) int load_aclfile(struct client_state *csp)
    -
    -
    -
    - -
    -

    4.3.4. Enumerations, and - #defines

    - -

    Explanation:

    - -

    Use all capital letters, with underscores between words. Do not - start an identifier with an underscore. (ANSI C reserves these for - use by the compiler and system headers.)

    - -

    Example:

    - - - - - -
    -
    -(enumeration) : enum Boolean {FALSE, TRUE};
    -(#define) : #define DEFAULT_SIZE 100;
    -
    -
    - -

    Note: We - have a standard naming scheme for #defines that toggle a feature in - the preprocessor: FEATURE_>, where > is a short (preferably 1 - or 2 word) description.

    - -

    Example:

    - - - - - -
    -
    -#define FEATURE_FORCE 1
    -
    -#ifdef FEATURE_FORCE
    -#define FORCE_PREFIX blah
    -#endif /* def FEATURE_FORCE */
    -
    -
    -
    - -
    -

    4.3.5. Constants

    - -

    Explanation:

    - -

    Spell common words out entirely (do not remove vowels).

    - -

    Use only widely-known domain acronyms and abbreviations. - Capitalize all letters of an acronym.

    - -

    Use underscore (_) to separate adjacent acronyms and - abbreviations. Never terminate a name with an underscore.

    - -

    Example:

    - - - - - -
    -
    -#define USE_IMAGE_LIST 1
    -
    -
    - -

    Instead - of:

    - - - - - -
    -
    -#define USE_IMG_LST 1 or
    -#define _USE_IMAGE_LIST 1 or
    -#define USE_IMAGE_LIST_ 1 or
    -#define use_image_list 1 or
    -#define UseImageList 1
    -
    -
    -
    -
    - -
    -

    4.4. Using Space

    - -
    -

    4.4.1. Put braces on a line - by themselves.

    - -

    Explanation:

    - -

    The brace needs to be on a line all by itself, not at the end of - the statement. Curly braces should line up with the construct that - they're associated with. This practice makes it easier to identify - the opening and closing braces for a block.

    - -

    Example:

    - - - - - -
    -
    -if (this == that)
    -{
    -   ...
    -}
    -
    -
    - -

    Instead - of:

    - -

    if (this == that) { ... }

    - -

    or

    - -

    if (this == that) { ... }

    - -

    Note: In the - special case that the if-statement is inside a loop, and it is - trivial, i.e. it tests for a condition that is obvious from the - purpose of the block, one-liners as above may optically preserve the - loop structure and make it easier to read.

    - -

    Status: - developer-discretion.

    - -

    Example - exception:

    - - - - - -
    -
    -while (more lines are read)
    -{
    -   /* Please document what is/is not a comment line here */
    -   if (it's a comment) continue;
    -
    -   do_something(line);
    -}
    -
    -
    -
    - -
    -

    4.4.2. ALL control - statements should have a block

    - -

    Explanation:

    - -

    Using braces to make a block will make your code more readable and - less prone to error. All control statements should have a block - defined.

    - -

    Example:

    - - - - - -
    -
    -if (this == that)
    -{
    -   do_something();
    -   do_something_else();
    -}
    -
    -
    - -

    Instead - of:

    - -

    if (this == that) do_something(); do_something_else();

    - -

    or

    - -

    if (this == that) do_something();

    - -

    Note: The - first example in "Instead of" will execute in a manner other than - that which the developer desired (per indentation). Using code braces - would have prevented this "feature". The "explanation" and - "exception" from the point above also applies.

    -
    - -
    -

    4.4.3. Do not - belabor/blow-up boolean expressions

    - -

    Example:

    - - - - - -
    -
    -structure->flag = (condition);
    -
    -
    - -

    Instead - of:

    - -

    if (condition) { structure->flag = 1; } else { - structure->flag = 0; }

    - -

    Note: The - former is readable and concise. The later is wordy and inefficient. - Please assume that any developer new to the project has at least a - "good" knowledge of C/C++. (Hope I do not offend by that last comment - ... 8-)

    -
    - -
    -

    4.4.4. Use white space - freely because it is free

    - -

    Explanation:

    - -

    Make it readable. The notable exception to using white space - freely is listed in the next guideline.

    - -

    Example:

    - - - - - -
    -
    -int first_value   = 0;
    -int some_value    = 0;
    -int another_value = 0;
    -int this_variable = 0;
    -
    -
    -
    - -
    -

    4.4.5. Don't use white space - around structure operators

    - -

    Explanation:

    - -

    - structure pointer operator ( "->" ) - member operator ( "." ) - - functions and parentheses

    - -

    It is a general coding practice to put pointers, references, and - function parentheses next to names. With spaces, the connection - between the object and variable/function name is not as clear.

    - -

    Example:

    - - - - - -
    -
    -a_struct->a_member;
    -a_struct.a_member;
    -function_name();
    -
    -
    - -

    Instead of: - a_struct -> a_member; a_struct . a_member; function_name ();

    -
    - -
    -

    4.4.6. Make the last brace - of a function stand out

    - -

    Example:

    - - - - - -
    -
    -int function1( ... )
    -{
    -   ...code...
    -   return(ret_code);
    -
    -} /* -END- function1 */
    -
    -
    -int function2( ... )
    -{
    -} /* -END- function2 */
    -
    -
    - -

    Instead - of:

    - -

    int function1( ... ) { ...code... return(ret_code); } int - function2( ... ) { }

    - -

    Note: Use 1 - blank line before the closing brace and 2 lines afterward. This makes - the end of function standout to the most casual viewer. Although - function comments help separate functions, this is still a good - coding practice. In fact, I follow these rules when using blocks in - "for", "while", "do" loops, and long if {} statements too. After all - whitespace is free!

    - -

    Status: - developer-discretion on the number of blank lines. Enforced is the - end of function comments.

    -
    - -
    -

    4.4.7. Use 3 character - indentions

    - -

    Explanation:

    - -

    If some use 8 character TABs and some use 3 character TABs, the - code can look *very* ragged. So use 3 character indentions only. If - you like to use TABs, pass your code through a filter such as "expand - -t3" before checking in your code.

    - -

    Example:

    - - - - - -
    -
    -static const char * const url_code_map[256] =
    -{
    -   NULL, ...
    -};
    -
    -
    -int function1( ... )
    -{
    -   if (1)
    -   {
    -      return ALWAYS_TRUE;
    -   }
    -   else
    -   {
    -      return HOW_DID_YOU_GET_HERE;
    -   }
    -
    -   return NEVER_GETS_HERE;
    -
    -}
    -
    -
    -
    -
    - -
    -

    4.5. Initializing

    - -
    -

    4.5.1. Initialize all - variables

    - -

    Explanation:

    - -

    Do not assume that the variables declared will not be used until - after they have been assigned a value somewhere else in the code. - Remove the chance of accidentally using an unassigned variable.

    - -

    Example:

    - - - - - -
    -
    -short a_short = 0;
    -float a_float  = 0;
    -struct *ptr = NULL;
    -
    -
    - -

    Note: It is - much easier to debug a SIGSEGV if the message says you are trying to - access memory address 00000000 and not 129FA012; or array_ptr[20] - causes a SIGSEV vs. array_ptr[0].

    - -

    Status: - developer-discretion if and only if the variable is assigned a value - "shortly after" declaration.

    -
    -
    - -
    -

    4.6. Functions

    - -
    -

    4.6.1. Name functions that - return a boolean as a question.

    - -

    Explanation:

    - -

    Value should be phrased as a question that would logically be - answered as a true or false statement

    - -

    Example:

    - - - - - -
    -
    -should_we_block_this();
    -contains_an_image();
    -is_web_page_blank();
    -
    -
    -
    - -
    -

    4.6.2. Always specify a - return type for a function.

    - -

    Explanation:

    - -

    The default return for a function is an int. To avoid ambiguity, - create a return for a function when the return has a purpose, and - create a void return type if the function does not need to return - anything.

    -
    - -
    -

    4.6.3. Minimize function - calls when iterating by using variables

    - -

    Explanation:

    - -

    It is easy to write the following code, and a clear argument can - be made that the code is easy to understand:

    - -

    Example:

    - - - - - -
    -
    -for (size_t cnt = 0; cnt < block_list_length(); cnt++)
    -{
    -   ....
    -}
    -
    -
    - -

    Note: - Unfortunately, this makes a function call for each and every - iteration. This increases the overhead in the program, because the - compiler has to look up the function each time, call it, and return a - value. Depending on what occurs in the block_list_length() call, it - might even be creating and destroying structures with each iteration, - even though in each case it is comparing "cnt" to the same value, - over and over. Remember too - even a call to block_list_length() is a - function call, with the same overhead.

    - -

    Instead of using a function call during the iterations, assign the - value to a variable, and evaluate using the variable.

    - -

    Example:

    - - - - - -
    -
    -size_t len = block_list_length();
    -
    -for (size_t cnt = 0; cnt < len; cnt++)
    -{
    -   ....
    -}
    -
    -
    - -

    Exceptions: - if the value of block_list_length() *may* change or could - *potentially* change, then you must code the function call in the - for/while loop.

    -
    - -
    -

    4.6.4. Pass and Return by - Const Reference

    - -

    Explanation:

    - -

    This allows a developer to define a const pointer and call your - function. If your function does not have the const keyword, we may - not be able to use your function. Consider strcmp, if it were defined - as: extern int strcmp(char *s1, char *s2);

    - -

    I could then not use it to compare argv's in main: int main(int - argc, const char *argv[]) { strcmp(argv[0], "privoxy"); }

    - -

    Both these pointers are *const*! If the c runtime library - maintainers do it, we should too.

    -
    - -
    -

    4.6.5. Pass and Return by - Value

    - -

    Explanation:

    - -

    Most structures cannot fit onto a normal stack entry (i.e. they - are not 4 bytes or less). Aka, a function declaration like: int - load_aclfile(struct client_state csp)

    - -

    would not work. So, to be consistent, we should declare all - prototypes with "pass by value": int load_aclfile(struct client_state - *csp)

    -
    - -
    -

    4.6.6. Names of include - files

    - -

    Explanation:

    - -

    Your include statements should contain the file name without a - path. The path should be listed in the Makefile, using -I as - processor directive to search the indicated paths. An exception to - this would be for some proprietary software that utilizes a partial - path to distinguish their header files from system or other header - files.

    - -

    Example:

    - - - - - -
    -
    -#include <iostream.h>     /* This is not a local include */
    -#include "config.h"       /* This IS a local include */
    -
    -
    - -

    Exception:

    - - - - - -
    -
    -/* This is not a local include, but requires a path element. */
    -#include <sys/fileName.h>
    -
    -
    - -

    Note: - Please! do not add "-I." to the Makefile without a _very_ good - reason. This duplicates the #include "file.h" behavior.

    -
    - -
    -

    4.6.7. Provide multiple - inclusion protection

    - -

    Explanation:

    - -

    Prevents compiler and linker errors resulting from redefinition of - items.

    - -

    Wrap each header file with the following syntax to prevent - multiple inclusions of the file. Of course, replace PROJECT_H with - your file name, with "." Changed to "_", and make it uppercase.

    - -

    Example:

    - - - - - -
    -
    -#ifndef PROJECT_H_INCLUDED
    -#define PROJECT_H_INCLUDED
    - ...
    -#endif /* ndef PROJECT_H_INCLUDED */
    -
    -
    -
    - -
    -

    4.6.8. Use `extern "C"` when - appropriate

    - -

    Explanation:

    - -

    If our headers are included from C++, they must declare our - functions as `extern "C"`. This has no cost in C, but increases the - potential re-usability of our code.

    - -

    Example:

    - - - - - -
    -
    -#ifdef __cplusplus
    -extern "C"
    -{
    -#endif /* def __cplusplus */
    -
    -... function definitions here ...
    -
    -#ifdef __cplusplus
    -}
    -#endif /* def __cplusplus */
    -
    -
    -
    - -
    -

    4.6.9. Where Possible, Use - Forward Struct Declaration Instead of Includes

    - -

    Explanation:

    - -

    Useful in headers that include pointers to other struct's. - Modifications to excess header files may cause needless compiles.

    - -

    Example:

    - - - - - -
    -
    -/*********************************************************************
    - * We're avoiding an include statement here!
    - *********************************************************************/
    -struct file_list;
    -extern file_list *xyz;
    -
    -
    - -

    Note: If you - declare "file_list xyz;" (without the pointer), then including the - proper header file is necessary. If you only want to prototype a - pointer, however, the header file is unnecessary.

    - -

    Status: Use - with discretion.

    -
    -
    - -
    -

    4.7. General Coding - Practices

    - -
    -

    4.7.1. Turn on - warnings

    - -

    Explanation

    - -

    Compiler warnings are meant to help you find bugs. You should turn - on as many as possible. With GCC, the switch is "-Wall". Try and fix - as many warnings as possible.

    -
    - -
    -

    4.7.2. Provide a default - case for all switch statements

    - -

    Explanation:

    - -

    What you think is guaranteed is never really guaranteed. The value - that you don't think you need to check is the one that someday will - be passed. So, to protect yourself from the unknown, always have a - default step in a switch statement.

    - -

    Example:

    - - - - - -
    -
    -switch (hash_string(cmd))
    -{
    -   case hash_actions_file:
    -      ... code ...
    -      break;
    -
    -   case hash_confdir:
    -      ... code ...
    -      break;
    -
    -   default:
    -      log_error( ... );
    -      ... anomaly code goes here ...
    -      continue; / break; / exit( 1 ); / etc ...
    -
    -} /* end switch (hash_string(cmd)) */
    -
    -
    - -

    Note: If you - already have a default condition, you are obviously exempt from this - point. Of note, most of the WIN32 code calls `DefWindowProc' after - the switch statement. This API call *should* be included in a default - statement.

    - -

    Another - Note: This is not so much a readability issue as a robust - programming issue. The "anomaly code goes here" may be no more than a - print to the STDERR stream (as in load_config). Or it may really be - an abort condition.

    - -

    Status: - Programmer discretion is advised.

    -
    - -
    -

    4.7.3. Try to avoid falling - through cases in a switch statement.

    - -

    Explanation:

    - -

    In general, you will want to have a 'break' statement within each - 'case' of a switch statement. This allows for the code to be more - readable and understandable, and furthermore can prevent unwanted - surprises if someone else later gets creative and moves the code - around.

    - -

    The language allows you to plan the fall through from one case - statement to another simply by omitting the break statement within - the case statement. This feature does have benefits, but should only - be used in rare cases. In general, use a break statement for each - case statement.

    - -

    If you choose to allow fall through, you should comment both the - fact of the fall through and reason why you felt it was - necessary.

    -
    - -
    -

    4.7.4. Don't mix size_t and - other types

    - -

    Explanation:

    - -

    The type of size_t varies across platforms. Do not make - assumptions about whether it is signed or unsigned, or about how long - it is. Do not compare a size_t against another variable of a - different type (or even against a constant) without casting one of - the values.

    -
    - -
    -

    4.7.5. Declare each variable - and struct on its own line.

    - -

    Explanation:

    - -

    It can be tempting to declare a series of variables all on one - line. Don't.

    - -

    Example:

    - - - - - -
    -
    -long a = 0;
    -long b = 0;
    -long c = 0;
    -
    -
    - -

    Instead - of:

    - -

    long a, b, c;

    - -

    Explanation: - - there is more room for comments on the individual variables - - easier to add new variables without messing up the original ones - - when searching on a variable to find its type, there is less clutter - to "visually" eliminate

    - -

    Exceptions: - when you want to declare a bunch of loop variables or other trivial - variables; feel free to declare them on one line. You should, - although, provide a good comment on their functions.

    - -

    Status: - developer-discretion.

    -
    - -
    -

    4.7.6. Use malloc/zalloc - sparingly

    - -

    Explanation:

    - -

    Create a local struct (on the stack) if the variable will live and - die within the context of one function call.

    - -

    Only "malloc" a struct (on the heap) if the variable's life will - extend beyond the context of one function call.

    - -

    Example:

    - - - - - -
    -
    -If a function creates a struct and stores a pointer to it in a
    -list, then it should definitely be allocated via `malloc'.
    -
    -
    -
    - -
    -

    4.7.7. The Programmer Who - Uses 'malloc' is Responsible for Ensuring 'free'

    - -

    Explanation:

    - -

    If you have to "malloc" an instance, you are responsible for - insuring that the instance is `free'd, even if the deallocation event - falls within some other programmer's code. You are also responsible - for ensuring that deletion is timely (i.e. not too soon, not too - late). This is known as "low-coupling" and is a "good thing (tm)". - You may need to offer a free/unload/destructor type function to - accommodate this.

    - -

    Example:

    - - - - - -
    -
    -int load_re_filterfile(struct client_state *csp) { ... }
    -static void unload_re_filterfile(void *f) { ... }
    -
    -
    - -

    Exceptions:

    - -

    The developer cannot be expected to provide `free'ing functions - for C run-time library functions ... such as `strdup'.

    - -

    Status: - developer-discretion. The "main" use of this standard is for - allocating and freeing data structures (complex or nested).

    -
    - -
    -

    4.7.8. Add loaders to the - `file_list' structure and in order

    - -

    Explanation:

    - -

    I have ordered all of the "blocker" file code to be in alpha - order. It is easier to add/read new blockers when you expect a - certain order.

    - -

    Note: It may - appear that the alpha order is broken in places by POPUP tests coming - before PCRS tests. But since POPUPs can also be referred to as - KILLPOPUPs, it is clear that it should come first.

    -
    - -
    -

    4.7.9. "Uncertain" new code - and/or changes to existing code, use XXX

    - -

    Explanation:

    - -

    If you have enough confidence in new code or confidence in your - changes, but are not *quite* sure of the repercussions, add this:

    - -

    /* XXX: this code has a logic error on platform XYZ, * attempting - to fix */ #ifdef PLATFORM ...changed code here... #endif

    - -

    or:

    - -

    /* XXX: I think the original author really meant this... */ - ...changed code here...

    - -

    or:

    - -

    /* XXX: new code that *may* break something else... */ ...new code - here...

    - -

    Note: If you - make it clear that this may or may not be a "good thing (tm)", it - will be easier to identify and include in the project (or conversely - exclude from the project).

    -
    -
    - -
    -

    4.8. Addendum: Template for - files and function comment blocks:

    - -

    Example for file - comments:

    - - - - - -
    -
    -const char FILENAME_rcs[] = "$I<!-- Break CVS Substitution -->d$";
    -/*********************************************************************
    - *
    - * File        :  $S<!-- Break CVS Substitution -->ource$
    - *
    - * Purpose     :  (Fill me in with a good description!)
    - *
    - * Copyright   :  Written by and Copyright (C) 2001-2009
    - *                the Privoxy team. http://www.privoxy.org/
    - *
    - *                This program is free software; you can redistribute it
    - *                and/or modify it under the terms of the GNU General
    - *                Public License as published by the Free Software
    - *                Foundation; either version 2 of the License, or (at
    - *                your option) any later version.
    - *
    - *                This program is distributed in the hope that it will
    - *                be useful, but WITHOUT ANY WARRANTY; without even the
    - *                implied warranty of MERCHANTABILITY or FITNESS FOR A
    - *                PARTICULAR PURPOSE.  See the GNU General Public
    - *                License for more details.
    - *
    - *                The GNU General Public License should be included with
    - *                this file.  If not, you can view it at
    - *                http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    - *                or write to the Free Software Foundation, Inc.,
    - *                51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
    - *                USA
    - *
    - *********************************************************************/
    -
    -
    -#include "config.h"
    -
    -   ...necessary include files for us to do our work...
    -
    -const char FILENAME_h_rcs[] = FILENAME_H_VERSION;
    -
    -
    - -

    Note: This - declares the rcs variables that should be added to the - "show-proxy-args" page. If this is a brand new creation by you, you are - free to change the "Copyright" section to represent the rights you wish - to maintain.

    - -

    Note: The - formfeed character that is present right after the comment flower box - is handy for (X|GNU)Emacs users to skip the verbiage and get to the - heart of the code (via `forward-page' and `backward-page'). Please - include it if you can.

    - -

    Example for file header - comments:

    - - - - - -
    -
    -#ifndef _FILENAME_H
    -#define _FILENAME_H
    -#define FILENAME_H_VERSION "$I<!-- Break CVS Substitution -->d$"
    -/*********************************************************************
    - *
    - * File        :  $S<!-- Break CVS Substitution -->ource$
    - *
    - * Purpose     :  (Fill me in with a good description!)
    - *
    - * Copyright   :  Written by and Copyright (C) 2001-2009
    - *                the Privoxy team. http://www.privoxy.org/
    - *
    - *                This program is free software; you can redistribute it
    - *                and/or modify it under the terms of the GNU General
    - *                Public License as published by the Free Software
    - *                Foundation; either version 2 of the License, or (at
    - *                your option) any later version.
    - *
    - *                This program is distributed in the hope that it will
    - *                be useful, but WITHOUT ANY WARRANTY; without even the
    - *                implied warranty of MERCHANTABILITY or FITNESS FOR A
    - *                PARTICULAR PURPOSE.  See the GNU General Public
    - *                License for more details.
    - *
    - *                The GNU General Public License should be included with
    - *                this file.  If not, you can view it at
    - *                http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    - *                or write to the Free Software Foundation, Inc.,
    - *                51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
    - *                USA
    - *
    - *********************************************************************/
    -
    -
    -#include "project.h"
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -   ... function headers here ...
    -
    -
    -/* Revision control strings from this header and associated .c file */
    -extern const char FILENAME_rcs[];
    -extern const char FILENAME_h_rcs[];
    -
    -
    -#ifdef __cplusplus
    -} /* extern "C" */
    -#endif
    -
    -#endif /* ndef _FILENAME_H */
    -
    -/*
    -  Local Variables:
    -  tab-width: 3
    -  end:
    -*/
    -
    -
    - -

    Example for function - comments:

    - - - - - -
    -
    -/*********************************************************************
    - *
    - * Function    :  FUNCTION_NAME
    - *
    - * Description :  (Fill me in with a good description!)
    - *
    - * parameters  :
    - *          1  :  param1 = pointer to an important thing
    - *          2  :  x      = pointer to something else
    - *
    - * Returns     :  0 => Ok, everything else is an error.
    - *
    - *********************************************************************/
    -int FUNCTION_NAME(void *param1, const char *x)
    -{
    -   ...
    -   return 0;
    -
    -}
    -
    -
    - -

    Note: If we - all follow this practice, we should be able to parse our code to create - a "self-documenting" web page.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/cvs.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/cvs.html deleted file mode 100644 index f455e0a..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/cvs.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - The CVS Repository - - - - - - - - - - - -
    -

    2. The CVS Repository

    - -

    If you become part of the active development team, you will eventually - need write access to our holy grail, the CVS repository. One of the team - members will need to set this up for you. Please read this chapter - completely before accessing via CVS.

    - -
    -

    2.1. Access to - CVS

    - -

    The project's CVS repository is hosted on SourceForge. Please refer - to the chapters 6 and 7 in SF's site - documentation for the technical access details for your operating - system. For historical reasons, the CVS server is called ijbswa.cvs.sourceforge.net, the repository is called - ijbswa, and the source tree module is called - current.

    -
    - -
    -

    2.2. - Branches

    - -

    Within the CVS repository, there are modules and branches. As - mentioned, the sources are in the current - "module". Other modules are present for - platform specific issues. There is a webview of the CVS hierarchy at - http://ijbswa.cvs.sourceforge.net/ijbswa/, which might help - with visualizing how these pieces fit together.

    - -

    At one time there were two distinct branches: stable and unstable. - The more drastic changes were to be in the unstable branch. These - branches have now been merged to minimize time and effort of - maintaining two branches.

    -
    - -
    -

    2.3. CVS Commit - Guidelines

    - -

    The source tree is the heart of every software project. Every effort - must be made to ensure that it is readable, compilable and consistent - at all times. We expect anyone with CVS access to strictly adhere to - the following guidelines:

    - -

    Basic Guidelines, for all branches:

    - -
      -
    • -

      Please don't commit even a small change without testing it - thoroughly first. When we're close to a public release, ask a - fellow developer to review your changes.

      -
    • - -
    • -

      Your commit message should give a concise overview of - what you - changed (no big details) and why you changed it Just - check previous messages for good examples.

      -
    • - -
    • -

      Don't use the same message on multiple files, unless it equally - applies to all those files.

      -
    • - -
    • -

      If your changes span multiple files, and the code won't - recompile unless all changes are committed (e.g. when changing the - signature of a function), then commit all files one after another, - without long delays in between. If necessary, prepare the commit - messages in advance.

      -
    • - -
    • -

      Before changing things on CVS, make sure that your changes are - in line with the team's general consensus on what should be - done.

      -
    • - -
    • -

      Note that near a major public release, we get more cautious. - There is always the possibility to submit a patch to the patch tracker instead.

      -
    • -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/documentation.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/documentation.html deleted file mode 100644 index 79076c0..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/documentation.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - - Documentation Guidelines - - - - - - - - - - - -
    -

    3. - Documentation Guidelines

    - -

    All formal documents are maintained in Docbook SGML and located in the - doc/source/* directory. You will need - Docbook, the Docbook - DTD's and the Docbook modular stylesheets (or comparable alternatives), - and either jade or openjade (recommended) installed in order to build - docs from source. Currently there is user-manual, FAQ, and, - of course this, the developer-manual in this - format. The README, AUTHORS, INSTALL, privoxy.1 (man page), and config - files are also now maintained as Docbook SGML. These files, when built, - in the top-level source directory are generated files! Also, the - Privoxy index.html (and a variation on this file, privoxy-index.html, meant for inclusion with doc - packages), are maintained as SGML as well. DO NOT edit these directly. - Edit the SGML source, or contact someone involved in the - documentation.

    - -

    config requires some special handling. The - reason it is maintained this way is so that the extensive comments in the - file mirror those in user-manual. But the - conversion process requires going from SGML to HTML to text to special - formatting required for the embedded comments. Some of this does not - survive so well. Especially some of the examples that are longer than 80 - characters. The build process for this file outputs to config.new, which should be reviewed for errors and - mis-formatting. Once satisfied that it is correct, then it should be hand - copied to config.

    - -

    Other, less formal documents (e.g. LICENSE) - are maintained as plain text files in the top-level source directory.

    - -

    Packagers are encouraged to include this documentation. For those - without the ability to build the docs locally, text versions of each are - kept in CVS. HTML versions are also being kept in CVS under doc/webserver/*.

    - -

    Formal documents are built with the Makefile targets of make dok. The build process uses the document - SGML sources in doc/source/*/* to - update all text files in doc/text/ - and to update all HTML documents in doc/webserver/.

    - -

    Documentation writers should please make sure documents build - successfully before committing to CVS, if possible.

    - -

    How do you update the webserver (i.e. the pages on privoxy.org)?

    - -
      -
    1. -

      First, build the docs by running make - dok.

      -
    2. - -
    3. -

      Run make webserver which - copies all files from doc/webserver to the sourceforge webserver - via scp.

      -
    4. -
    - -

    Finished docs should be occasionally submitted to CVS (doc/webserver/*/*.html) so that those without the ability - to build them locally, have access to them if needed. This is especially - important just prior to a new release! Please do this after the $VERSION and other release specific data in configure.in has been updated (this is done just prior to - a new release).

    - -
    -

    3.1. Quickstart to Docbook - and SGML

    - -

    If you are not familiar with SGML, it is a markup language similar - to HTML. Actually, not a mark up language per se, but a language used - to define markup languages. In fact, HTML is an SGML application. Both - will use "tags" to format text and other - content. SGML tags can be much more varied, and flexible, but do much - of the same kinds of things. The tags, or "elements", are definable in SGML. There is no set - "standards". Since we are using Docbook, our tags are those that are defined by - Docbook. Much of how the finish - document is rendered is determined by the "stylesheets". The stylesheets determine how each tag - gets translated to HTML, or other formats.

    - -

    Tags in Docbook SGML need to be always "closed". If not, you will likely generate errors. - Example: <title>My Title</title>. - They are also case-insensitive, but we strongly suggest using all lower - case. This keeps compatibility with [Docbook] XML.

    - -

    Our documents use "sections" for the most - part. Sections will be processed into HTML headers (e.g. h1 for sect1). The Docbook stylesheets will use these to also - generate the Table of Contents for each doc. Our TOC's are set to a - depth of three. Meaning sect1, sect2, and sect3 will have TOC - entries, but sect4 will not. Each section - requires a <title> element, and at least - one <para>. There is a limit of five - section levels in Docbook, but generally three should be sufficient for - our purposes.

    - -

    Some common elements that you likely will use:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    <para></para>, paragraph - delimiter. Most text needs to be within paragraph elements (there - are some exceptions).
    <emphasis></emphasis>, the - stylesheets make this italics.
    <filename></filename>, files - and directories.
    <command></command>, command - examples.
    <literallayout></literallayout>, - like <pre>, more or less.
    <itemizedlist></itemizedlist>, - list with bullets.
    <listitem></listitem>, member - of the above.
    <screen></screen>, screen - output, implies <literallayout>.
    <ulink - url="example.com"></ulink>, like HTML - <a> tag.
    <quote></quote>, for, doh, - quoting text.
    - -

    Look at any of the existing docs for examples of all these and - more.

    - -

    You might also find "Writing Documentation Using DocBook - A Crash Course" - useful.

    -
    - -
    -

    3.2. Privoxy Documentation Style

    - -

    It will be easier if everyone follows a similar writing style. This - just makes it easier to read what someone else has written if it is all - done in a similar fashion.

    - -

    Here it is:

    - -
      -
    • -

      All tags should be lower case.

      -
    • - -
    • -

      Tags delimiting a block of text (even small blocks) should be - on their own line. Like:

      - -

       <para>
      -   Some text goes here.
      -  </para>
      -        

      Tags marking - individual words, or few words, should be in-line: - -

      -   Just to <emphasis>emphasize</emphasis>, some text goes here.
      - -        

      -
    • - -
    • -

      Tags should be nested and step indented for block text like: - (except in-line tags)

      - -

       <para>
      -   <itemizedlist>
      -    <para>
      -     <listitem>
      -       Some text goes here in our list example.
      - -      </listitem>
      -    </para>
      -   </itemizedlist>
      -  </para>
      -        

      This makes it easier - to find the text amongst the tags ;-) -
    • - -
    • -

      Use white space to separate logical divisions within a document, - like between sections. Running everything together consistently - makes it harder to read and work on.

      -
    • - -
    • -

      Do not hesitate to make comments. Comments can either use the - <comment> element, or the <!-- --> style comment - familiar from HTML. (Note in Docbook v4.x <comment> is - replaced by <remark>.)

      -
    • - -
    • -

      We have an international audience. Refrain from slang, or - English idiosyncrasies (too many to list :). Humor also does not - translate well sometimes.

      -
    • - -
    • -

      Try to keep overall line lengths in source files to 80 - characters or less for obvious reasons. This is not always - possible, with lengthy URLs for instance.

      -
    • - -
    • -

      Our documents are available in differing formats. Right now, - they are just plain text and/or HTML, but others are always a - future possibility. Be careful with URLs (<ulink>), and avoid - this mistake:

      - -

      My favorite site is <ulink - url="http://example.com">here</ulink>.

      - -

      This will render as "My favorite site is - here", which is not real helpful in a text doc. Better like - this:

      - -

      My favorite site is <ulink - url="http://example.com">example.com</ulink>.

      -
    • - -
    • -

      All documents should be spell checked occasionally. aspell can check SGML with the -H option. (ispell - I think too.)

      -
    • -
    -
    - -
    -

    3.3. Privoxy Custom - Entities

    - -

    Privoxy documentation is using a - number of customized "entities" to - facilitate documentation maintenance.

    - -

    We are using a set of "boilerplate" files - with generic text, that is used by multiple docs. This way we can write - something once, and use it repeatedly without having to re-write the - same content over and over again. If editing such a file, keep in mind - that it should be generic. That is the purpose; so it can be used - in varying contexts without additional modifications.

    - -

    We are also using what Docbook - calls "internal entities". These are like - variables in programming. Well, sort of. For instance, we have the - p-version entity that contains the current - Privoxy version string. You are - strongly encouraged to use these where possible. Some of these - obviously require re-setting with each release (done by the Makefile). - A sampling of custom entities are listed below. See any of the main - docs for examples.

    - -
      -
    • -

      Re- "boilerplate" text entities are - defined like:

      - -

      <!entity supported SYSTEM - "supported.sgml">

      - -

      In this example, the contents of the file, supported.sgml is available for inclusion anywhere - in the doc. To make this happen, just reference the now defined - entity: &supported; (starts with an - ampersand and ends with a semi-colon), and the contents will be - dumped into the finished doc at that point.

      -
    • - -
    • -

      Commonly used "internal - entities":

      - - - - - - - - - - - - - - - - - - - - - - - -
      p-version: the Privoxy version string, e.g. - "3.0.21".
      p-status: the project status, either - "alpha", "beta", or "stable".
      p-not-stable: use to conditionally - include text in "not stable" - releases (e.g. "beta").
      p-stable: just the opposite.
      p-text: this doc is only generated as - text.
      -
    • -
    - -

    There are others in various places that are defined for a specific - purpose. Read the source!

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/index.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/index.html deleted file mode 100644 index 604226c..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/index.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - Privoxy Developer Manual - - - - - - - -
    -
    -

    Privoxy Developer - Manual

    - -

    Copyright © 2001-2013 by Privoxy - Developers

    - -

    $Id: developer-manual.sgml,v 2.57 2013/03/01 - 17:44:24 fabiankeil Exp $

    - -
    -
    - - -

    The developer manual provides guidance on coding, testing, - packaging, documentation and other issues of importance to those - involved with Privoxy development. - It is mandatory (and helpful!) reading for anyone who wants to join - the team. Note that it's currently out of date and may not be - entirely correct. As always, patches are welcome.

    - -

    Please note that this document is constantly evolving. This copy - represents the state at the release of version 3.0.21. You can find - the latest version of the this manual at http://www.privoxy.org/developer-manual/. Please have a - look at the contact section in the user manual if you are interested - in contacting the developers.

    -
    -
    -
    -
    - -
    -
    -
    Table of Contents
    - -
    1. Introduction
    - -
    -
    -
    1.1. Quickstart to - Privoxy Development
    -
    -
    - -
    2. The CVS Repository
    - -
    -
    -
    2.1. Access to CVS
    - -
    2.2. Branches
    - -
    2.3. CVS Commit - Guidelines
    -
    -
    - -
    3. Documentation Guidelines
    - -
    -
    -
    3.1. Quickstart to Docbook - and SGML
    - -
    3.2. Privoxy Documentation Style
    - -
    3.3. Privoxy Custom - Entities
    -
    -
    - -
    4. Coding Guidelines
    - -
    -
    -
    4.1. Introduction
    - -
    4.2. Using Comments
    - -
    -
    -
    4.2.1. Comment, Comment, - Comment
    - -
    4.2.2. Use blocks for - comments
    - -
    4.2.3. Keep Comments on their - own line
    - -
    4.2.4. Comment each logical - step
    - -
    4.2.5. Comment All Functions - Thoroughly
    - -
    4.2.6. Comment at the end of - braces if the content is more than one screen length
    -
    -
    - -
    4.3. Naming Conventions
    - -
    -
    -
    4.3.1. Variable Names
    - -
    4.3.2. Function Names
    - -
    4.3.3. Header file - prototypes
    - -
    4.3.4. Enumerations, and - #defines
    - -
    4.3.5. Constants
    -
    -
    - -
    4.4. Using Space
    - -
    -
    -
    4.4.1. Put braces on a line by - themselves.
    - -
    4.4.2. ALL control statements - should have a block
    - -
    4.4.3. Do not belabor/blow-up - boolean expressions
    - -
    4.4.4. Use white space freely - because it is free
    - -
    4.4.5. Don't use white space - around structure operators
    - -
    4.4.6. Make the last brace of a - function stand out
    - -
    4.4.7. Use 3 character - indentions
    -
    -
    - -
    4.5. Initializing
    - -
    -
    -
    4.5.1. Initialize all - variables
    -
    -
    - -
    4.6. Functions
    - -
    -
    -
    4.6.1. Name functions that - return a boolean as a question.
    - -
    4.6.2. Always specify a return - type for a function.
    - -
    4.6.3. Minimize function calls - when iterating by using variables
    - -
    4.6.4. Pass and Return by Const - Reference
    - -
    4.6.5. Pass and Return by - Value
    - -
    4.6.6. Names of include - files
    - -
    4.6.7. Provide multiple - inclusion protection
    - -
    4.6.8. Use `extern "C"` when - appropriate
    - -
    4.6.9. Where Possible, Use - Forward Struct Declaration Instead of Includes
    -
    -
    - -
    4.7. General Coding - Practices
    - -
    -
    -
    4.7.1. Turn on - warnings
    - -
    4.7.2. Provide a default case - for all switch statements
    - -
    4.7.3. Try to avoid falling - through cases in a switch statement.
    - -
    4.7.4. Don't mix size_t and - other types
    - -
    4.7.5. Declare each variable - and struct on its own line.
    - -
    4.7.6. Use malloc/zalloc - sparingly
    - -
    4.7.7. The Programmer Who Uses - 'malloc' is Responsible for Ensuring 'free'
    - -
    4.7.8. Add loaders to the - `file_list' structure and in order
    - -
    4.7.9. "Uncertain" new code - and/or changes to existing code, use XXX
    -
    -
    - -
    4.8. Addendum: Template for files - and function comment blocks:
    -
    -
    - -
    5. Testing Guidelines
    - -
    -
    -
    5.1. Testplan for - releases
    - -
    5.2. Test - reports
    -
    -
    - -
    6. Releasing a New Version
    - -
    -
    -
    6.1. Version - numbers
    - -
    6.2. Before the - Release: Freeze
    - -
    6.3. Building and - Releasing the Packages
    - -
    -
    -
    6.3.1. Note on - Privoxy Packaging
    - -
    6.3.2. Source Tarball
    - -
    6.3.3. SuSE, - Conectiva or Red Hat RPM
    - -
    6.3.4. OS/2
    - -
    6.3.5. Solaris
    - -
    6.3.6. Windows
    - -
    6.3.7. Debian
    - -
    6.3.8. Mac OS - X
    - -
    6.3.9. FreeBSD
    - -
    6.3.10. HP-UX - 11
    - -
    6.3.11. Amiga - OS
    - -
    6.3.12. AIX
    -
    -
    - -
    6.4. Uploading and - Releasing Your Package
    - -
    6.5. After the - Release
    -
    -
    - -
    7. Update the Webserver
    -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/introduction.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/introduction.html deleted file mode 100644 index d92ad40..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/introduction.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - Introduction - - - - - - - - - - - -
    -

    1. - Introduction

    - -

    Privoxy, as an heir to Junkbuster, is a Free Software project and the code - is licensed under the GNU General Public License version 2. As such, - Privoxy development is potentially open - to anyone who has the time, knowledge, and desire to contribute in any - capacity. Our goals are simply to continue the mission, to improve - Privoxy, and to make it available to as - wide an audience as possible.

    - -

    One does not have to be a programmer to contribute. Packaging, - testing, documenting and porting, are all important jobs as well.

    - -
    -

    1.1. Quickstart - to Privoxy Development

    - -

    The first step is to join the developer's mailing list. You can submit your ideas, or even - better patches. Patches are best submitted to the Sourceforge tracker - set up for this purpose, but can be sent to the list for review - too.

    - -

    You will also need to have a cvs package installed, which will - entail having ssh installed as well (which seems to be a requirement of - SourceForge), in order to access the cvs repository. Having the GNU - build tools is also going to be important (particularly, autoconf and - gmake).

    - -

    For the time being (read, this section is under construction), you - can also refer to the extensive comments in the source code. In fact, - reading the code is recommended in any case.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/newrelease.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/newrelease.html deleted file mode 100644 index fb10326..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/newrelease.html +++ /dev/null @@ -1,1155 +0,0 @@ - - - - - Releasing a New Version - - - - - - - - - - - -
    -

    6. Releasing a New - Version

    - -

    When we release versions of Privoxy, - our work leaves our cozy secret lab and has to work in the cold - RealWorld[tm]. Once it is released, there is no way to call it back, so - it is very important that great care is taken to ensure that everything - runs fine, and not to introduce problems in the very last minute.

    - -

    So when releasing a new version, please adhere exactly to the - procedure outlined in this chapter.

    - -

    The following programs are required to follow this process: ncftpput (ncftp), scp, ssh - (ssh), gmake (GNU's version of make), autoconf, - cvs.

    - -
    -

    6.1. - Version numbers

    - -

    First you need to determine which version number the release will - have. Privoxy version numbers consist - of three numbers, separated by dots, like in X.Y.Z (e.g. 3.0.0), - where:

    - -
      -
    • -

      X, the version major, is rarely ever changed. It is increased by - one if turning a development branch into stable substantially - changes the functionality, user interface or configuration syntax. - Majors 1 and 2 were Junkbuster, - and 3 will be the first stable Privoxy release.

      -
    • - -
    • -

      Y, the version minor, represents the branch within the major - version. At any point in time, there are two branches being - maintained: The stable branch, with an even minor, say, 2N, in - which no functionality is being added and only bug-fixes are made, - and 2N+1, the development branch, in which the further development - of Privoxy takes place. This - enables us to turn the code upside down and inside out, while at - the same time providing and maintaining a stable version. The minor - is reset to zero (and one) when the major is incremented. When a - development branch has matured to the point where it can be turned - into stable, the old stable branch 2N is given up (i.e. no longer - maintained), the former development branch 2N+1 becomes the new - stable branch 2N+2, and a new development branch 2N+3 is - opened.

      -
    • - -
    • -

      Z, the point or sub version, represents a release of the - software within a branch. It is therefore incremented immediately - before each code freeze. In development branches, only the even - point versions correspond to actual releases, while the odd ones - denote the evolving state of the sources on CVS in between. It - follows that Z is odd on CVS in development branches most of the - time. There, it gets increased to an even number immediately before - a code freeze, and is increased to an odd number again immediately - thereafter. This ensures that builds from CVS snapshots are easily - distinguished from released versions. The point version is reset to - zero when the minor changes.

      - -

      Stable branches work a little differently, since there should be - little to no development happening in such branches. Remember, only - bugfixes, which presumably should have had some testing before - being committed. Stable branches will then have their version - reported as 0.0.0, during that period - between releases when changes are being added. This is to denote - that this code is not - for release. Then as the release nears, the version is - bumped according: e.g. 3.0.1 -> 0.0.0 -> - 3.0.2.

      -
    • -
    - -

    In summary, the main CVS trunk is the development branch where new - features are being worked on for the next stable series. This should - almost always be where the most activity takes place. There is always - at least one stable branch from the trunk, e.g now it is 3.0, which is only used to release stable versions. Once - the initial *.0 release of the stable branch has been done, then as a - rule, only bugfixes that have had prior testing should be committed to - the stable branch. Once there are enough bugfixes to justify a new - release, the version of this branch is again incremented Example: 3.0.0 - -> 3.0.1 -> 3.0.2, etc are all stable releases from within the - stable branch. 3.1.x is currently the main trunk, and where work on - 3.2.x is taking place. If any questions, please post to the devel list - before committing - to a stable branch!

    - -

    Developers should remember too that if they commit a bugfix to the - stable branch, this will more than likely require a separate submission - to the main trunk, since these are separate development trees within - CVS. If you are working on both, then this would require at least two - separate check outs (i.e main trunk, and the stable release branch, which is - v_3_0_branch at the moment).

    -
    - -
    -

    6.2. - Before the Release: Freeze

    - -

    The following must be - done by one of the developers prior to each new release.

    - -
      -
    • -

      Make sure that everybody who has worked on the code in the last - couple of days has had a chance to yell "no!" in case they have pending changes/fixes in - their pipelines. Announce the freeze so that nobody will interfere - with last minute changes.

      -
    • - -
    • -

      Increment the version number (point from odd to even in - development branches!) in configure.in. - (RPM spec files will need to be incremented as well.)

      -
    • - -
    • -

      If default.action has changed since - last release (i.e. software release or standalone actions file - release), bump up its version info to A.B in this line:

      - - - - - -
      -
      -  {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}
      -
      -
      - -

      Then change the version info in doc/webserver/actions/index.php, - line: '$required_actions_file_version = "A.B";'

      -
    • - -
    • -

      All documentation should be rebuild after the version bump. - Finished docs should be then be committed to CVS (for those without - the ability to build these). Some docs may require rather obscure - processing tools. config, the man page - (and the html version of the man page) fall in this category. - REAMDE, the man page, AUTHORS, and config should all also be - committed to CVS for other packagers. The formal docs should be - uploaded to the webserver. See the Section "Updating the webserver" - in this manual for details.

      -
    • - -
    • -

      The User Manual is also used for - context sensitive help for the CGI editor. This is version - sensitive, so that the user will get appropriate help for his/her - release. So with each release a fresh version should be uploaded to - the webserver (this is in addition to the main User Manual link from the main page since we need - to keep manuals for various versions available). The CGI pages will - link to something like http://privoxy.org/$(VERSION)/user-manual/. This - will need to be updated for each new release. There is no Makefile - target for this at this time!!! It needs to be done manually.

      -
    • - -
    • -

      All developers should look at the ChangeLog and make sure noteworthy changes are - referenced.

      -
    • - -
    • -

      Commit all files that - were changed in the above steps!

      -
    • - -
    • -

      Tag all files in CVS with the version number with "cvs tag v_X_Y_Z". Don't use - vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.

      -
    • - -
    • -

      If the release was in a development branch, increase the point - version from even to odd (X.Y.(Z+1)) again in configure.in and commit your change.

      -
    • - -
    • -

      On the webserver, copy the user manual to a new top-level - directory called X.Y.Z. This ensures that - help links from the CGI pages, which have the version as a prefix, - will go into the right version of the manual. If this is a - development branch release, also symlink X.Y.(Z-1) to X.Y.Z and - X.Y.(Z+1) to . - (i.e. dot).

      -
    • -
    -
    - -
    -

    6.3. Building - and Releasing the Packages

    - -

    Now the individual packages can be built and released. Note that for - GPL reasons the first package to be released is always the source - tarball.

    - -

    For all types - of packages, including the source tarball, you must make sure that you build from - clean sources by exporting the right version from CVS into an empty - directory (just press return when asked for a password):

    - - - - - -
    -
    -  mkdir dist # delete or choose different name if it already exists
    -  cd dist
    -  cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
    -  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
    -
    -
    - -

    Do NOT change - a single bit, including, but not limited to version information after - export from CVS. This is to make sure that all release packages, and - with them, all future bug reports, are based on exactly the same - code.

    - -
    - - - - - - - - -
    Warning
    -

    Every significant release of Privoxy has included at least - one package that either had incorrect versions of files, - missing files, or incidental leftovers from a previous build - process that gave unknown numbers of users headaches to try to - figure out what was wrong. PLEASE, make sure you are using - pristene sources, and are following the prescribed process!

    -
    -
    - -

    Please find additional instructions for the source tarball and the - individual platform dependent binary packages below. And details on the - Sourceforge release process below that.

    - -
    -

    6.3.1. Note on Privoxy Packaging

    - -

    Please keep these general guidelines in mind when putting together - your package. These apply to all platforms!

    - -
      -
    • -

      Privoxy requires write access - to: all *.action files, all logfiles, - and the trust file. You will need to - determine the best way to do this for your platform.

      -
    • - -
    • -

      Please include up to date documentation. At a bare - minimum:

      - - - - - - - -
      LICENSE (top-level - directory)
      - - - - - - - -
      README (top-level - directory)
      - - - - - - - -
      AUTHORS (top-level - directory)
      - - - - - - - -
      man page (top-level - directory, Unix-like platforms only)
      - - - - - - - -
      The User Manual - (doc/webserver/user-manual/)
      - - - - - - - -
      FAQ (doc/webserver/faq/)
      - -

      Also suggested: Developer Manual - (doc/webserver/developer-manual) and ChangeLog (top-level directory). FAQ and the manuals are HTML docs. There are also - text versions in doc/text/ which could - conceivably also be included.

      - -

      The documentation has been designed such that the manuals are - linked to each other from parallel directories, and should be - packaged that way. privoxy-index.html - can also be included and can serve as a focal point for docs and - other links of interest (and possibly renamed to index.html). This should be one level up from the - manuals. There is a link also on this page to an HTMLized version - of the man page. To avoid 404 for this, it is in CVS as - doc/webserver/man-page/privoxy-man-page.html, - and should be included along with the manuals. There is also a - css stylesheets that can be included for better presentation: - p_doc.css. This should be in the same - directory with privoxy-index.html, - (i.e. one level up from the manual directories).

      -
    • - -
    • -

      user.action and user.filter are designed for local preferences. - Make sure these do not get overwritten! config should not be overwritten either. This has - especially important configuration data in it. trust should be left in tact as well.

      -
    • - -
    • -

      Other configuration files (default.action and default.filter) should be installed as the new - defaults, but all previously installed configuration files should - be preserved as backups. This is just good manners :-) These - files are likely to change between releases and contain important - new features and bug fixes.

      -
    • - -
    • -

      Please check platform specific notes in this doc, if you - haven't done "Privoxy" packaging - before for other platform specific issues. Conversely, please add - any notes that you know are important for your platform (or - contact one of the doc maintainers to do this if you can't).

      -
    • - -
    • -

      Packagers should do a "clean" - install of their package after building it. So any previous - installs should be removed first to ensure the integrity of the - newly built package. Then run the package for a while to make - sure there are no obvious problems, before uploading.

      -
    • -
    -
    - -
    -

    6.3.2. Source Tarball

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" above). - Then run:

    - - - - - -
    -
    -  cd current
    -  autoheader && autoconf && ./configure
    -
    -
    - -

    Then do:

    - - - - - -
    -
    -  make tarball-dist
    -
    -
    - -

    To upload the package to Sourceforge, simply issue

    - - - - - -
    -
    -  make tarball-upload
    -
    -
    - -

    Go to the displayed URL and release the file publicly on - Sourceforge. For the change log field, use the relevant section of - the ChangeLog file.

    -
    - -
    -

    6.3.3. - SuSE, Conectiva or Red Hat RPM

    - -

    In following text, replace dist with either "rh" for Red Hat or "suse" - for SuSE.

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" - above).

    - -

    As the only exception to not changing anything after export from - CVS, now examine the file privoxy-dist.spec - and make sure that the version information and the RPM release number - are correct. The RPM release numbers for each version start at one. - Hence it must be reset to one if this is the first RPM for dist which is built from version X.Y.Z. - Check the file list if unsure. Else, it must be set to the highest - already available RPM release number for that version plus one.

    - -

    Then run:

    - - - - - -
    -
    -  cd current
    -  autoheader && autoconf && ./configure
    -
    -
    - -

    Then do

    - - - - - -
    -
    -  make dist-dist
    -
    -
    - -

    To upload the package to Sourceforge, simply issue

    - - - - - -
    -
    -  make dist-upload rpm_packagerev
    -
    -
    - -

    where rpm_packagerev is the - RPM release number as determined above. Go to the displayed URL and - release the file publicly on Sourceforge. Use the release notes and - change log from the source tarball package.

    -
    - -
    -

    6.3.4. - OS/2

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" above). - Then get the OS/2 Setup module:

    - - - - - -
    -
    -  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup
    -
    -
    - -

    You will need a mix of development tools. The main compilation - takes place with IBM Visual Age C++. Some ancillary work takes place - with GNU tools, available from various sources like hobbes.nmsu.edu. - Specificially, you will need autoheader, - autoconf and sh - tools. The packaging takes place with WarpIN, available from various - sources, including its home page: xworkplace.

    - -

    Change directory to the os2setup - directory. Edit the os2build.cmd file to set the final executable - filename. For example,

    - - - - - -
    -
    -  installExeName='privoxyos2_setup_X.Y.Z.exe'
    -
    -
    - -

    Next, edit the IJB.wis file so the - release number matches in the PACKAGEID - section:

    - - - - - -
    -
    -  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
    -
    -
    - -

    You're now ready to build. Run:

    - - - - - -
    -
    -  os2build
    -
    -
    - -

    You will find the WarpIN-installable executable in the ./files directory. Upload this anonymously to - uploads.sourceforge.net/incoming, create a - release for it, and you're done. Use the release notes and Change Log - from the source tarball package.

    -
    - -
    -

    6.3.5. Solaris

    - -

    Login to Sourceforge's compilefarm via ssh:

    - - - - - -
    -
    -  ssh cf.sourceforge.net
    -
    -
    - -

    Choose the right operating system (not the Debian one). When - logged in, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" above). - Then run:

    - - - - - -
    -
    -  cd current
    -  autoheader && autoconf && ./configure
    -
    -
    - -

    Then run

    - - - - - -
    -
    -  gmake solaris-dist
    -
    -
    - -

    which creates a gzip'ed tar archive. Sadly, you cannot use - make solaris-upload on the Sourceforge machine - (no ncftpput). You now have to manually upload the archive to - Sourceforge's ftp server and release the file publicly. Use the - release notes and Change Log from the source tarball package.

    -
    - -
    -

    6.3.6. Windows

    - -

    You should ensure you have the latest version of Cygwin (from - http://www.cygwin.com/). Run the following commands from - within a Cygwin bash shell.

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" above). - Then get the Windows setup module:

    - - - - - -
    -
    -  cvs -z3  -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup
    -
    -
    - -

    Then you can build the package. This is fully automated, and is - controlled by winsetup/GNUmakefile. All you - need to do is:

    - - - - - -
    -
    -  cd winsetup
    -  make
    -
    -
    - -

    Now you can manually rename privoxy_setup.exe to privoxy_setup_X_Y_Z.exe, and upload it to - SourceForge. When releasing the package on SourceForge, use the - release notes and Change Log from the source tarball package.

    -
    - -
    -

    6.3.7. Debian

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" above). - Then add a log entry to debian/changelog, - if it is not already there, for example by running:

    - - - - - -
    -
    -  debchange -v 3.0.21-stable-1 "New upstream version"
    -
    -
    - -

    Then, run:

    - - - - - -
    -
    -  dpkg-buildpackage -rfakeroot -us -uc -b
    -
    -
    - -

    This will create ../privoxy_3.0.21-stable-1_i386.deb which can be - uploaded. To upload the package to Sourceforge, simply issue

    - - - - - -
    -
    -  make debian-upload
    -
    -
    -
    - -
    -

    6.3.8. Mac OS X

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" - above).

    - -

    There are three modules available in the CVS repository for use on - Mac OS X, though technically only two of them generate a release (the - other can be used to install from source).

    - -
    -

    6.3.8.1. OSXPackageBuilder - module

    - -

    The OSXPackageBuilder module generates OS X installer packages - supporting all Macs running OS X 10.4 and above. Obtain it from CVS - as follows into a folder parallel to the exported privoxy - source:

    - - - - - -
    -
    -  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder
    -
    -
    - -

    The module contains complete instructions on its usage in the - file OS X Package Builder HOWTO.txt.

    - -

    Once the package(s) have been generated, you can then upload - them directly to the Files section of the Sourceforge project in - the Macintosh (OS X) folder. Each new version release of Privoxy - should have a new subfolder created in which to store its files. - Please ensure that the folder contains a readme file that makes it - clear which package is for whichversion of OS X.

    -
    - -
    -

    6.3.8.2. osxsetup module - (DEPRECATED)

    - -

    This module is - deprecated since the installer it generates places all Privoxy - files in one folder in a non-standard location, and supports only - Intel Macs running OS X 10.6 or higher.

    - -

    Check out the module from CVS as follows into a folder parallel - to the exported privoxy source:

    - - - - - -
    -
    -  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
    -
    -
    - -

    Then run:

    - - - - - -
    -
    -  cd osxsetup
    -  build
    -
    -
    - -

    This will run autoheader, autoconf and configure as - well as make. Finally, it will copy over - the necessary files to the ./osxsetup/files directory for further - processing by PackageMaker.

    - -

    Bring up PackageMaker with the PrivoxyPackage.pmsp definition - file, modify the package name to match the release, and hit the - "Create package" button. If you specify ./Privoxy.pkg as the output - package name, you can then create the distributable zip file with - the command:

    - - - - - -
    -
    -  zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
    -
    -
    - -

    You can then upload this file directly to the Files section of - the Sourceforge project in the Macintosh (OS X) folder. Each new - version release of Privoxy should have a new subfolder created in - which to store its files. Please ensure that the folder contains a - readme file that makes it clear which version(s) of OS X the - package supports.

    -
    - -
    -

    6.3.8.3. macsetup module

    - -

    The macsetup module is ideal if you wish to build and install - Privoxy from source on a single machine.

    - -

    Check out the module from CVS as follows into a folder parallel - to the exported privoxy source:

    - - - - - -
    -
    -  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co macsetup
    -
    -
    - -

    The module contains complete instructions on its usage in its - README file. The end result will be the - exported version of Privoxy installed on the build machine.

    -
    -
    - -
    -

    6.3.9. FreeBSD

    - -

    Login to Sourceforge's compile-farm via ssh:

    - - - - - -
    -
    -  ssh cf.sourceforge.net
    -
    -
    - -

    Choose the right operating system. When logged in, make sure that you have freshly - exported the right version into an empty directory. (See - "Building and releasing packages" above). Then run:

    - - - - - -
    -
    -  cd current
    -  autoheader && autoconf && ./configure
    -
    -
    - -

    Then run:

    - - - - - -
    -
    -  gmake freebsd-dist
    -
    -
    - -

    which creates a gzip'ed tar archive. Sadly, you cannot use - make freebsd-upload on the Sourceforge machine - (no ncftpput). You now have to manually upload the archive to - Sourceforge's ftp server and release the file publicly. Use the - release notes and Change Log from the source tarball package.

    -
    - -
    -

    6.3.10. HP-UX 11

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" above). - Then run:

    - - - - - -
    -
    -  cd current
    -  autoheader && autoconf && ./configure
    -
    -
    - -

    Then do FIXME.

    -
    - -
    -

    6.3.11. Amiga OS

    - -

    First, make sure that - you have freshly exported the right version into an empty - directory. (See "Building and releasing packages" above). - Then run:

    - - - - - -
    -
    -  cd current
    -  autoheader && autoconf && ./configure
    -
    -
    - -

    Then do FIXME.

    -
    - -
    -

    6.3.12. AIX

    - -

    Login to Sourceforge's compilefarm via ssh:

    - - - - - -
    -
    -  ssh cf.sourceforge.net
    -
    -
    - -

    Choose the right operating system. When logged in, make sure that you have freshly - exported the right version into an empty directory. (See - "Building and releasing packages" above). Then run:

    - - - - - -
    -
    -  cd current
    -  autoheader && autoconf && ./configure
    -
    -
    - -

    Then run:

    - - - - - -
    -
    -  make aix-dist
    -
    -
    - -

    which creates a gzip'ed tar archive. Sadly, you cannot use - make aix-upload on the Sourceforge machine (no - ncftpput). You now have to manually upload the archive to - Sourceforge's ftp server and release the file publicly. Use the - release notes and Change Log from the source tarball package.

    -
    -
    - -
    -

    6.4. Uploading and - Releasing Your Package

    - -

    After the package is ready, it is time to upload it to SourceForge, - and go through the release steps. The upload is done via FTP:

    - - - -

    Or use the make targets as described - above.

    - -

    Once this done go to https://sourceforge.net/project/admin/editpackages.php?group_id=11118, - making sure you are logged in. Find your target platform in the second - column, and click Add Release. You will then - need to create a new release for your package, using the format of - $VERSION ($CODE_STATUS), e.g. 3.0.21 (beta).

    - -

    Now just follow the prompts. Be sure to add any appropriate Release - notes. You should see your freshly uploaded packages in "Step 2. Add Files To This Release". Check the - appropriate box(es). Remember at each step to hit the "Refresh/Submit" buttons! You should now see your - file(s) listed in Step 3. Fill out the forms with the appropriate - information for your platform, being sure to hit "Update" for each file. If anyone is monitoring your - platform, check the "email" box at the very - bottom to notify them of the new package. This should do it!

    - -

    If you have made errors, or need to make changes, you can go through - essentially the same steps, but select Edit - Release, instead of Add Release.

    -
    - -
    -

    6.5. After - the Release

    - -

    When all (or: most of the) packages have been uploaded and made - available, send an email to the announce - mailing list, Subject: "Version X.Y.Z available for download". Be - sure to include the download location, the release notes and the Changelog. - Also, post an updated News item on the project page Sourceforge, and - update the Home page and docs linked from the Home page (see below). - Other news sites and release oriented sites, such as Freshmeat, should - also be notified.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/testing.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/testing.html deleted file mode 100644 index 7433caa..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/testing.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - Testing Guidelines - - - - - - - - - - - -
    -

    5. Testing - Guidelines

    - -

    To be filled.

    - -
    -

    5.1. - Testplan for releases

    - -

    Explain release numbers. major, minor. developer releases. etc.

    - -
      -
    1. -

      Remove any existing rpm with rpm -e

      -
    2. - -
    3. -

      Remove any file that was left over. This includes (but is not - limited to)

      - -
        -
      • -

        /var/log/privoxy

        -
      • - -
      • -

        /etc/privoxy

        -
      • - -
      • -

        /usr/sbin/privoxy

        -
      • - -
      • -

        /etc/init.d/privoxy

        -
      • - -
      • -

        /usr/doc/privoxy*

        -
      • -
      -
    4. - -
    5. -

      Install the rpm. Any error messages?

      -
    6. - -
    7. -

      start,stop,status Privoxy with - the specific script (e.g. /etc/rc.d/init/privoxy stop). Reboot your - machine. Does autostart work?

      -
    8. - -
    9. -

      Start browsing. Does Privoxy - work? Logfile written?

      -
    10. - -
    11. -

      Remove the rpm. Any error messages? All files removed?

      -
    12. -
    -
    - -
    -

    5.2. - Test reports

    - -

    Please submit test reports only with the test form at sourceforge. Three simple steps:

    - -
      -
    • -

      Select category: the distribution you test on.

      -
    • - -
    • -

      Select group: the version of Privoxy that we are about to release.

      -
    • - -
    • -

      Fill the Summary and Detailed Description with something - intelligent (keep it short and precise).

      -
    • -
    Do not mail to the mailing list (we cannot keep track on issues - there). -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/developer-manual/webserver-update.html b/pkg content/usr/local/share/doc/privoxy/developer-manual/webserver-update.html deleted file mode 100644 index a6ce73a..0000000 --- a/pkg content/usr/local/share/doc/privoxy/developer-manual/webserver-update.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - Update the Webserver - - - - - - - - - - -
    -

    7. - Update the Webserver

    - -

    The webserver should be updated at least with each stable release. - When updating, please follow these steps to make sure that no broken - links, inconsistent contents or permission problems will occur (as it has - many times in the past!):

    - -

    If you have changed anything in the stable-branch documentation source - SGML files, do:

    - - - - - -
    -
    -  make dok
    -
    -
    - -

    That will generate doc/webserver/user-manual, doc/webserver/developer-manual, doc/webserver/faq, doc/webserver/index.html automatically.

    - -

    If you changed the manual page sources, generate doc/webserver/man-page/privoxy-man-page.html by running - "make man". (This is a - separate target due to dependencies on some obscure perl scripts [now in - CVS, but not well tested]. See comments in GNUmakefile.)

    - -

    If you want to add new files to the webserver, create them locally in - the doc/webserver/* directory (or create new - directories under doc/webserver).

    - -

    Next, commit any changes from the above steps to CVS. All set? If - these are docs in the stable branch, then do:

    - - - - - -
    -
    -  make webserver
    -
    -
    - -

    This will do the upload to the webserver (www.privoxy.org) and ensure all files and - directories there are group writable.

    - -

    Please do NOT - use any other means of transferring files to the webserver to avoid - permission problems. Also, please do not upload docs from development - branches or versions. The publicly posted docs should be in sync with the - last official release.

    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/configuration.html b/pkg content/usr/local/share/doc/privoxy/faq/configuration.html deleted file mode 100644 index 523e2c0..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/configuration.html +++ /dev/null @@ -1,886 +0,0 @@ - - - - - Configuration - - - - - - - - - - - -
    -

    3. - Configuration

    - -
    -

    3.1. What exactly is an - "actions" file?

    - -

    Privoxy utilizes the concept of - " actions" that are used to manipulate and control web - page data. Actions files are where these actions - that Privoxy could take while - processing a certain request, are configured. Typically, you would - define a set of default actions that apply globally to all URLs, then - add exceptions to these defaults where needed. There is a wide array of - actions available that give the user a high degree of control and - flexibility on how to process each and every web page.

    - -

    Actions can be defined on a URL - pattern basis, i.e. for single URLs, whole web sites, groups or - parts thereof etc. Actions can also be grouped together and then - applied to requests matching one or more patterns. There are many - possible actions that might apply to any given site. As an example, if - you are blocking cookies as one of your default actions, but need to - accept cookies from a given site, you would need to define an exception - for this site in one of your actions files, preferably in user.action.

    -
    - -
    -

    3.2. The - "actions" concept confuses me. Please list - some of these "actions".

    - -

    For a comprehensive discussion of the actions concept, please refer - to the actions - file chapter in the User Manual. It includes a list of all - actions and an actions - file tutorial to get you started.

    -
    - -
    -

    3.3. How are actions - files configured? What is the easiest way to do this?

    - -

    Actions files are just text files in a special syntax and can be - edited with a text editor. But probably the easiest way is to access - Privoxy's user interface with your web - browser at http://config.privoxy.org/ (Shortcut: http://p.p/) and then select "View & change the current configuration" from the - menu. Note that this feature must be explicitly enabled in the main - config file (see enable-edit-actions).

    -
    - -
    -

    3.4. There are several - different "actions" files. What are the - differences?

    - -

    Please have a look at the the actions chapter in the User Manual for a - detailed explanation.

    -
    - -
    -

    3.5. Where can I - get updated Actions Files?

    - -

    Based on your feedback and the continuing development, updates of - default.action will be made available from - time to time on the files section of our project page.

    - -

    If you wish to receive an email notification whenever we release - updates of Privoxy or the actions - file, subscribe to our announce mailing list, - ijbswa-announce@lists.sourceforge.net.

    -
    - -
    -

    3.6. Can I use my - old config files?

    - -

    The syntax and purpose of configuration files has remained roughly - the same throughout the 3.x series, but backwards compatibility is not - guaranteed. Also each release contains updated, "improved" versions and it is therefore strongly - recommended to install the newer configuration files and merge back - your modifications.

    -
    - -
    -

    3.7. Why is the - configuration so complicated?

    - -

    "Complicated" is in the eye of the - beholder. Those that are familiar with some of the underlying concepts, - such as regular expression syntax, take to it like a fish takes to - water. Also, software that tries hard to be "user - friendly", often lacks sophistication and flexibility. There is - always that trade-off there between power vs. easy-of-use. Furthermore, - anyone is welcome to contribute ideas and implementations to enhance - Privoxy.

    -
    - -
    -

    3.8. How can I make my - Yahoo/Hotmail/Gmail account work?

    - -

    The default configuration shouldn't impact the usability of any of - these services. It may, however, make all cookies - temporary, so that your browser will forget your login credentials in - between browser sessions. If you would like not to have to log in - manually each time you access those websites, simply turn off all - cookie handling for them in the user.action - file. An example for yahoo might look like:

    - - - - - -
    -
    -# Allow all cookies for Yahoo login:
    -#
    -{ -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only }
    -.login.yahoo.com
    -
    -
    - -

    These kinds of sites are often quite complex and heavy with Javascript - and thus "fragile". So if still a problem, we have an - alias just for such sticky situations:

    - - - - - -
    -
    -# Gmail is a _fragile_ site:
    -#
    -{ fragile }
    - # Gmail is ...
    - mail.google.com
    -
    -
    - -

    Be sure to flush your browser's caches whenever making these kinds - of changes, just to make sure the changes "take".

    - -

    Make sure the domain, host and path are appropriate as well. Your - browser can tell you where you are specifically and you should use that - information for your configuration settings. Note that above it is not - referenced as gmail.com, which is a valid - domain name.

    -
    - -
    -

    3.9. What's - the difference between the "Cautious", - "Medium" and "Advanced" defaults?

    - -

    Configuring Privoxy is not entirely - trivial. To help you get started, we provide you with three different - default action "profiles" in the web based - actions file editor at http://config.privoxy.org/show-status. See the - User Manual for a list of actions, and how the - default profiles are set.

    - -

    Where the defaults are likely to break some sites, exceptions for - known popular "problem" sites are included, - but in general, the more aggressive your default settings are, the more - exceptions you will have to make later. New users are best to start off - in "Cautious" setting. This is safest and - will have the fewest problems. See the User - Manual for a more detailed discussion.

    - -

    It should be noted that the "Advanced" - profile (formerly known as the "Adventuresome" profile) is more aggressive, and will - make use of some of Privoxy's advanced - features. Use at your own risk!

    -
    - -
    -

    3.10. Why - can I change the configuration with a browser? Does that not raise - security issues?

    - -

    It may seem strange that regular users can edit the config files - with their browsers, although the whole /etc/privoxy hierarchy belongs to the user "privoxy", with only 644 permissions.

    - -

    When you use the browser-based editor, Privoxy itself is writing to the config files. - Because Privoxy is running as the user - "privoxy", it can update its own config - files.

    - -

    If you run Privoxy for multiple - untrusted users (e.g. in a LAN) or aren't entirely in control of your - own browser, you will probably want to make sure that the web-based - editor and remote toggle features are "off" - by setting "enable-edit-actions 0" and "enable-remote-toggle 0" in the main configuration - file.

    - -

    As of Privoxy 3.0.7 these options - are disabled by default.

    -
    - -
    -

    3.11. What is the - default.filter file? What is a "filter"?

    - -

    The default.filter file is where - filters as - supplied by the developers are defined. Filters are a special subset of - actions that can be used to modify or remove web page content or - headers on the fly. Content filters can be applied to anything in the page source, - header filters can be applied to either server or client headers. - Regular expressions are used to accomplish this.

    - -

    There are a number of pre-defined filters to deal with common - annoyances. The filters are only defined here, to invoke them, you need - to use the filter action in one of the actions - files. Content filtering is automatically disabled for inappropriate - MIME types, but if you know better than Privoxy what should or should - not be filtered you can filter any content you like.

    - -

    Filters should not be confused with blocks, which is a completely different action, and - is more typically used to block ads and unwanted sites.

    - -

    If you are familiar with regular expressions, and HTML, you can look - at the provided default.filter with a text - editor and define your own filters. This is potentially a very powerful - feature, but requires some expertise in both regular expressions and - HTML/HTTP. You should place any modifications to the default filters, - or any new ones you create in a separate file, such as user.filter, so they won't be overwritten during - upgrades. The ability to define multiple filter files in config is a new feature as of v. 3.0.5.

    - -

    There is no GUI editor option for this part of the configuration, - but you can disable/enable the various pre-defined filters of the - included default.filter file with the - web-based - actions file editor. Note that the custom actions editor must be - explicitly enabled in the main config file (see enable-edit-actions).

    - -

    If you intend to develop your own filters, you might want to have a - look at Privoxy-Filter-Test.

    -
    - -
    -

    3.12. How can I - set up Privoxy to act as a proxy for my LAN?

    - -

    By default, Privoxy only responds - to requests from 127.0.0.1 (localhost). To - have it act as a server for a network, this needs to be changed in the - main configuration - file. Look for the listen-address option, which may be commented out with - a "#" symbol. Make sure it is uncommented, - and assign it the address of the LAN gateway interface, and port number - to use. Assuming your LAN address is 192.168.1.1 and you wish to run - Privoxy on port 8118, this line should - look like:

    - - - - - -
    -
    -  listen-address  192.168.1.1:8118
    -
    -
    - -

    Save the file, and restart Privoxy. - Configure all browsers on the network then to use this address and port - number.

    - -

    Alternately, you can have Privoxy - listen on all available interfaces:

    - - - - - -
    -
    -  listen-address    :8118
    -
    -
    - -

    And then use Privoxy's permit-access feature to limit connections. A firewall in - this situation is recommended as well.

    - -

    The above steps should be the same for any TCP network, regardless - of operating system.

    - -

    If you run Privoxy on a LAN with - untrusted users, we recommend that you double-check the access - control and security options!

    -
    - -
    -

    3.13. Instead of ads, - now I get a checkerboard pattern. I don't want to see - anything.

    - -

    The replacement for blocked images can be controlled with the - set-image-blocker action. You have - the choice of a checkerboard pattern, a transparent 1x1 GIF image (aka - "blank"), or a redirect to a custom image of - your choice. Note that this choice only has effect for images which are - blocked as images, i.e. whose URLs match both a handle-as-image and block - action.

    - -

    If you want to see nothing, then change the set-image-blocker action to - "blank". This can be done by editing the - user.action file, or through the web-based actions - file editor.

    -
    - -
    -

    3.14. Why would anybody - want to see a checkerboard pattern?

    - -

    Remember that telling which image - is an ad and which isn't, is an educated guess. While we hope that - the standard configuration is rather smart, it will make occasional - mistakes. The checkerboard image is visually decent, and it shows you - where images have been blocked, which can be very helpful in case some - navigation aid or otherwise innocent image was erroneously blocked. It - is recommended for new users so they can "see" what is happening. Some people might also enjoy - seeing how many banners they don't have to see.

    -
    - -
    -

    3.15. I see some images - being replaced with text instead of the checkerboard image. Why and how - do I get rid of this?

    - -

    This happens when the banners are not embedded in the HTML code of - the page itself, but in separate HTML (sub)documents that are loaded - into (i)frames or (i)layers, and these external HTML documents are - blocked. Being non-images they get replaced by a substitute HTML page - rather than a substitute image, which wouldn't work out technically, - since the browser expects and accepts only HTML when it has requested - an HTML document.

    - -

    The substitute page adapts to the available space and shows itself - as a miniature two-liner if loaded into small frames, or full-blown - with a large red "BLOCKED" banner if space allows.

    - -

    If you prefer the banners to be blocked by images, you must see to - it that the HTML documents in which they are embedded are not blocked. - Clicking the "See why" link offered in the - substitute page will show you which rule blocked the page. After - changing the rule and un-blocking the HTML documents, the browser will - try to load the actual banner images and the usual image blocking will - (hopefully!) kick in.

    -
    - -
    -

    3.16. Can Privoxy run as - a service on Win2K/NT/XP?

    - -

    Yes. Version 3.0.5 introduces full Windows service functionality. See the User Manual for details on how - to install and configure Privoxy as a - service.

    - -

    Earlier 3.x versions could run as a system service using srvany.exe. See the discussion at http://sourceforge.net/tracker/?func=detail&atid=361118&aid=485617&group_id=11118, - for details, and a sample configuration.

    -
    - -
    -

    3.17. How can I - make Privoxy work with other proxies?

    - -

    This can be done and is often useful to combine the benefits of - Privoxy with those of a another proxy, - for example to cache content. See the forwarding - chapter in the User Manual which describes how to do this. If you intend to - use Privoxy with Tor, please also have a look at How do I use Privoxy together with Tor.

    -
    - -
    -

    3.18. Can I just set - Privoxy to use port 80 and thus avoid individual browser - configuration?

    - -

    No, its more complicated than that. This only works with special - kinds of proxies known as "intercepting" - proxies (see below).

    -
    - -
    -

    3.19. Can - Privoxy run as a "transparent" - proxy?

    - -

    The whole idea of Privoxy is to modify client requests and server - responses in all sorts of ways and therefore it's not a transparent - proxy as described in RFC 2616.

    - -

    However, some people say "transparent - proxy" when they mean "intercepting - proxy". If you are one of them, please read the next entry.

    -
    - -
    -

    3.20. Can - Privoxy run as a "intercepting" - proxy?

    - -

    Privoxy can't intercept traffic - itself, but it can handle requests that where intercepted and - redirected with a packet filter (like PF or iptables), - as long as the Host header is present.

    - -

    As the Host header is required by HTTP/1.1 - and as most web sites rely on it anyway, this limitation shouldn't be a - problem.

    - -

    Please refer to your packet filter's documentation to learn how to - intercept and redirect traffic into Privoxy. Afterward you just have to configure - Privoxy to accept intercepted requests.

    -
    - -
    -

    3.21. How can I - configure Privoxy for use with Outlook?

    - -

    Versions of Outlook prior to Office - 2007, use Internet Explorer components - to both render HTML, and fetch any HTTP requests that may be embedded - in an HTML email. So however you have Privoxy configured to work with IE, this - configuration should automatically be shared, at least with older - version of Internet Explorer.

    - -

    Starting with Office 2007, Microsoft is instead using the MS-Word - rendering engine with Outlook. It is unknown whether this can be - configured to use a proxy.

    -
    - -
    -

    3.22. How - can I have separate rules just for HTML mail?

    - -

    The short answer is, you can't. Privoxy has no way of knowing which particular - application makes a request, so there is no way to distinguish between - web pages and HTML mail. Privoxy just - blindly proxies all requests. In the case of Outlook Express (see above), OE uses IE anyway, - and there is no way for Privoxy to - ever be able to distinguish between them (nor could any other proxy - type application for that matter).

    - -

    For a good discussion of some of the issues involved (including - privacy and security issues), see http://sourceforge.net/tracker/?func=detail&atid=211118&aid=629518&group_id=11118.

    -
    - -
    -

    3.23. I - sometimes notice cookies sneaking through. How?

    - -

    Cookies can be set in several ways. The classic method is - via the Set-Cookie HTTP header. This is - straightforward, and an easy one to manipulate, such as the - Privoxy concept of session-cookies-only. There is also the possibility of using - Javascript to set cookies (Privoxy calls these content-cookies). This is trickier because the syntax - can vary widely, and thus requires a certain amount of guesswork. It is - not realistic to catch all of these short of disabling Javascript, - which would break many sites. And lastly, if the cookies are embedded - in a HTTPS/SSL secure session via Javascript, they are beyond - Privoxy's reach.

    - -

    All in all, Privoxy can help manage - cookies in general, can help minimize the loss of privacy posed by - cookies, but can't realistically stop all cookies.

    -
    - -
    -

    3.24. Are - all cookies bad? Why?

    - -

    No, in fact there are many beneficial uses of cookies. Cookies are just a method that browsers can use to - store data between pages, or between browser sessions. Sometimes there - is a good reason for this, and the user's life is a bit easier as a - result. But there is a long history of some websites taking advantage - of this layer of trust, and using the data they glean from you and your - browsing habits for their own purposes, and maybe to your potential - detriment. Such sites are using you and storing their data on your - system. That is why the privacy conscious watch from whom those cookies - come, and why they really need to be there.

    - -

    See the Wikipedia cookie definition for more.

    -
    - -
    -

    3.25. How - can I allow permanent cookies for my trusted sites?

    - -

    There are several actions that relate to cookies. The default - behavior is to allow only "session cookies", - which means the cookies only last for the current browser session. This - eliminates most kinds of abuse related to cookies. But there may be - cases where you want cookies to last.

    - -

    To disable all cookie actions, so that cookies are allowed - unrestricted, both in and out, for example.com:

    - - - - - -
    -
    - { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
    -  .example.com
    -
    -
    - -

    Place the above in user.action. Note that - some of these may be off by default anyway, so this might be redundant, - but there is no harm being explicit in what you want to happen. - user.action includes an alias for this - situation, called allow-all-cookies.

    -
    - -
    -

    3.26. Can I have - separate configurations for different users?

    - -

    Each instance of Privoxy has its - own configuration, including such attributes as the TCP port that it - listens on. What you can do is run multiple instances of Privoxy, each with a unique listen-address configuration setting, and configuration - path, and then each of these can have their own configurations. Think - of it as per-port configuration.

    - -

    Simple enough for a few users, but for large installations, consider - having groups of users that might share like configurations.

    -
    - -
    -

    3.27. Can I - set-up Privoxy as a whitelist of "good" - sites?

    - -

    Sure. There are a couple of things you can do for simple - white-listing. Here's one real easy one:

    - - - - - -
    -
    - ############################################################
    - # Blacklist
    - ############################################################
    - { +block }
    - / # Block *all* URLs
    -
    - ############################################################
    - # Whitelist
    - ############################################################
    - { -block }
    -  kids.example.com
    -  toys.example.com
    -  games.example.com
    -
    -
    - -

    This allows access to only those three sites by first blocking all - URLs, and then subsequently allowing three specific exceptions.

    - -

    Another approach is Privoxy's - trustfile concept, which incorporates the - notion of "trusted referrers". See the - Trust - documentation for details.

    - -

    These are fairly simple approaches and are not completely foolproof. - There are various other configuration options that should be disabled - (described elsewhere here and in the User Manual) so that users can't modify their own - configuration and easily circumvent the whitelist.

    -
    - -
    -

    3.28. How can I - turn off ad-blocking?

    - -

    Ad blocking is achieved through a complex application of various - Privoxy actions. These - actions are deployed against simple images, banners, flash animations, - text pages, JavaScript, pop-ups and pop-unders, etc., so its not as - simple as just turning one or two actions off. The various actions that - make up Privoxy ad blocking are - hard-coded into the default configuration files. It has been assumed - that everyone using Privoxy is - interested in this particular feature.

    - -

    If you want to do without this, there are several approaches you can - take: You can manually undo the many block rules in default.action. Or even easier, just create your own - default.action file from scratch without the - many ad blocking rules, and corresponding exceptions. Or lastly, if you - are not concerned about the additional blocks that are done for privacy - reasons, you can very easily over-ride all blocking with the following very simple rule - in your user.action:

    - - - - - -
    -
    - # Unblock everybody, everywhere
    - { -block }
    - / # UN-Block *all* URLs
    -
    -
    - -

    Or even a more comprehensive reversing of various ad related - actions:

    - - - - - -
    -
    - # Unblock everybody, everywhere, and turn off appropriate filtering, etc
    - { -block \
    -  -filter{banners-by-size} \
    -  -filter{banners-by-link} \
    -  allow-popups \
    - }
    - / # UN-Block *all* URLs and allow ads
    -
    -
    - -

    This last "action" in this compound - statement, allow-popups, is an alias that - disables various pop-up blocking features.

    -
    - -
    -

    3.29. How can I - have custom template pages, like the BLOCKED page?

    - -

    Privoxy "templates" are specialized text files utilized by - Privoxy for various purposes and can - easily be modified using any text editor. All the template pages are - installed in a sub-directory appropriately named: templates. Knowing something about HTML syntax will of - course be helpful.

    - -

    Be forewarned that the default templates are subject to being - overwritten during upgrades. You can, however, create completely new - templates, place them in another directory and specify the alternate - path in the main config. For details, have a - look at the templdir option.

    -
    - -
    -

    3.30. How can I - remove the "Go There Anyway" link from the - BLOCKED - page?

    - -

    There is more than one way to do it (although Perl is not - involved).

    - -

    Editing the BLOCKED template page (see above) may dissuade some - users, but this method is easily circumvented. Where you need this - level of control, you might want to build Privoxy from source, and disable various features - that are available as compile-time options. You should configure the sources as follows:

    - - - - - -
    -
    - ./configure  --disable-toggle  --disable-editor  --disable-force
    -
    -
    - -

    This will create an executable with hard-coded security features so - that Privoxy does not allow easy - bypassing of blocked sites, or changing the current configuration via - any connected user's web browser.

    - -

    Finally, all of these features can also be toggled on/off via - options in Privoxy's main config - file which means you don't have to recompile anything.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/contact.html b/pkg content/usr/local/share/doc/privoxy/faq/contact.html deleted file mode 100644 index a5615e5..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/contact.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - Contacting the developers, Bug Reporting and Feature - Requests - - - - - - - - - - - -
    -

    6. Contacting the - developers, Bug Reporting and Feature Requests

    - -

    We value your feedback. In fact, we rely on it to improve Privoxy and its configuration. However, please note - the following hints, so we can provide you with the best support.

    - -
    -

    6.1. Please provide sufficient - information

    - -

    A lot of support requests don't contain enough information and can't - be solved without a lot of back and forth which causes unnecessary - delays. Reading this section should help to prevent that.

    - -

    Before contacting us to report a problem, please try to verify that - it is a Privoxy problem, and not a - browser or site problem or documented behaviour that just happens to be - different than what you expected. If unsure, try toggling - off Privoxy, and see if the - problem persists.

    - -

    If you are using your own custom configuration, please try the - default configuration to see if the problem is configuration related. - If you're having problems with a feature that is disabled by default, - please ask around on the mailing list if others can reproduce the - problem.

    - -

    If you aren't using the latest Privoxy version, the problem may have - been found and fixed in the meantime. We would appreciate if you could - take the time to upgrade to the latest version and verify that the problem - still exists.

    - -

    Please be sure to provide the following information when reporting - problems or requesting support:

    - -
      -
    • -

      The exact Privoxy version you - are using.

      -
    • - -
    • -

      The operating system and versions you run Privoxy on, e.g. Windows XP SP2.

      -
    • - -
    • -

      The name, platform, and version of the browser you were using (e.g. Internet Explorer v5.5 for Mac).

      -
    • - -
    • -

      The URL where the problem occurred, or some way for us to - duplicate the problem (e.g. http://somesite.example.com/?somethingelse=123).

      -
    • - -
    • -

      Whether your version of Privoxy - is one supplied by the Privoxy - developers via SourceForge, or if you got your copy somewhere - else.

      -
    • - -
    • -

      Whether you are using Privoxy - together with another proxy such as Tor. If so, please temporary disable the other - proxy to see if the symptoms change.

      -
    • - -
    • -

      Whether you are using a personal firewall product. If so, does - Privoxy work without it?

      -
    • - -
    • -

      Any other pertinent information to help identify the problem - such as config or log file excerpts (yes, you should have log file - entries for each action taken). To get a meaningful logfile, please - make sure that the logfile directive is being used and the following - debug - options are enabled (all of them):

      - -

      - debug     1 # Log the destination for each request Privoxy let through. See also debug 1024.
      - - debug     2 # show each connection status
      - - debug     4 # show I/O status
      - - debug     8 # show header parsing
      - - debug   128 # debug redirects
      - debug   256 # debug GIF de-animation
      - - debug   512 # Common Log Format
      - - debug  1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
      - - debug  4096 # Startup banner and warnings.
      - - debug  8192 # Non-fatal errors

      - -

      If you are having trouble with a filter, please additionally - enable

      - -

      - debug    64 # debug regular expression filters

      If - you are using Privoxy 3.0.17 or later and suspect that it - interprets the request or the response incorrectly, please enable - -

      - debug 32768 # log all data read from the network

      - -

      It's easy for us to ignore log messages that aren't relevant but - missing log messages may make it impossible to investigate a - problem. If you aren't sure which of the debug directives are - relevant, please just enable all of them and let us worry about - it.

      - -

      Note that Privoxy log files may contain sensitive information so - please don't submit any logfiles you didn't read first. You can - mask sensitive information as long as it's clear that you removed - something.

      -
    • -
    - -

    You don't have to tell us your actual name when filing a problem - report, but if you don't, please use a nickname so we can differentiate - between your messages and the ones entered by other "anonymous" users - that may respond to your request if they have the same problem or - already found a solution. Note that due to spam the trackers may not - always allow to post without being logged into SourceForge. If that's - the case, you are still free to create a login that isn't directly - linked to your name, though.

    - -

    Please also check the status of your request a few days after - submitting it, as we may request additional information. If you use a - SF id, you should automatically get a mail when someone responds to - your request. Please don't bother to add an email address when using - the tracker. If you prefer to communicate through email, just use one - of the mailing lists directly.

    - -

    If you are new to reporting problems, you might be interested in - How to Report Bugs Effectively.

    - -

    The appendix of the Privoxy User Manual also has helpful - information on understanding actions, and - action debugging.

    -
    - -
    -

    6.2. - Get Support

    - -

    For casual users, our support forum at SourceForge is probably best suited: - http://sourceforge.net/tracker/?group_id=11118&atid=211118

    - -

    All users are of course welcome to discuss their issues on the - users mailing list, where the developers also hang - around.

    - -

    Please don't send private support requests to individual Privoxy - developers, either use the mailing lists or the support trackers.

    - -

    If you have to contact a Privoxy developer directly for other - reasons, please send a real mail and do not bother with SourceForge's - messaging system. Answers to SourceForge messages are usually bounced - by SourceForge's mail server in which case the developer wasted time - writing a response you don't get. From your point of view it will look - like your message has been completely ignored, so this is frustrating - for all parties involved.

    - -

    Note that the Privoxy mailing lists are moderated. Posts from - unsubscribed addresses have to be accepted manually by a moderator. - This may cause a delay of several days and if you use a subject that - doesn't clearly mention Privoxy or one of its features, your message - may be accidentally discarded as spam.

    - -

    If you aren't subscribed, you should therefore spend a few seconds - to come up with a proper subject. Additionally you should make it clear - that you want to get CC'd. Otherwise some responses will be directed to - the mailing list only, and you won't see them.

    -
    - -
    -

    6.3. Reporting - Problems

    - -

    "Problems" for our purposes, come in two - forms:

    - -
      -
    • -

      Configuration issues, such as ads that slip through, or sites - that don't function properly due to one Privoxy "action" or - another being turned "on".

      -
    • - -
    • -

      "Bugs" in the programming code that - makes up Privoxy, such as that - might cause a crash.

      -
    • -
    - -
    -

    6.3.1. - Reporting Ads or Other Configuration Problems

    - -

    Please send feedback on ads that slipped through, innocent images - that were blocked, sites that don't work properly, and other - configuration related problem of default.action file, to http://sourceforge.net/tracker/?group_id=11118&atid=460288, - the Actions File Tracker.

    - -

    New, improved default.action files may - occasionally be made available based on your feedback. These will be - announced on the ijbswa-announce list and available from our the files section of our project page.

    -
    - -
    -

    6.3.2. - Reporting Bugs

    - -

    Please report all bugs through our bug tracker: http://sourceforge.net/tracker/?group_id=11118&atid=111118.

    - -

    Before doing so, please make sure that the bug has not already been submitted - and observe the additional hints at the top of the submit form. If already submitted, please feel free - to add any info to the original report that might help to solve the - issue.

    -
    -
    - -
    -

    6.4. - Request New Features

    - -

    You are welcome to submit ideas on new features or other proposals - for improvement through our feature request tracker at http://sourceforge.net/tracker/?atid=361118&group_id=11118.

    -
    - -
    -

    6.5. - Mailing Lists

    - -

    If you prefer to communicate through email, instead of using a web - interface, feel free to use one of the mailing lists. To discuss issues - that haven't been completely diagnosed yet, please use the Privoxy - users list. Technically interested users and people who wish to - contribute to the project are always welcome on the developers list. - You can find an overview of all Privoxy-related mailing lists, including list - archives, at: http://sourceforge.net/mail/?group_id=11118.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/copyright.html b/pkg content/usr/local/share/doc/privoxy/faq/copyright.html deleted file mode 100644 index a26dad7..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/copyright.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - Privoxy Copyright, License and History - - - - - - - - - - -
    -

    7. Privoxy - Copyright, License and History

    - -

    Copyright © 2001-2013 by Privoxy Developers <ijbswa-developers@lists.sourceforge.net>

    - -

    Some source code is based on code Copyright © 1997 by Anonymous - Coders and Junkbusters, Inc. and licensed under the GNU General Public License.

    - -

    Portions of this document are "borrowed" - from the original Junkbuster (tm) FAQ, - and modified as appropriate for Privoxy.

    - -
    -

    7.1. License

    - -

    Privoxy is free software; you can - redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by - the Free Software Foundation.

    - -

    Privoxy is distributed in the hope - that it will be useful, but WITHOUT ANY WARRANTY; without even the - implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the license for details.

    -
    - -
    -

    7.2. History

    - -

    A long time ago, there was the Internet - Junkbuster, by Anonymous Coders and Junkbusters Corporation. - This saved many users a lot of pain in the early days of web - advertising and user tracking.

    - -

    But the web, its protocols and standards, and with it, the - techniques for forcing ads on users, give up autonomy over their - browsing, and for tracking them, keeps evolving. Unfortunately, the - Internet Junkbuster did not. Version - 2.0.2, published in 1998, was the last official release, available from - Junkbusters Corporation. Fortunately, it had been released under the - GNU GPL, which allowed further development by others.

    - -

    So Stefan Waldherr started maintaining an improved version of the - software, to which eventually a number of people contributed patches. - It could already replace banners with a transparent image, and had a - first version of pop-up killing, but it was still very closely based on - the original, with all its limitations, such as the lack of HTTP/1.1 - support, flexible per-site configuration, or content modification. The - last release from this effort was version 2.0.2-10, published in - 2000.

    - -

    Then, some developers picked up the thread, and started turning the - software inside out, upside down, and then reassembled it, adding many - new features along the way.

    - -

    The result of this is Privoxy, - whose first stable version, 3.0, was released August, 2002.

    - -

    As of 2012 the Junkbusters Corporation's website - (http://www.junkbusters.com/) has been shut down, but Privoxy is still - actively maintained.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/general.html b/pkg content/usr/local/share/doc/privoxy/faq/general.html deleted file mode 100644 index be0a9fb..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/general.html +++ /dev/null @@ -1,603 +0,0 @@ - - - - - General Information - - - - - - - - - - - -
    -

    1. General - Information

    - -
    -

    1.1. Who should give - Privoxy a try?

    - -

    Anyone who is interested in security, privacy, or in finer-grained - control over their web and Internet experience.

    -
    - -
    -

    1.2. Is Privoxy - the best choice for me?

    - -

    Privoxy is certainly a good choice, - especially for those who want more control and security. Those with the - willingness to read the documentation and the ability to fine-tune - their installation will benefit the most.

    - -

    One of Privoxy's strengths is that - it is highly configurable giving you the ability to completely - personalize your installation. Being familiar with, or at least having - an interest in learning about HTTP and other - networking protocols, HTML, and "Regular Expressions" will be a - big plus and will help you get the most out of Privoxy. A new installation just includes a very - basic configuration. The user should take this as a starting point - only, and enhance it as he or she sees fit. In fact, the user is - encouraged, and expected to, fine-tune the configuration.

    - -

    Much of Privoxy's configuration can - be done with a Web browser. But there are areas where configuration - is done using a text editor to edit configuration files. Also note - that the web-based action editor doesn't use authentication and should - only be enabled in environments where all clients with access to - Privoxy listening port can be - trusted.

    -
    - -
    -

    1.3. What is a - "proxy"? How does Privoxy work?

    - -

    A web proxy is a service, based on a software such as - Privoxy, that clients (i.e. browsers) - can use instead of connecting to web servers directly. The clients then - ask the proxy to request objects (web pages, images, movies etc) on - their behalf and to forward the data to the clients. It is a - "go-between". For details, see Wikipedia's - proxy definition.

    - -

    There are many reasons to use web proxies, such as security - (firewalling), efficiency (caching) and others, and there are any - number of proxies to accommodate those needs.

    - -

    Privoxy is a proxy that is - primarily focused on privacy enhancement, ad and junk elimination and - freeing the user from restrictions placed on his activities. Sitting - between your browser(s) and the Internet, it is in a perfect position - to filter outbound personal information that your browser is leaking, - as well as inbound junk. It uses a variety of techniques to do this, - all of which are under your complete control via the various - configuration files and options. Being a proxy also makes it easier to - share configurations among multiple browsers and/or users.

    -
    - -
    -

    1.4. Does - Privoxy do anything more than ad blocking?

    - -

    Yes, ad blocking is but one possible use. There are many, many ways - Privoxy can be used to sanitize and - customize web browsing.

    -
    - -
    -

    1.5. What is this new - version of "Junkbuster"?

    - -

    A long time ago, there was the Internet - Junkbuster, by Anonymous Coders and Junkbusters Corporation. - This saved many users a lot of pain in the early days of web - advertising and user tracking.

    - -

    But the web, its protocols and standards, and with it, the - techniques for forcing ads on users, give up autonomy over their - browsing, and for tracking them, keeps evolving. Unfortunately, the - Internet Junkbuster did not. Version - 2.0.2, published in 1998, was the last official release, available from - Junkbusters Corporation. Fortunately, it had been released under the - GNU GPL, which allowed further development by others.

    - -

    So Stefan Waldherr started maintaining an improved version of the - software, to which eventually a number of people contributed patches. - It could already replace banners with a transparent image, and had a - first version of pop-up killing, but it was still very closely based on - the original, with all its limitations, such as the lack of HTTP/1.1 - support, flexible per-site configuration, or content modification. The - last release from this effort was version 2.0.2-10, published in - 2000.

    - -

    Then, some developers picked up the thread, and started turning the - software inside out, upside down, and then reassembled it, adding many - new features along the way.

    - -

    The result of this is Privoxy, - whose first stable version, 3.0, was released August, 2002.

    - -

    As of 2012 the Junkbusters Corporation's website - (http://www.junkbusters.com/) has been shut down, but Privoxy is still - actively maintained.

    -
    - -
    -

    1.6. Why "Privoxy"? Why change the name from Junkbuster at - all?

    - -

    Though outdated, Junkbusters Corporation continued to offer their - original version of the Internet - Junkbuster for a while, so publishing our Junkbuster-derived software under the same name - would have led to confusion.

    - -

    There were also potential legal reasons not to use the Junkbuster name, as it was (and maybe still is) a - registered trademark of Junkbusters Corporation. There were, however, - no objections from Junkbusters Corporation to the Privoxy project itself, and they, in fact, shared - our ideals and goals.

    - -

    The Privoxy developers also believed that there were so many - improvements over the original code, that it was time to make a clean - break from the past and make a name in their own right.

    - -

    Privoxy is the "Privacy Enhancing - Proxy". Also, its content modification and junk - suppression gives you, the user, more control, more freedom, and - allows you to browse your personal and "private - edition" of the web.

    -
    - -
    -

    1.7. How does Privoxy - differ from the old Junkbuster?

    - -

    Privoxy picks up where Junkbuster left off. Privoxy still blocks ads and banners, still - manages cookies, and still helps protect your privacy. But, most of - these features have been enhanced, and many new ones have been added, - all in the same vein.

    - -

    Privoxy's new features include:

    - -
      -
    • -

      Supports "Connection: keep-alive". Outgoing connections can be - kept alive independently from the client.

      -
    • - -
    • -

      Supports IPv6, provided the operating system does so too, and - the configure script detects it.

      -
    • - -
    • -

      Supports tagging which allows to change the behaviour based on - client and server headers.

      -
    • - -
    • -

      Can be run as an "intercepting" proxy, which obviates the need - to configure browsers individually.

      -
    • - -
    • -

      Sophisticated actions and filters for manipulating both server - and client headers.

      -
    • - -
    • -

      Can be chained with other proxies.

      -
    • - -
    • -

      Integrated browser-based configuration and control utility at - http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based tracing - of rule and filter effects. Remote toggling.

      -
    • - -
    • -

      Web page filtering (text replacements, removes banners based on - size, invisible "web-bugs" and HTML - annoyances, etc.)

      -
    • - -
    • -

      Modularized configuration that allows for standard settings and - user settings to reside in separate files, so that installing - updated actions files won't overwrite individual user settings.

      -
    • - -
    • -

      Support for Perl Compatible Regular Expressions in the - configuration files, and a more sophisticated and flexible - configuration syntax.

      -
    • - -
    • -

      GIF de-animation.

      -
    • - -
    • -

      Bypass many click-tracking scripts (avoids script - redirection).

      -
    • - -
    • -

      User-customizable HTML templates for most proxy-generated pages - (e.g. "blocked" page).

      -
    • - -
    • -

      Auto-detection and re-reading of config file changes.

      -
    • - -
    • -

      Most features are controllable on a per-site or per-location - basis.

      -
    • - -
    • -

      Many smaller new features added, limitations and bugs - removed.

      -
    • -
    -
    - -
    -

    1.8. How does - Privoxy know what is an ad, and what is not?

    - -

    Privoxy's approach to blocking ads - is twofold:

    - -

    First, there are certain patterns in the locations (URLs) of banner - images. This applies to both the path (you wouldn't guess how many web - sites serve their banners from a directory called "banners"!) and the host (blocking the big banner - hosting services like doublecklick.net already helps a lot). - Privoxy takes advantage of this fact - by using URL patterns to sort out and block the requests for things - that sound like they would be ads or banners.

    - -

    Second, banners tend to come in certain sizes. But you can't tell the - size of an image by its URL without downloading it, and if you do, it's - too late to save bandwidth. Therefore, Privoxy also inspects the HTML sources of web - pages while they are loaded, and replaces references to images with - standard banner sizes by dummy references, so that your browser doesn't - request them anymore in the first place.

    - -

    Both of this involves a certain amount of guesswork and is, of - course, freely and readily configurable.

    -
    - -
    -

    1.9. Can Privoxy make - mistakes? This does not sound very scientific.

    - -

    Actually, it's a black art ;-) And yes, it is always possible to - have a broad rule accidentally block or change something by mistake. - You will almost surely run into such situations at some point. It is - tricky writing rules to cover every conceivable possibility, and not - occasionally get false positives.

    - -

    But this should not be a big concern since the Privoxy configuration is very flexible, and - includes tools to help identify these types of situations so they can - be addressed as needed, allowing you to customize your installation. - (See the Troubleshooting section - below.)

    -
    - -
    -

    1.10. Will I have to - configure Privoxy before I can use it?

    - -

    That depends on your expectations. The default installation should - give you a good starting point, and block most ads and unwanted - content, but many of the more advanced features are off by default, and - require you to activate them.

    - -

    You do have to set up your browser to use Privoxy (see the Installation section below).

    - -

    And you will certainly run into situations where there are false - positives, or ads not being blocked that you may not want to see. In - these cases, you would certainly benefit by customizing Privoxy's configuration to more closely match your - individual situation. And we encourage you to do this. This is where - the real power of Privoxy lies!

    -
    - -
    -

    1.11. Can Privoxy run as a - server on a network?

    - -

    Yes, Privoxy runs as a server - already, and can easily be configured to "serve" more than one client. See How can I set up Privoxy to act as a - proxy for my LAN below.

    -
    - -
    -

    1.12. My browser - does the same things as Privoxy. Why should I use Privoxy at - all?

    - -

    Modern browsers do indeed have some of the same functionality as Privoxy. Maybe this is adequate for you. But - Privoxy is very versatile and - powerful, and can probably do a number of things your browser just - can't.

    - -

    In addition, a proxy is good choice if you use multiple browsers, or - have a LAN with multiple computers since Privoxy can run as a server application. This way - all the configuration is in one place, and you don't have to maintain a - similar configuration for possibly many browsers or users.

    - -

    Note, however, that it's recommended to leverage both your browser's - and Privoxy's privacy enhancing - features at the same time. While your browser probably lacks some - features Privoxy offers, it should - also be able to do some things more reliable, for example restricting - and suppressing JavaScript.

    -
    - -
    -

    1.13. Why should I - trust Privoxy?

    - -

    The most important reason is because you have access to everything, and you can - control everything. You can check every line of every configuration - file yourself. You can check every last bit of source code should you - desire. And even if you can't read code, there should be some comfort - in knowing that other people can, and do read it. You can build the - software from scratch, if you want, so that you know the executable is - clean, and that it is yours. In fact, we encourage this level of - scrutiny. It is one reason we use Privoxy ourselves.

    -
    - -
    -

    1.14. Is there is a - license or fee? What about a warranty? Registration?

    - -

    Privoxy is free software and - licensed under the GNU General Public License (GPL) version 2. It is free to - use, copy, modify or distribute as you wish under the terms of this - license. Please see the Copyright section - for more information on the license and copyright. Or the LICENSE file that should be included.

    - -

    There is no - warranty of any kind, expressed, implied or otherwise. That - is something that would cost real money ;-) There is no registration - either.

    -
    - -
    -

    1.15. Can Privoxy - remove spyware? Adware? Viruses?

    - -

    No, at least not reliably enough to trust it. Privoxy is not designed to be a malware removal - tool and the default configuration doesn't even try to filter out any - malware.

    - -

    Privoxy could help prevent contact - from (known) sites that use such tactics with appropriate configuration - rules, and thus could conceivably prevent contamination from such - sites. However, keeping such a configuration up to date would require a - lot of time and effort that would be better spend on keeping your - software itself up to date so it doesn't have known - vulnerabilities.

    -
    - -
    -

    1.16. Can I use - Privoxy with other ad-blocking software?

    - -

    Privoxy should work fine with other - proxies and other software in general.

    - -

    But it is probably not necessary to use Privoxy in conjunction with other ad-blocking - products, and this could conceivably cause undesirable results. It - might be better to choose one software or the other and work a little - to tweak its configuration to your liking.

    - -

    Note that this is an advice specific to ad blocking.

    -
    - -
    -

    1.17. I would like to help you, what can I - do?

    - -
    -

    1.17.1. - Would you like to participate?

    - -

    Well, we always need help. There is something for - everybody who wants to help us. We welcome new developers, packagers, - testers, documentation writers or really anyone with a desire to help - in any way. You DO - NOT need to be a "programmer". - There are many other tasks available. In fact, the programmers often - can't spend as much time programming because of some of the other, - more mundane things that need to be done, like checking the Tracker - feedback sections or responding to user questions on the mailing - lists.

    - -

    So first thing, subscribe to the Privoxy Users or the Privoxy Developers mailing list, join the - discussion, help out other users, provide general feedback or report - problems you noticed.

    - -

    If you intend to help out with the trackers, you also might want - to get an account on SourceForge.net so we don't confuse you - with the other name-less users.

    - -

    We also have a Developer's Manual. While it is partly out of date, it's - still worth reading.

    - -

    Our TODO list may be of interest to you as well. Please - let us know if you want to work on one of the items listed.

    -
    - -
    -

    - -

    Privoxy is developed by unpaid - volunteers and thus our current running costs are pretty low. - Nevertheless, we have plans that will cost money in the future. They - include, but aren't limited to spending money on:

    - -
      -
    • -

      Hardware to help make sure Privoxy keeps running on platforms the - developers currently can't test on and can be ported to - others.

      -
    • - -
    • -

      Technical books to educate our developers about said platforms - or to improve their knowledge in general.

      -
    • - -
    • -

      More reliable hosting,

      -
    • -
    - -

    We would like to get this money through donations made by our - users.

    - -

    Privoxy has therefore become an - associated project of Software - in the Public Interest (SPI), which allows us to receive - donations. In the United States they are tax-deductible, in a few - other western countries they might be tax-deductible in the - future.

    - -

    If you read this section before you may notice that paying for the - project domain privoxy.org is no longer on the list. It has been - transferred to SPI is sponsored by Mythic Beasts Ltd.

    - -

    If you enjoy our software and feel like helping out with a - donation, please have a look at SPI's donation - page to see what the options are. If you have any questions - regarding donations please mail to either the public user mailing - list or, if it's a private matter, to Fabian Keil (Privoxy's - SPI liason) directly.

    -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/index.html b/pkg content/usr/local/share/doc/privoxy/faq/index.html deleted file mode 100644 index dbb28c1..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/index.html +++ /dev/null @@ -1,549 +0,0 @@ - - - - - Privoxy Frequently Asked Questions - - - - - - - -
    -
    -

    Privoxy Frequently Asked - Questions

    - -

    Copyright © - 2001-2011 by Privoxy - Developers

    - -

    $Id: faq.sgml,v 2.92 2013/03/01 17:44:24 fabiankeil - Exp $

    - -
    -
    - - -

    This FAQ gives quick answers to frequently asked questions about - Privoxy. It is - not a substitute for the Privoxy User Manual.

    - -

    What is Privoxy?

    - -

    Privoxy is a non-caching web proxy with advanced filtering - capabilities for enhancing privacy, modifying web page data and - HTTP headers, controlling access, and removing ads and other - obnoxious Internet junk. Privoxy has a flexible configuration and - can be customized to suit individual needs and tastes. It has - application for both stand-alone systems and multi-user - networks.

    - -

    Privoxy is Free Software and licensed under the GNU GPLv2.

    - -

    Privoxy is an associated project of Software in the Public - Interest (SPI).

    - -

    Helping hands and donations are welcome:

    - - - -

    Please note that this document is a work in progress. This copy - represents the state at the release of version 3.0.21. You can find - the latest version of the document at http://www.privoxy.org/faq/. Please see the Contact section if you want to contact the - developers.

    -
    -
    -
    -
    - -
    -
    -
    Table of Contents
    - -
    1. General Information
    - -
    -
    -
    1.1. Who should give - Privoxy a try?
    - -
    1.2. Is Privoxy the best - choice for me?
    - -
    1.3. What is a "proxy"? How does Privoxy work?
    - -
    1.4. Does Privoxy do - anything more than ad blocking?
    - -
    1.5. What is this new version of - "Junkbuster"?
    - -
    1.6. Why "Privoxy"? Why change the name from Junkbuster at - all?
    - -
    1.7. How does Privoxy differ - from the old Junkbuster?
    - -
    1.8. How does Privoxy know - what is an ad, and what is not?
    - -
    1.9. Can Privoxy make mistakes? - This does not sound very scientific.
    - -
    1.10. Will I have to configure - Privoxy before I can use it?
    - -
    1.11. Can Privoxy run as a server - on a network?
    - -
    1.12. My browser does the - same things as Privoxy. Why should I use Privoxy at all?
    - -
    1.13. Why should I trust - Privoxy?
    - -
    1.14. Is there is a license or - fee? What about a warranty? Registration?
    - -
    1.15. Can Privoxy remove - spyware? Adware? Viruses?
    - -
    1.16. Can I use Privoxy with - other ad-blocking software?
    - -
    1.17. I would like - to help you, what can I do?
    - -
    -
    -
    1.17.1. Would you like - to participate?
    - -
    1.17.2. Would you like to - donate?
    -
    -
    -
    -
    - -
    2. Installation
    - -
    -
    -
    2.1. Which browsers - are supported by Privoxy?
    - -
    2.2. Which operating - systems are supported?
    - -
    2.3. Can I use - Privoxy with my email client?
    - -
    2.4. I just installed - Privoxy. Is there anything special I have to do now?
    - -
    2.5. What is the proxy - address of Privoxy?
    - -
    2.6. I just installed - Privoxy, and nothing is happening. All the ads are there. What's - wrong?
    - -
    2.7. I get a "Privoxy is not being used" dummy page although - Privoxy is running and being used.
    -
    -
    - -
    3. Configuration
    - -
    -
    -
    3.1. What exactly is an - "actions" file?
    - -
    3.2. The "actions" concept confuses me. Please list some of - these "actions".
    - -
    3.3. How are actions - files configured? What is the easiest way to do this?
    - -
    3.4. There are several - different "actions" files. What are - the differences?
    - -
    3.5. Where can I get - updated Actions Files?
    - -
    3.6. Can I use my old - config files?
    - -
    3.7. Why is the - configuration so complicated?
    - -
    3.8. How can I make my - Yahoo/Hotmail/Gmail account work?
    - -
    3.9. What's the - difference between the "Cautious", - "Medium" and "Advanced" defaults?
    - -
    3.10. Why can I - change the configuration with a browser? Does that not raise - security issues?
    - -
    3.11. What is the - default.filter file? What is a - "filter"?
    - -
    3.12. How can I set up - Privoxy to act as a proxy for my LAN?
    - -
    3.13. Instead of ads, now - I get a checkerboard pattern. I don't want to see - anything.
    - -
    3.14. Why would anybody - want to see a checkerboard pattern?
    - -
    3.15. I see some images - being replaced with text instead of the checkerboard image. Why - and how do I get rid of this?
    - -
    3.16. Can Privoxy run as - a service on Win2K/NT/XP?
    - -
    3.17. How can I make - Privoxy work with other proxies?
    - -
    3.18. Can I just set - Privoxy to use port 80 and thus avoid individual browser - configuration?
    - -
    3.19. Can Privoxy - run as a "transparent" proxy?
    - -
    3.20. Can Privoxy - run as a "intercepting" - proxy?
    - -
    3.21. How can I - configure Privoxy for use with Outlook?
    - -
    3.22. How can I - have separate rules just for HTML mail?
    - -
    3.23. I sometimes - notice cookies sneaking through. How?
    - -
    3.24. Are all - cookies bad? Why?
    - -
    3.25. How can I - allow permanent cookies for my trusted sites?
    - -
    3.26. Can I have - separate configurations for different users?
    - -
    3.27. Can I set-up - Privoxy as a whitelist of "good" - sites?
    - -
    3.28. How can I turn - off ad-blocking?
    - -
    3.29. How can I have - custom template pages, like the BLOCKED page?
    - -
    3.30. How can I remove - the "Go There Anyway" link from the - BLOCKED - page?
    -
    -
    - -
    4. Miscellaneous
    - -
    -
    -
    4.1. How much does Privoxy slow my - browsing down? This has to add extra time to browsing.
    - -
    4.2. I notice considerable - delays in page requests. What's wrong?
    - -
    4.3. What are - "http://config.privoxy.org/" and "http://p.p/"?
    - -
    4.4. How can I submit new ads, or - report problems?
    - -
    4.5. If I do submit missed ads, - will they be included in future updates?
    - -
    4.6. Why doesn't anyone answer - my support request?
    - -
    4.7. How can I hide my IP - address?
    - -
    4.8. Can Privoxy guarantee I am - anonymous?
    - -
    4.9. A test site says I am not - using a Proxy.
    - -
    4.10. How do I use Privoxy together - with Tor?
    - -
    4.11. Might some things break - because header information or content is being altered?
    - -
    4.12. Can Privoxy act as a - "caching" proxy to speed up web - browsing?
    - -
    4.13. What about as a firewall? - Can Privoxy protect me?
    - -
    4.14. I have large empty spaces / - a checkerboard pattern now where ads used to be. Why?
    - -
    4.15. How can Privoxy filter - Secure (HTTPS) URLs?
    - -
    4.16. Privoxy runs as a - "server". How secure is it? Do I need - to take any special precautions?
    - -
    4.17. Can I temporarily disable - Privoxy?
    - -
    4.18. When "disabled" is Privoxy totally out of the - picture?
    - -
    4.19. How can I tell Privoxy to - totally ignore certain sites?
    - -
    4.20. My logs show Privoxy - "crunches" ads, but also its own - internal CGI pages. What is a "crunch"?
    - -
    4.21. Can Privoxy effect files - that I download from a webserver? FTP server?
    - -
    4.22. I just downloaded a Perl - script, and Privoxy altered it! Yikes, what is wrong!
    - -
    4.23. Should I continue to use - a "HOSTS" file for - ad-blocking?
    - -
    4.24. Where can I find more - information about Privoxy and related issues?
    - -
    4.25. I've noticed that Privoxy - changes "Microsoft" to "MicroSuck"! Why are you manipulating my - browsing?
    - -
    4.26. Does Privoxy produce - "valid" HTML (or XHTML)?
    - -
    4.27. How did you manage - to get Privoxy on my computer without my consent?
    -
    -
    - -
    5. Troubleshooting
    - -
    -
    -
    5.1. I cannot connect to any - websites. Or, I am getting "connection - refused" message with every web page. Why?
    - -
    5.2. Why am I getting a 503 - Error (WSAECONNREFUSED) on every page?
    - -
    5.3. I just added a new rule, - but the steenkin ad is still getting through. How?
    - -
    5.4. One of my favorite sites - does not work with Privoxy. What can I do?
    - -
    5.5. After installing Privoxy, I - have to log in every time I start IE. What gives?
    - -
    5.6. I cannot connect to any FTP - sites. Privoxy is blocking me.
    - -
    5.7. In Mac OS X, I can't - configure Microsoft Internet Explorer to use Privoxy as the HTTP - proxy.
    - -
    5.8. In Mac OS X, I - dragged the Privoxy folder to the trash in order to uninstall it. - Now the finder tells me I don't have sufficient privileges to - empty the trash.
    - -
    5.9. In Mac OS X Panther - (10.3), images often fail to load and/or I experience random - delays in page loading. I'm using localhost as my browser's proxy setting.
    - -
    5.10. I get a completely - blank page at one site. "View Source" - shows only: <html><body></body></html>. - Without Privoxy the page loads fine.
    - -
    5.11. My logs show many - "Unable to get my own hostname" lines. - Why?
    - -
    5.12. When I try to launch - Privoxy, I get an error message "port 8118 is - already in use" (or similar wording). Why?
    - -
    5.13. Pages with UTF-8 - fonts are garbled.
    - -
    5.14. Why are binary - files (such as images) corrupted when Privoxy is used?
    - -
    5.15. What is the - "demoronizer" and why is it - there?
    - -
    5.16. Why do I keep seeing - "PrivoxyWindowOpen()" in raw source - code?
    - -
    5.17. I am getting too many - DNS errors like "404 No Such Domain". - Why can't Privoxy do this better?
    - -
    5.18. At one site Privoxy just - hangs, and starts taking all CPU. Why is this?
    - -
    5.19. I just installed - Privoxy, and all my browsing has slowed to a crawl. What - gives?
    - -
    5.20. Why do my filters - work on some sites but not on others?
    - -
    5.21. On some HTTPS sites - my browser warns me about unauthenticated content, the URL bar - doesn't get highlighted and the lock symbol appears to be broken. - What's going on?
    - -
    5.22. I get selinux error - messages. How can I fix this?
    - -
    5.23. I compiled - Privoxy with Gentoo's portage - and it appears to be very slow. Why?
    -
    -
    - -
    6. Contacting the developers, Bug - Reporting and Feature Requests
    - -
    -
    -
    6.1. Please - provide sufficient information
    - -
    6.2. Get - Support
    - -
    6.3. Reporting - Problems
    - -
    -
    -
    6.3.1. Reporting Ads - or Other Configuration Problems
    - -
    6.3.2. Reporting - Bugs
    -
    -
    - -
    6.4. Request New - Features
    - -
    6.5. Mailing - Lists
    -
    -
    - -
    7. Privoxy Copyright, License and - History
    - -
    -
    -
    7.1. License
    - -
    7.2. History
    -
    -
    -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/installation.html b/pkg content/usr/local/share/doc/privoxy/faq/installation.html deleted file mode 100644 index 5b80445..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/installation.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - Installation - - - - - - - - - - - -
    -

    2. - Installation

    - -
    -

    2.1. Which - browsers are supported by Privoxy?

    - -

    Any browser that can be configured to use a proxy, which should be - virtually all browsers, including Firefox, Internet - Explorer, Opera, and - Safari among others. Direct browser - support is not an absolute requirement since Privoxy runs as a separate application and talks - to the browser in the standardized HTTP protocol, just like a web - server does.

    -
    - -
    -

    2.2. Which operating - systems are supported?

    - -

    At present, Privoxy is known to run - on Windows 95 and later versions (98, ME, 2000, XP, Vista, Windows 7 - etc.), GNU/Linux (RedHat, SuSE, Debian, Fedora, Gentoo, Slackware and - others), Mac OS X (10.4 and upwards on PPC and Intel processors), OS/2, - Haiku, DragonFly, FreeBSD, NetBSD, OpenBSD, Solaris, and various other - flavors of Unix.

    - -

    Privoxy used to work on AmigaOS and - QNX, too, but the code currently isn't maintained and its status - unknown. It might no longer compile, but getting it working again - shouldn't be too hard.

    - -

    But any operating system that runs TCP/IP, can conceivably take - advantage of Privoxy in a networked - situation where Privoxy would run as a - server on a LAN gateway. Then only the "gateway" needs to be running one of the above operating - systems.

    - -

    Source code is freely available, so porting to other operating - systems is always a possibility.

    -
    - -
    -

    2.3. Can I - use Privoxy with my email client?

    - -

    As long as there is some way to set a HTTP proxy for the client, - then yes, any application can be used, whether it is strictly speaking - a "browser" or not. Though this may not be - the best approach for dealing with some of the common abuses of HTML in - email. See How can I configure - Privoxy with Outlook? below for more on this.

    - -

    Be aware that HTML email presents a number of unique security and - privacy related issues, that can require advanced skills to overcome. - The developers recommend using email clients that can be configured to - convert HTML to plain text for these reasons.

    -
    - -
    -

    2.4. I just - installed Privoxy. Is there anything special I have to do now?

    - -

    All browsers should be told to use Privoxy as a proxy by specifying the correct proxy - address and port number in the appropriate configuration area for the - browser. It's possible to combine Privoxy with a packet filter to intercept HTTP - requests even if the client isn't explicitly configured to use - Privoxy, but where possible, - configuring the client is recommended. See the User Manual for more - details. You should also flush your browser's memory and disk cache - to get rid of any cached junk items, and remove any stored cookies.

    -
    - -
    -

    2.5. What is the - proxy address of Privoxy?

    - -

    If you set up the Privoxy to run on - the computer you browse from (rather than your ISP's server or some - networked computer on a LAN), the proxy will be on 127.0.0.1 (sometimes referred to as "localhost", which is the special name used by every - computer on the Internet to refer to itself) and the port will be 8118 - (unless you used the listen-address config option to tell Privoxy to run on a different port).

    - -

    When configuring your browser's proxy settings you typically enter - the word "localhost" or the IP address - "127.0.0.1" in the boxes next to - "HTTP" and "Secure" (HTTPS) and then the number "8118" for "port". This tells - your browser to send all web requests to Privoxy instead of directly to the Internet.

    - -

    Privoxy can also be used to proxy - for a Local Area Network. In this case, your would enter either the IP - address of the LAN host where Privoxy - is running, or the equivalent hostname, e.g. 192.168.1.1. Port assignment would be same as above. - Note that Privoxy doesn't listen on - any LAN interfaces by default.

    - -

    Privoxy does not currently handle - any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.

    -
    - -
    -

    2.6. I just installed - Privoxy, and nothing is happening. All the ads are there. What's - wrong?

    - -

    Did you configure your browser to use Privoxy as a proxy? It does not sound like it. See - above. You might also try flushing the browser's caches to force a full - re-reading of pages. You can verify that Privoxy is running, and your browser is correctly - configured by entering the special URL: http://p.p/. This should take you to a page titled - "This is Privoxy.." with access to - Privoxy's internal configuration. If - you see this, then you are good to go. If you receive a page saying - "Privoxy is not running", then the browser - is not set up to use your Privoxy - installation. If you receive anything else (probably nothing at all), - it could either be that the browser is not set up correctly, or that - Privoxy is not running at all. Check - the log - file. For instructions on starting Privoxy and browser configuration, see the - chapter on starting Privoxy - in the User - Manual.

    -
    - -
    -

    2.7. I get a - "Privoxy is not being used" dummy page - although Privoxy is running and being used.

    - -

    First, make sure that Privoxy is really running and being used by visiting - http://p.p/. You should see the - Privoxy main page. If not, see the - chapter on starting Privoxy - in the User - Manual.

    - -

    Now if http://p.p/ works for - you, but other parts of Privoxy's web - interface show the dummy page, your browser has cached a redirection it - encountered before Privoxy was being - used. You need to clear your browser's cache. Note that shift-reloading - the dummy page won't help, since that'll only refresh the dummy page, - not the redirection that lead you there.

    - -

    The procedure for clearing the cache varies from browser to browser. - For example, Mozilla/Netscape users - would click Edit --> Preferences --> Advanced --> Cache - and then click both "Clear - Memory Cache" and "Clear Disk Cache". In some Firefox versions it's Tools --> Options - --> Privacy --> Cache and then click "Clear Cache Now".

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/misc.html b/pkg content/usr/local/share/doc/privoxy/faq/misc.html deleted file mode 100644 index ebf30b2..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/misc.html +++ /dev/null @@ -1,898 +0,0 @@ - - - - - Miscellaneous - - - - - - - - - - - -
    -

    4. Miscellaneous

    - -
    -

    4.1. How much does - Privoxy slow my browsing down? This has to add extra time to - browsing.

    - -

    How much of an impact depends on many things, including the CPU of - the host system, how aggressive the configuration is, which specific - actions are being triggered, the size of the page, the bandwidth of the - connection, etc.

    - -

    Overall, it should not slow you down any in real terms, and may - actually help speed things up since ads, banners and other junk are not - typically being retrieved and displayed. The actual processing time - required by Privoxy itself for each - page, is relatively small in the overall scheme of things, and happens - very quickly. This is typically more than offset by time saved not - downloading and rendering ad images and other junk content (if ad - blocking is being used).

    - -

    "Filtering" content via the filter or deanimate-gifs actions may cause a perceived slowdown, - since the entire document needs to be buffered before displaying. And - on very large documents, filtering may have some measurable impact. How - much depends on the page size, the actual definition of the filter(s), - etc. See below. Most other actions have little to no impact on - speed.

    - -

    Also, when filtering is enabled but zlib support isn't available, - compression is often disabled (see prevent-compression). This can have an impact on speed as - well, although it's probably smaller than you might think. Again, the - page size, etc. will determine how much of an impact.

    -
    - -
    -

    4.2. I - notice considerable delays in page requests. What's wrong?

    - -

    If you use any filter - action, such as filtering banners by size, web-bugs etc, or the - deanimate-gifs action, the entire document must be - loaded into memory in order for the filtering mechanism to work, and - nothing is sent to the browser during this time.

    - -

    The loading time typically does not really change much in real - numbers, but the feeling is different, because most browsers are able - to start rendering incomplete content, giving the user a feeling of "it - works". This effect is more noticeable on slower dialup connections. - Extremely large documents may have some impact on the time to load the - page where there is filtering being done. But overall, the difference - should be very minimal. If there is a big impact, then probably some - other situation is contributing (like anti-virus software).

    - -

    Filtering is automatically disabled for inappropriate MIME types. - But note that if the web server mis-reports the MIME type, then content - that should not be filtered, could be. Privoxy only knows how to differentiate filterable - content because of the MIME type as reported by the server, or because - of some configuration setting that enables/disables filtering.

    -
    - -
    -

    4.3. What are - "http://config.privoxy.org/" and "http://p.p/"?

    - -

    http://config.privoxy.org/ is the address of Privoxy's built-in user interface, and http://p.p/ is a shortcut for it.

    - -

    Since Privoxy sits between your web - browser and the Internet, it can simply intercept requests for these - addresses and answer them with its built-in "web - server".

    - -

    This also makes for a good test for your browser configuration: If - entering the URL http://config.privoxy.org/ takes you to a page saying - "This is Privoxy ...", everything is OK. If - you get a page saying "Privoxy is not - working" instead, then your browser didn't use Privoxy for the request, hence it could not be - intercepted, and you have accessed the real web site at config.privoxy.org.

    -
    - -
    -

    4.4. How can I submit - new ads, or report problems?

    - -

    Please see the Contact section for - various ways to interact with the developers.

    -
    - -
    -

    4.5. If I do submit - missed ads, will they be included in future updates?

    - -

    Whether such submissions are eventually included in the default.action configuration file depends on how - significant the issue is. We of course want to address any potential - problem with major, high-profile sites such as Google, Yahoo, etc. Any site - with global or regional reach, has a good chance of being a candidate. - But at the other end of the spectrum are any number of smaller, - low-profile sites such as for local clubs or schools. Since their reach - and impact are much less, they are best handled by inclusion in the - user's user.action, and thus would be - unlikely to be included.

    -
    - -
    -

    4.6. Why doesn't - anyone answer my support request?

    - -

    Rest assured that it has been read and considered. Why it is not - answered, could be for various reasons, including no one has a good - answer for it, no one has had time to yet investigate it thoroughly, it - has been reported numerous times already, or because not enough - information was provided to help us help you. Your efforts are not - wasted, and we do appreciate them.

    -
    - -
    -

    4.7. How can I hide my IP - address?

    - -

    If you run both the browser and Privoxy locally, you cannot hide your IP address - with Privoxy or ultimately any other - software alone. The server needs to know your IP address so that it - knows where to send the responses back.

    - -

    There are many publicly usable "anonymous" proxies out there, which - provide a further level of indirection between you and the web - server.

    - -

    However, these proxies are called "anonymous" because you don't need - to authenticate, not because they would offer any real anonymity. Most - of them will log your IP address and make it available to the - authorities in case you violate the law of the country they run in. In - fact you can't even rule out that some of them only exist to *collect* - information on (those suspicious) people with a more than average - preference for privacy.

    - -

    If you want to hide your IP address from most adversaries, you - should consider chaining Privoxy with - Tor. The - configuration details can be found in How - do I use Privoxy together with - Tor section just below.

    -
    - -
    -

    4.8. Can Privoxy - guarantee I am anonymous?

    - -

    No. Your chances of remaining anonymous are improved, but unless you - chain Privoxy with Tor or a similar proxy and know what you're - doing when it comes to configuring the rest of your system, you should - assume that everything you do on the Web can be traced back to you.

    - -

    Privoxy can remove various - information about you, and allows you more freedom to decide which sites you can - trust, and what details you want to reveal. But it neither hides your - IP address, nor can it guarantee that the rest of the system behaves - correctly. There are several possibilities how a web sites can find out - who you are, even if you are using a strict Privoxy configuration and chained it with - Tor.

    - -

    Most of Privoxy's privacy-enhancing - features can be easily subverted by an insecure browser configuration, - therefore you should use a browser that can be configured to only - execute code from trusted sites, and be careful which sites you trust. - For example there is no point in having Privoxy modify the User-Agent header, if websites - can get all the information they want through JavaScript, ActiveX, - Flash, Java etc.

    - -

    A few browsers disclose the user's email address in certain - situations, such as when transferring a file by FTP. Privoxy does not filter FTP. If you need this - feature, or are concerned about the mail handler of your browser - disclosing your email address, you might consider products such as - NSClean.

    - -

    Browsers available only as binaries could use non-standard headers - to give out any information they can have access to: see the - manufacturer's license agreement. It's impossible to anticipate and - prevent every breach of privacy that might occur. The professionally - paranoid prefer browsers available as source code, because anticipating - their behavior is easier. Trust the source, Luke!

    -
    - -
    -

    4.9. A test site says I - am not using a Proxy.

    - -

    Good! Actually, they are probably testing for some other kinds of - proxies. Hiding yourself completely would require additional steps.

    -
    - -
    -

    4.10. How do I use Privoxy - together with Tor?

    - -

    Before you configure Privoxy to use - Tor, please - follow the User Manual chapters 2. Installation - and 5. Startup - to make sure Privoxy itself is setup - correctly.

    - -

    If it is, refer to Tor's - extensive documentation to learn how to install Tor, and make sure Tor's logfile says that "Tor - has successfully opened a circuit" and it "looks like client functionality is working".

    - -

    If either Tor or Privoxy isn't working, their combination most - likely will neither. Testing them on their own will also help you to - direct problem reports to the right audience. If Privoxy isn't working, don't bother the - Tor developers. If Tor isn't working, don't send bug reports to the - Privoxy Team.

    - -

    If you verified that Privoxy and - Tor are working, it is time to connect - them. As far as Privoxy is concerned, - Tor is just another proxy that can be - reached by socks4, socks4a and socks5. Most likely you are interested - in Tor to increase your anonymity - level, therefore you should use socks5, to make sure DNS requests are - done through Tor and thus invisible to - your local network. Using socks4a would work too, but with socks5 you - get more precise error messages.

    - -

    Since Privoxy 3.0.5, its main configuration file - is already prepared for Tor, if you - are using a default Tor configuration - and run it on the same system as Privoxy, you just have to edit the forwarding - section and uncomment the line:

    - - - - - -
    -
    -#        forward-socks5             /     127.0.0.1:9050 .
    -
    -
    -
    - -

    This is enough to reach the Internet, but additionally you might - want to uncomment the following forward rules, to make sure your local - network is still reachable through Privoxy:

    - - - - - -
    -
    -#        forward         192.168.*.*/     .
    -#        forward            10.*.*.*/     .
    -#        forward           127.*.*.*/     .
    -
    -
    -
    - -

    Unencrypted connections to systems in these address ranges will be - as (un)secure as the local network is, but the alternative is that your - browser can't reach the network at all. Then again, that may actually - be desired and if you don't know for sure that your browser has to be - able to reach the local network, there's no reason to allow it.

    - -

    If you want your browser to be able to reach servers in your local - network by using their names, you will need additional exceptions that - look like this:

    - - - - - -
    -
    -#        forward           localhost/     .
    -
    -
    -
    - -

    Save the modified configuration file and open http://config.privoxy.org/show-status in your browser, - confirm that Privoxy has reloaded its - configuration and that there are no other forward lines, unless you - know that you need them. If everything looks good, refer to Tor Faq 4.2 to learn how to verify that you are - really using Tor.

    - -

    Afterward, please take the time to at least skim through the rest of - Tor's documentation. Make sure you - understand what Tor does, why it is no - replacement for application level security, and why you probably don't - want to use it for unencrypted logins.

    -
    - -
    -

    4.11. Might some things - break because header information or content is being altered?

    - -

    Definitely. It is common for sites to use browser type, browser - version, HTTP header content, and various other techniques in order to - dynamically decide what to display and how to display it. What you see, - and what I see, might be very different. There are many, many ways that - this can be handled, so having hard and fast rules, is tricky.

    - -

    The "User-Agent" is sometimes used in - this way to identify the browser, and adjust content accordingly.

    - -

    Also, different browsers use different encodings of non-English - characters, certain web servers convert pages on-the-fly according to - the User Agent header. Giving a "User Agent" - with the wrong operating system or browser manufacturer causes some - sites in these languages to be garbled; Surfers to Eastern European - sites should change it to something closer. And then some page access - counters work by looking at the "Referer" - header; they may fail or break if unavailable. The weather maps of - Intellicast have been blocked by their server when no "Referer" or cookie is provided, is another example. - (But you can forge both headers without giving information away). There - are many other ways things can go wrong when trying to fool a web - server. The results of which could inadvertently cause pages to load - incorrectly, partially, or even not at all. And there may be no obvious - clues as to just what went wrong, or why. Nowhere will there be a - message that says "Turn off fast-redirects or - else! "

    - -

    Similar thoughts apply to modifying JavaScript, and, to a lesser - degree, HTML elements.

    - -

    If you have problems with a site, you will have to adjust your - configuration accordingly. Cookies are probably the most likely - adjustment that may be required, but by no means the only one.

    -
    - -
    -

    4.12. Can Privoxy act as - a "caching" proxy to speed up web - browsing?

    - -

    No, it does not have this ability at all. You want something like - Squid or - Polipo for this. And, yes, before you ask, Privoxy can co-exist with other kinds of proxies - like Squid. See the forwarding - chapter in the user manual for details.

    -
    - -
    -

    4.13. What about as a - firewall? Can Privoxy protect me?

    - -

    Not in the way you mean, or in the way some firewall vendors claim - they can. Privoxy can help protect - your privacy, but can't protect your system from intrusion attempts. It - is, of course, perfectly possible to use both.

    -
    - -
    -

    4.14. I have large empty - spaces / a checkerboard pattern now where ads used to be. Why?

    - -

    It is technically possible to eliminate banners and ads in a way - that frees their allocated page space. This could easily be done by - blocking with Privoxy's filters, and - eliminating the entire image references from the HTML page - source.

    - -

    But, this would consume considerably more CPU resources (IOW, slow - things down), would likely destroy the layout of some web pages which - rely on the banners utilizing a certain amount of page space, and might - fail in other cases, where the screen space is reserved (e.g. by HTML - tables for instance). Also, making ads and banners disappear without - any trace complicates troubleshooting, and would sooner or later be - problematic.

    - -

    The better alternative is to instead let them stay, and block the - resulting requests for the banners themselves as is now the case. This - leaves either empty space, or the familiar checkerboard pattern.

    - -

    So the developers won't support this in the default configuration, - but you can of course define appropriate filters yourself to achieve - this.

    -
    - -
    -

    4.15. How can Privoxy - filter Secure (HTTPS) URLs?

    - -

    Since secure HTTP connections are encrypted SSL sessions between - your browser and the secure site, and are meant to be reliably - secure, there is - little that Privoxy can do but hand - the raw gibberish data though from one end to the other - unprocessed.

    - -

    The only exception to this is blocking by host patterns, as the - client needs to tell Privoxy the name - of the remote server, so that Privoxy - can establish the connection. If that name matches a host-only pattern, - the connection will be blocked.

    - -

    As far as ad blocking is concerned, this is less of a restriction - than it may seem, since ad sources are often identifiable by the host - name, and often the banners to be placed in an encrypted page come - unencrypted nonetheless for efficiency reasons, which exposes them to - the full power of Privoxy's ad - blocking.

    - -

    "Content cookies" (those that are - embedded in the actual HTML or JS page content, see filter{content-cookies}), in an SSL transaction will be - impossible to block under these conditions. Fortunately, this does not - seem to be a very common scenario since most cookies come by - traditional means.

    -
    - -
    -

    4.16. Privoxy runs as a - "server". How secure is it? Do I need to - take any special precautions?

    - -

    On Unix-like systems, Privoxy can - run as a non-privileged user, which is how we recommend it be run. - Also, by default Privoxy listens to - requests from "localhost" only.

    - -

    The server aspect of Privoxy is not - itself directly exposed to the Internet in this configuration. If you - want to have Privoxy serve as a LAN - proxy, this will have to be opened up to allow for LAN requests. In - this case, we'd recommend you specify only the LAN gateway address, - e.g. 192.168.1.1, in the main Privoxy - configuration file and check all access - control and security options. All LAN hosts can then use this as - their proxy address in the browser proxy configuration, but - Privoxy will not listen on any - external interfaces. ACLs can be defined in addition, and using a - firewall is always good too. Better safe than sorry.

    -
    - -
    -

    4.17. Can I - temporarily disable Privoxy?

    - -

    Privoxy doesn't have a transparent - proxy mode, but you can toggle off blocking and content filtering.

    - -

    The easiest way to do that is to point your browser to the remote - toggle URL: http://config.privoxy.org/toggle.

    - -

    See the Bookmarklets section of the User - Manual for an easy way to access this feature. Note that this is a - feature that may need to be enabled in the main config file.

    -
    - -
    -

    4.18. When - "disabled" is Privoxy totally out of the - picture?

    - -

    No, this just means all optional filtering and actions are disabled. - Privoxy is still acting as a proxy, - but just doing less of the things that Privoxy would normally be expected to do. It is - still a "middle-man" in the interaction - between your browser and web sites. See below to bypass the proxy.

    -
    - -
    -

    4.19. How can I tell - Privoxy to totally ignore certain sites?

    - -

    Bypassing a proxy, or proxying based on arbitrary criteria, is - purely a browser configuration issue, not a Privoxy issue. Modern browsers typically do have - settings for not proxying certain sites. Check your browser's help - files.

    -
    - -
    -

    4.20. My logs show - Privoxy "crunches" ads, but also its own - internal CGI pages. What is a "crunch"?

    - -

    A "crunch" simply means Privoxy intercepted something, nothing more. - Often this is indeed ads or banners, but Privoxy uses the same mechanism for trapping - requests for its own internal pages. For instance, a request for - Privoxy's configuration page at: - http://config.privoxy.org, is intercepted (i.e. it does not - go out to the 'net), and the familiar CGI configuration is returned to - the browser, and the log consequently will show a "crunch".

    - -

    Since version 3.0.7, Privoxy will also log the crunch reason. If you - are using an older version you might want to upgrade.

    -
    - -
    -

    4.21. Can Privoxy - effect files that I download from a webserver? FTP server?

    - -

    From the webserver's perspective, there is no difference between - viewing a document (i.e. a page), and downloading a file. The same is - true of Privoxy. If there is a match - for a block - pattern, it will still be blocked, and of course this is obvious.

    - -

    Filtering is potentially more of a concern since the results are not - always so obvious, and the effects of filtering are there whether the - file is simply viewed, or downloaded. And potentially whether the - content is some obnoxious advertisement, or Mr. Jimmy's latest/greatest - source code jewel. Of course, one of these presumably is "bad" content that we don't want, and the other is - "good" content that we do want. Privoxy is blind to the differences, and can only - distinguish "good from bad" by the - configuration parameters we give it.

    - -

    Privoxy knows the differences in - files according to the "Content Type" as - reported by the webserver. If this is reported accurately (e.g. - "application/zip" for a zip archive), then - Privoxy knows to ignore these where - appropriate. Privoxy potentially can - filter HTML as well as plain text documents, subject to configuration - parameters of course. Also, documents that are of an unknown type - (generally assumed to be "text/plain") can - be filtered, as will those that might be incorrectly reported by the - webserver. If such a file is a downloaded file that is intended to be - saved to disk, then any content that might have been altered by - filtering, will be saved too, for these (probably rare) cases.

    - -

    Note that versions later than 3.0.2 do NOT filter document types - reported as "text/plain". Prior to this, - Privoxy did filter this document - type.

    - -

    In short, filtering is "ON" if a) the - content type as reported by the webserver is appropriate and b) the configuration - allows it (or at least does not disallow it). That's it. There is no - magic cookie anywhere to say this is "good" - and this is "bad". It's the configuration - that lets it all happen or not.

    - -

    If you download text files, you probably do not want these to be - filtered, particularly if the content is source code, or other critical - content. Source code sometimes might be mistaken for Javascript (i.e. - the kind that might open a pop-up window). It is recommended to turn - off filtering for download sites (particularly if the content may be - plain text files and you are using version 3.0.2 or earlier) in your - user.action file. And also, for any site or - page where making any changes at all to the content is to be - avoided.

    - -

    Privoxy does not do FTP at all, - only HTTP and HTTPS (SSL) protocols.

    -
    - - - -
    -

    4.23. Should I - continue to use a "HOSTS" file for - ad-blocking?

    - -

    One time-tested technique to defeat common ads is to trick the local - DNS system by giving a phony IP address for the ad generator in the - local HOSTS file, typically using 127.0.0.1, aka localhost. This - effectively blocks the ad.

    - -

    There is no reason to use this technique in conjunction with - Privoxy. Privoxy does essentially the same thing, much more - elegantly and with much more flexibility. A large HOSTS file, in fact, not only duplicates effort, but - may get in the way and seriously slow down your system. It is - recommended to remove such entries from your HOSTS file. If you think your hosts list is neglected - by Privoxy's configuration, consider - adding your list to your user.action - file:

    - - - - - -
    -
    -  { +block }
    -   www.ad.example1.com
    -   ad.example2.com
    -   ads.galore.example.com
    -   etc.example.com
    -
    -
    -
    - -
    -

    4.24. Where can I find - more information about Privoxy and related issues?

    - -

    Other references and sites of interest to Privoxy users:

    - - - - - - - -
    http://www.privoxy.org/, the Privoxy Home page.
    - - - - - - - -
    http://www.privoxy.org/faq/, the Privoxy FAQ.
    - - - - - - - -
    http://www.privoxy.org/developer-manual/, the - Privoxy developer manual.
    - - - - - - - -
    https://sourceforge.net/projects/ijbswa/, the Project - Page for Privoxy on SourceForge.
    - - - - - - - -
    http://config.privoxy.org/, the web-based user - interface. Privoxy must be - running for this to work. Shortcut: http://p.p/
    - - - - - - - -
    https://sourceforge.net/tracker/?group_id=11118&atid=460288, - to submit "misses" and other - configuration related suggestions to the developers.
    - - - - - - - -
    http://www.squid-cache.org/, a popular caching proxy, - which is often used together with Privoxy.
    - - - - - - - -
    http://www.pps.jussieu.fr/~jch/software/polipo/, - Polipo is a caching proxy with - advanced features like pipelining, multiplexing and caching of - partial instances. In many setups it can be used as Squid replacement.
    - - - - - - - -
    https://www.torproject.org/, Tor can help anonymize web browsing, web - publishing, instant messaging, IRC, SSH, and other - applications.
    -
    - -
    -

    4.25. I've noticed - that Privoxy changes "Microsoft" to - "MicroSuck"! Why are you manipulating my - browsing?

    - -

    We're not. The text substitutions that you are seeing are disabled - in the default configuration as shipped. You have either manually - activated the "fun" - filter which is clearly labeled "Text replacements - for subversive browsing fun!" or you are using an older Privoxy - version and have implicitly activated it by choosing the "Advanced" profile in the web-based editor. Please - upgrade.

    -
    - -
    -

    4.26. Does Privoxy produce - "valid" HTML (or XHTML)?

    - -

    Privoxy generates HTML in both its own "templates", and possibly whenever there are text - substitutions via a Privoxy filter. - While this should always conform to the HTML 4.01 specifications, it - has not been validated against this or any other standard.

    -
    - -
    -

    4.27. How did you manage to get Privoxy on my - computer without my consent?

    - -

    We didn't. We make Privoxy available for download, but we don't go - around installing it on other people's systems behind their back. If - you discover Privoxy running on your system and are sure you didn't - install it yourself, somebody else did. You may not even be running the - real Privoxy, but maybe something else that only pretends to be - Privoxy, or maybe something that is based on the real Privoxy, but has - been modified.

    - -

    Lately there have been reports of problems with some kind of Privoxy - versions that come preinstalled on some Netbooks. Some of the problems - described are inconsistent with the behaviour of official Privoxy - versions, which suggests that the preinstalled software may contain - vendor modifications that we don't know about and thus can't debug.

    - -

    Privoxy's license allows vendor - modifications, but the vendor has to comply with the license, which - involves informing the user about the changes and to make the changes - available under the same license as Privoxy itself.

    - -

    If you are having trouble with a modified Privoxy version, please - try to talk to whoever made the modifications before reporting the - problem to us. Please also try to convince whoever made the - modifications to talk to us. If you think somebody gave you a modified - Privoxy version without complying to the license, please let us - know.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/faq/trouble.html b/pkg content/usr/local/share/doc/privoxy/faq/trouble.html deleted file mode 100644 index 2d8ae47..0000000 --- a/pkg content/usr/local/share/doc/privoxy/faq/trouble.html +++ /dev/null @@ -1,723 +0,0 @@ - - - - - Troubleshooting - - - - - - - - - - - -
    -

    5. - Troubleshooting

    - -
    -

    5.1. I cannot connect - to any websites. Or, I am getting "connection - refused" message with every web page. Why?

    - -

    There are several possibilities:

    - -
      -
    • -

      Privoxy is not running. - Solution: verify that Privoxy is - installed correctly, has not crashed, and is indeed running. Turn - on Privoxy's logging, and look at - the logs to see what they say.

      -
    • - -
    • -

      Or your browser is configured for a different port than what - Privoxy is using. Solution: verify - that Privoxy and your browser are - set to the same port (listen-address).

      -
    • - -
    • -

      Or if using a forwarding rule, you have a configuration problem - or a problem with a host in the forwarding chain. Solution: - temporarily alter your configuration and take the forwarders out of - the equation.

      -
    • - -
    • -

      Or you have a firewall that is interfering and blocking you. - Solution: try disabling or removing the firewall as a simple - test.

      -
    • -
    -
    - -
    -

    5.2. Why am I - getting a 503 Error (WSAECONNREFUSED) on every page?

    - -

    More than likely this is a problem with your TCP/IP networking. - ZoneAlarm has been reported to cause this symptom -- even if not - running! The solution is to either fight the ZA configuration, or - uninstall ZoneAlarm, and then find something better behaved in its - place. Other personal firewall type products may cause similar type - problems if not configured correctly.

    -
    - -
    -

    5.3. I just added a - new rule, but the steenkin ad is still getting through. How?

    - -

    If the ad had been displayed before you added its URL, it will - probably be held in the browser's cache for some time, so it will be - displayed without the need for any request to the server, and - Privoxy will not be involved. Flush - the browser's caches, and then try again.

    - -

    If this doesn't help, you probably have an error in the rule you - applied. Try pasting the full URL of the offending ad into http://config.privoxy.org/show-url-info and see if it really - matches your new rule. Blocking ads is like blocking spam: a lot of - tinkering is required to stay ahead of the game. And remember you need - to block the URL of the ad in question, which may be entirely different - from the site URL itself. Most ads are hosted on different servers than - the main site itself. If you right-click on the ad, you should be able - to get all the relevant information you need. Alternately, you can find - the correct URL by looking at Privoxy's logs (you may need to enable logging in - the main config file if its disabled).

    - -

    Below is a slightly modified real-life log snippet that originates - with one requested URL: www.example.com (name - of site was changed for this example, the number of requests is real). - You can see in this the complexity of what goes into making up this one - "page". There are eight different domains - involved here, with thirty two separate URLs requested in all, making - up all manner of images, Shockwave Flash, JavaScript, CSS stylesheets, - scripts, and other related content. Some of this content is obviously - "good" or "bad", - but not all. Many of the more questionable looking requests, are going - to outside domains that seem to be identifying themselves with - suspicious looking names, making our job a little easier. Privoxy has "crunched" - (meaning caught and BLOCKED) quite a few items in this example, but - perhaps missed a few as well.

    - - - - - -
    -
    -Request: www.example.com/
    -Request: www.example.com/favicon.ico
    -Request: img.example.com/main.css
    -Request: img.example.com/sr.js
    -Request: example.betamarker.com/example.html
    -Request: www.lik-sang.com/Banners/bestsellers/skyscraper.php?likref=BSellers
    -Request: img.example.com/pb.png
    -Request: www.google-analytics.com/urchin.js crunch! (Blocked)
    -Request: www.advertising-department.com/ats/switch.ps.php?26856 crunch! (Blocked)
    -Request: img.example.com/p.gif
    -Request: www.popuptraffic.com/assign.php?l=example&mode=behind crunch! (Blocked)
    -Request: www.popuptraffic.com/scripts/popup.php?hid=5c3cf&tmpl=PBa.tmpl crunch! (Blocked)
    -Request: www.popuptraffic.com/assign.php?l=example crunch! (Blocked)
    -Request: www.lik-sang.com/Banners/best_sellers/best_sellers.css
    -Request: www.adtrak.net/adx.js crunch! (Blocked)
    -Request: img.example.com/hbg.gif
    -Request: img.example.com/example.jpg
    -Request: img.example.com/mt.png
    -Request: img.example.com/mm.png
    -Request: img.example.com/mb.png
    -Request: www.popuptraffic.com/scripts/popup.php?hid=a71b91fa5&tmpl=Ua.tmp crunch! (Blocked)
    -Request: www.example.com/tracker.js
    -Request: www.lik-sang.com/Banners/best_sellers/lsi_head.gif
    -Request: www.adtrak.net/adjs.php?n=020548130&what=zone:61 crunch! (Blocked)
    -Request: www.adtrak.net/adjs.php?n=463594413&what=zone:58&source=Ua crunch! (Blocked)
    -Request: www.lik-sang.com/Banners/best_sellers/bottomani.swf
    -Request: mmm.elitemediagroup.net/install.php?allowpop=no&popupmincook=0&allowsp2=1 crunch! (Blocked)
    -Request: www.example.com/tracker.js?screen=1400x1050&win=962x693
    -Request: www.adtrak.net/adlog.php?bannerid=1309&clientid=439&zoneid=61 crunch! (Blocked)
    -Request: 66.70.21.80/scripts/click.php?hid=5c3cf599a9efd0320d26&si
    -Request: 66.70.21.80/img/pixel.gif
    -Request: www.adtrak.net/adlog.php?bannerid=1309&clientid=439&zoneid=58&source=Ua&block=86400 crunch! (Blocked)
    -Request: 66.70.21.80/scripts/click.php?hid=a71b9f6504b0c5681fa5&si=Ua
    -
    -
    - -

    Despite 12 out of 32 requests being blocked, the page looked, and - seemed to behave perfectly "normal" (minus - some ads, of course).

    -
    - -
    -

    5.4. One of my - favorite sites does not work with Privoxy. What can I do?

    - -

    First verify that it is indeed a Privoxy problem, by toggling off Privoxy through http://config.privoxy.org/toggle (the toggle feature may - need to be enabled in the main config), and - then shift-reloading the problem page (i.e. holding down the shift key - while clicking reload. Alternatively, flush your browser's disk and - memory caches).

    - -

    If the problem went away, we know we have a configuration related - problem. Now go to http://config.privoxy.org/show-url-info and paste the - full URL of the page in question into the prompt. See which actions are - being applied to the URL, and which matches in which actions files are - responsible for that. It might be helpful also to look at your logs for - this site too, to see what else might be happening (note: logging may - need to be enabled in the main config file). Many sites are complex and - require a number of related pages to help present their content. Look - at what else might be used by the page in question, and what of that - might be required. Now, armed with this information, go to - http://config.privoxy.org/show-status and select the - appropriate actions files for editing.

    - -

    You can now either look for a section which disables the actions - that you suspect to cause the problem and add a pattern for your site - there, or make up a completely new section for your site. In any case, - the recommended way is to disable only the prime suspect, reload the - problem page, and only if the problem persists, disable more and more - actions until you have identified the culprit. You may or may not want - to turn the other actions on again. Remember to flush your browser's - caches in between any such changes!

    - -

    Alternately, if you are comfortable with a text editor, you can - accomplish the same thing by editing the appropriate actions file. - Probably the easiest way to deal with such problems when editing by - hand is to add your site to a { fragile } - section in user.action, which is an alias - that turns off most "dangerous" actions, but - is also likely to turn off more actions then needed, and thus lower - your privacy and protection more than necessary,

    - -

    Troubleshooting actions is discussed in more detail in the User Manual - appendix, Troubleshooting: the Anatomy of an Action. There is also - an actions tutorial with general configuration information and - examples.

    - -

    As a last resort, you can always see if your browser has a setting - that will bypass the proxy setting for selective sites. Modern browsers - can do this.

    -
    - -
    -

    5.5. After installing Privoxy, - I have to log in every time I start IE. What gives?

    - -

    This is a quirk that effects the installation of Privoxy, in conjunction with Internet Explorer and - Internet Connection Sharing on Windows 2000 and Windows XP. The - symptoms may appear to be corrupted or invalid DUN settings, or - passwords.

    - -

    When setting up an NT based Windows system with Privoxy you may find that things do not seem to be - doing what you expect. When you set your system up you will probably - have set up Internet Connection Sharing (ICS) with Dial up Networking - (DUN) when logged in with administrator privileges. You will probably - have made this DUN connection available to other accounts that you may - have set-up on your system. E.g. Mum or Dad sets up the system and - makes accounts suitably configured for the kids.

    - -

    When setting up Privoxy in this - environment you will have to alter the proxy set-up of Internet - Explorer (IE) for the specific DUN connection on which you wish to use - Privoxy. When you do this the ICS DUN - set-up becomes user specific. In this instance you will see no - difference if you change the DUN connection under the account used to - set-up the connection. However when you do this from another user you - will notice that the DUN connection changes to make available to "Me - only". You will also find that you have to store the password under - each different user!

    - -

    The reason for this is that each user's set-up for IE is user - specific. Each set-up DUN connection and each LAN connection in IE - store the settings for each user individually. As such this enforces - individual configurations rather than common ones. Hence the first time - you use a DUN connection after re-booting your system it may not - perform as you expect, and prompt you for the password. Just set and - save the password again and all should be OK.

    - -

    [Thanks to Ray Griffith for this submission.]

    -
    - -
    -

    5.6. I cannot connect to any - FTP sites. Privoxy is blocking me.

    - -

    Privoxy cannot act as a proxy for - FTP traffic, so do not configure your browser to use Privoxy as an FTP proxy. The same is true for - any protocol other than HTTP - or HTTPS (SSL).

    - -

    Most browsers understand FTP as well as HTTP. If you connect to a - site, with a URL like ftp://ftp.example.com, - your browser is making an FTP connection, and not a HTTP connection. So - while your browser may speak FTP, Privoxy does not, and cannot proxy such - traffic.

    - -

    To complicate matters, some systems may have a generic "proxy" setting, which will enable various protocols, - including both - HTTP and FTP proxying! So it is possible to accidentally enable FTP - proxying in these cases. And of course, if this happens, Privoxy will indeed cause problems since it does - not know FTP. Newer version will give a sane error message if a FTP - connection is attempted. Just disable the FTP setting and all will be - well again.

    - -

    Will Privoxy ever proxy FTP - traffic? Unlikely. There just is not much reason, and the work to make - this happen is more than it may seem.

    -
    - -
    -

    5.7. In Mac OS X, I - can't configure Microsoft Internet Explorer to use Privoxy as the HTTP - proxy.

    - -

    Microsoft Internet Explorer (in versions like 5.1) respects - system-wide network settings. In order to change the HTTP proxy, open - System Preferences, and click on the Network icon. In the settings pane - that comes up, click on the Proxies tab. Ensure the "Web Proxy (HTTP)" - checkbox is checked and enter 127.0.0.1 in the - entry field. Enter 8118 in the Port field. The - next time you start IE, it should reflect these values.

    -
    - -
    -

    5.8. - In Mac OS X, I dragged the Privoxy folder to the trash in order to - uninstall it. Now the finder tells me I don't have sufficient - privileges to empty the trash.

    - -

    Note: This ONLY applies to privoxy 3.0.6 and earlier.

    - -

    Just dragging the Privoxy folder to - the trash is not enough to delete it. Privoxy supplies an uninstall.command file that takes care of these - details. Open the trash, drag the uninstall.command file out of the trash and - double-click on it. You will be prompted for confirmation and the - administration password.

    - -

    The trash may still appear full after this command; emptying the - trash from the desktop should make it appear empty again.

    -
    - -
    -

    5.9. In Mac - OS X Panther (10.3), images often fail to load and/or I experience - random delays in page loading. I'm using localhost as my browser's proxy setting.

    - -

    We believe this is due to an IPv6-related bug in Mac OS X, but don't - fully understand the issue yet. In any case, changing the proxy setting - to 127.0.0.1 instead of localhost works around the problem.

    -
    - -
    -

    5.10. I get a - completely blank page at one site. "View - Source" shows only: <html><body></body></html>. - Without Privoxy the page loads fine.

    - -

    Chances are that the site suffers from a bug in PHP, which results in empty pages being sent - if the client explicitly requests an uncompressed page, like - Privoxy does. This bug has been fixed - in PHP 4.2.3.

    - -

    To find out if this is in fact the source of the problem, try adding - the site to a -prevent-compression section in - user.action:

    - - - - - -
    -
    -   # Make exceptions for ill-behaved sites:
    -   #
    -   {-prevent-compression}
    -    .example.com
    -
    -
    - -

    If that works, you may also want to report the problem to the site's - webmasters, telling them to use zlib.output_compression instead of - ob_gzhandler in their PHP applications (workaround) or upgrade to PHP - 4.2.3 or later (fix).

    -
    - -
    -

    5.11. My logs - show many "Unable to get my own hostname" - lines. Why?

    - -

    Privoxy tries to get the hostname - of the system its running on from the IP address of the system - interface it is bound to (from the config - file listen-address setting). If the system cannot - supply this information, Privoxy logs - this condition.

    - -

    Typically, this would be considered a minor system configuration - error. It is not a fatal error to Privoxy however, but may result in a much slower - response from Privoxy on some - platforms due to DNS timeouts.

    - -

    This can be caused by a problem with the local hosts file. If this file has been changed from the - original, try reverting it to see if that helps. Make sure whatever - name(s) are used for the local system, that they resolve both ways.

    - -

    You should also be able to work around the problem with the hostname - option.

    -
    - -
    -

    5.12. When I try to launch - Privoxy, I get an error message "port 8118 is - already in use" (or similar wording). Why?

    - -

    Port 8118 is Privoxy's default TCP - "listening" port. Typically this message - would mean that there is already one instance of Privoxy running, and your system is actually - trying to start a second Privoxy on - the same port, which will not work. (You can have multiple instances - but they must be assigned different ports.) How and why this might - happen varies from platform to platform, but you need to check your - installation and start-up procedures.

    -
    - -
    -

    5.13. Pages - with UTF-8 fonts are garbled.

    - -

    This is caused by the "demoronizer" - filter. You should either upgrade Privoxy, or at least upgrade to the most recent - default.action file available from SourceForge. Or you can simply disable the demoronizer - filter.

    -
    - -
    -

    5.14. Why - are binary files (such as images) corrupted when Privoxy is - used?

    - -

    This may also be caused by the "demoronizer" filter, in conjunction with a web server - that is misreporting the content type. Binary files are exempted from - Privoxy's filtering (unless the web - server by mistake says the file is something else). Either upgrade - Privoxy, or go to the most recent - default.action file available from SourceForge.

    -
    - -
    -

    5.15. What - is the "demoronizer" and why is it - there?

    - -

    The original demoronizer was a Perl script that cleaned up HTML - pages which were created with certain Microsoft products. MS has used - proprietary extensions to standardized font encodings (ISO 8859-1), - which has caused problems for pages that are viewed with non-Microsoft - products (and are expecting to see a standard set of fonts). The - demoronizer corrected these errors so the pages displayed correctly. - Privoxy borrowed from this script, - introducing a filter based on the original demoronizer, which in turn - could correct these errors on the fly.

    - -

    But this is only needed in some situations, and will cause serious - problems in some other situations.

    - -

    If you are using Microsoft products, you do not need it. If you need - to view pages with UTF-8 characters (such as Cyrillic or Chinese), then - it will cause corruption of the fonts, and thus should not be on.

    - -

    On the other hand, if you use non-Microsoft products, and you - occasionally notice weird characters on pages, you might want to try - it.

    -
    - -
    -

    5.16. Why do I - keep seeing "PrivoxyWindowOpen()" in raw - source code?

    - -

    Privoxy is attempting to disable - malicious Javascript in this case, with the unsolicited-popups filter. Privoxy cannot tell very well "good" code snippets from "bad" code snippets.

    - -

    If you see this in HTML source, and the page displays without - problems, then this is good, and likely some pop-up window was - disabled. If you see this where it is causing a problem, such as a - downloaded program source code file, then you should set an exception - for this site or page such that the integrity of the page stays in tact - by disabling all filtering.

    -
    - -
    -

    5.17. I am getting - too many DNS errors like "404 No Such - Domain". Why can't Privoxy do this better?

    - -

    There are potentially several factors here. First of all, the DNS - resolution is done by the underlying operating system -- not - Privoxy itself. Privoxy merely initiates the process and hands it - off, and then later reports whatever the outcome was and tries to give - a coherent message if there seems to be a problem. In some cases, this - might otherwise be mitigated by the browser itself which might try some - work-arounds and alternate approaches (e.g adding "www." to the URL).

    - -

    In other cases, if Privoxy is being - chained with another proxy, this could complicate the issue, and cause - undue delays and timeouts. In the case of a "socks4a" proxy, the socks server handles all the DNS. - Privoxy would just be the "messenger" which is reporting whatever problem occurred - downstream, and not the root cause of the error.

    - -

    In any case, versions newer than 3.0.3 include various improvements - to help Privoxy better handle these - cases.

    -
    - -
    -

    5.18. At one site - Privoxy just hangs, and starts taking all CPU. Why is this?

    - -

    This is probably a manifestation of the "100% - cpu" problem that occurs on pages containing many (thousands - upon thousands) of blank lines. The blank lines are in the raw HTML - source of the page, and the browser just ignores them. But the pattern - matching in Privoxy's page filtering - mechanism is trying to match against absurdly long strings and this - becomes very CPU-intensive, taking a long, long time to complete.

    - -

    Until a better solution comes along, disable filtering on these - pages, particularly the js-annoyances and - unsolicited-popups filters. If you run into - this problem with a recent Privoxy - version, please send a problem report.

    -
    - -
    -

    5.19. I just - installed Privoxy, and all my browsing has slowed to a crawl. What - gives?

    - -

    This should not happen, and for the overwhelming number of users - world-wide, it does not happen. I would suspect some inadvertent - interaction of software components such as anti-virus software, spyware - protectors, personal firewalls or similar components. Try disabling (or - uninstalling) these one at a time and see if that helps. Either way, if - you are using a recent Privoxy - version, please report the problem.

    -
    - -
    -

    5.20. Why do - my filters work on some sites but not on others?

    - -

    It's probably due to compression. It is a common practice for web - servers to send their content "compressed" - in order to speed things up, and then let the browser "uncompress" them. When compiled with zlib support - Privoxy can decompress content before - filtering, otherwise you may want to enable prevent-compression.

    - -

    As of Privoxy 3.0.9, zlib support - is enabled in the default builds.

    -
    - -
    -

    5.21. On - some HTTPS sites my browser warns me about unauthenticated content, the - URL bar doesn't get highlighted and the lock symbol appears to be - broken. What's going on?

    - -

    Probably the browser is requesting ads through HTTPS and - Privoxy is blocking the requests. - Privoxy's error messages are delivered unencrypted and while it's - obvious for the browser that the HTTPS request is already blocked by - the proxy, some warn about unauthenticated content anyway.

    - -

    To work around the problem you can redirect those requests to an - invalid local address instead of blocking them. While the redirects - aren't encrypted either, many browsers don't care. They simply follow - the redirect, fail to reach a server and display an error message - instead of the ad.

    - -

    To do that, enable logging to figure out which requests get blocked - by Privoxy and add the hosts (no path - patterns) to a section like this:

    - - - - - -
    -
    -{+redirect{http://127.0.0.1:0/} -block -limit-connect}
    -.ivwbox.de:443/
    -
    -
    - -

    Additionally you have to configure your browser to contact - "127.0.0.1:0" directly (instead of through - Privoxy).

    - -

    To add a proxy exception in Mozilla - Firefox open the "Preferences", click - the "Settings" button located on the - "Network" tab in the "Advanced" section, and add "127.0.0.1:0" in the "No Proxy - for:" field.

    -
    - -
    -

    5.22. I get selinux - error messages. How can I fix this?

    - -

    Please report the problem to the creator of your selinux - policies.

    - -

    The problem is that some selinux policy writers aren't familiar with - the application they are trying to "secure" - and thus create policies that make no sense.

    - -

    In Privoxy's case the problem - usually is that the policy only allows outgoing connections for certain - destination ports (e.g. 80 and 443). While this may cover the standard - ports, websites occasionally use other ports as well. This isn't a - security problem and therefore Privoxy's default configuration doesn't block - these requests.

    - -

    If you really want to block these ports (and don't be able to load - websites that don't use standard ports), you should configure Privoxy - to block these ports as well, so it doesn't trigger the selinux - warnings.

    -
    - -
    -

    5.23. I - compiled Privoxy with Gentoo's portage - and it appears to be very slow. Why?

    - -

    Probably you unintentionally compiled Privoxy without threading support in which case - requests have to be serialized and only one can be served at the same - time.

    - -

    Check your "USE" flags and make sure they - include "threads". If they don't, add the - flag and rebuild Privoxy.

    - -

    If you compiled Privoxy with - threading support (on POSIX-based systems), the "Conditional #defines" section on http://config.privoxy.org/show-status will list "FEATURE_PTHREAD" as "enabled".

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/images/files-in-use.jpg b/pkg content/usr/local/share/doc/privoxy/images/files-in-use.jpg deleted file mode 100644 index 207b6f7..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/images/files-in-use.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/images/proxy_setup.jpg b/pkg content/usr/local/share/doc/privoxy/images/proxy_setup.jpg deleted file mode 100644 index 9e80f97..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/images/proxy_setup.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/man-page/privoxy-man-page.html b/pkg content/usr/local/share/doc/privoxy/man-page/privoxy-man-page.html deleted file mode 100644 index 219e390..0000000 --- a/pkg content/usr/local/share/doc/privoxy/man-page/privoxy-man-page.html +++ /dev/null @@ -1,314 +0,0 @@ - - - - - Man page of PRIVOXY - - - - -

    PRIVOXY

    Section: (1)
    - Updated: 02 March 2013
    - Index -
    -   - -

    NAME

    privoxy - Privacy Enhancing Proxy   - -

    SYNOPSIS

    - -

    privoxy [--chroot ] [--config-test ] [--help - ] [--no-daemon ] [--pidfile pidfile ] - [--pre-chroot-nslookup hostname ] [--user - user[.group] ] [--version ] [configfile ]

    - -

     

    - -

    OPTIONS

    - -

    Privoxy may be invoked with the following command line - options:

    - -
    -
    --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.
    - -
    --config-test
    - -
    - Exit after loading the configuration files before binding to the listen - address. The exit code signals whether or not the configuration files - have been successfully loaded. - -

    If the exit code is 1, at least one of the configuration files is - invalid, if it is 0, all the configuration files have been successfully - loaded (but may still contain errors that can currently only be - detected at run time).

    - -

    This option doesn't affect the log setting, combination with - "--no-daemon" is recommended if a configured log file shouldn't be - used.

    -
    - -
    --help
    - -
    Print brief usage 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.
    - -
    --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.
    - -
    --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.
    - -
    --version
    - -
    Print version info and exit.
    -
    - -

    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

    - -

    Privoxy is a non-caching web proxy with advanced filtering capabilities - for enhancing privacy, modifying web page data and HTTP headers, - controlling access, and removing ads and other obnoxious Internet junk. - Privoxy has a flexible configuration and can be customized to suit - individual needs and tastes. It has application for both stand-alone - systems and multi-user networks.

    - -

    Privoxy is Free Software and licensed under the GNU GPLv2.

    - -

    Privoxy is an associated project of Software in the Public Interest - (SPI).

    - -

    Helping hands and donations are welcome:

    - -
    -
    - -
    http://www.privoxy.org/faq/general.html#PARTICIPATE
    - -
    - -
    http://www.privoxy.org/faq/general.html#DONATE
    -
      - -

    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 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, - default.action and default.action. user.action should - be used for locally defined exceptions to the default rules in - match-all.action and 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.  

    - -

    FILES

    -
    - /usr/sbin/privoxy
    - /etc/privoxy/config
    - /etc/privoxy/match-all.action
    - /etc/privoxy/default.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 and SIGTERM - 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. Signals other than the - ones listed above aren't explicitly handled and result in the default - action defined by the operating system.  

    - -

    NOTES

    - -

    Please see the User Manual on how to contact the developers, for - feature requests, reporting problems, and other questions.  

    - -

    SEE ALSO

    - -

    Other references and sites of interest to Privoxy users:

    - -

    http://www.privoxy.org/, the - Privoxy Home page.

    - -

    http://www.privoxy.org/faq/, - the Privoxy FAQ.

    - -

    http://www.privoxy.org/developer-manual/, - the Privoxy developer manual.

    - -

    https://sourceforge.net/projects/ijbswa/, - the Project Page for Privoxy on SourceForge.

    - -

    http://config.privoxy.org/, the - web-based user interface. Privoxy must be running for this to work. - Shortcut: http://p.p/

    - -

    https://sourceforge.net/tracker/?group_id=11118&atid=460288, - to submit ``misses'' and other configuration related suggestions to the - developers.  

    - -

    DEVELOPMENT TEAM

    -
    - Fabian Keil, lead developer
    - David Schmidt
    - Hal Burgiss
    - Lee Rian
    - Roland Rosenfeld
    - Ian Silvester
    -
      - -

    COPYRIGHT AND LICENSE

      - -

    COPYRIGHT

    - -

    Copyright (C) 2001-2013 by Privoxy Developers <ijbswa-developers@lists.sourceforge.net>

    - -

    Some source code is based on code Copyright (C) 1997 by Anonymous Coders - and Junkbusters, Inc. and licensed under the GNU General Public - License.  

    - -

    LICENSE

    - -

    Privoxy is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License, version 2, as - published by the Free Software Foundation.

    - -

    Privoxy is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the license for - details.

    -
    -   - -

    Index

    - -
    -
    NAME
    - -
    SYNOPSIS
    - -
    OPTIONS
    - -
    DESCRIPTION
    - -
    INSTALLATION AND USAGE
    - -
    CONFIGURATION
    - -
    FILES
    - -
    SIGNALS
    - -
    NOTES
    - -
    SEE ALSO
    - -
    DEVELOPMENT TEAM
    - -
    COPYRIGHT AND LICENSE
    - -
    -
    -
    COPYRIGHT
    - -
    LICENSE
    -
    -
    -
    -
    - This document was created by man2html, using the manual pages.
    - Time: 14:21:31 GMT, March 02, 2013 - - diff --git a/pkg content/usr/local/share/doc/privoxy/p_doc.css b/pkg content/usr/local/share/doc/privoxy/p_doc.css deleted file mode 100644 index 212610d..0000000 --- a/pkg content/usr/local/share/doc/privoxy/p_doc.css +++ /dev/null @@ -1,66 +0,0 @@ -/* - * CSS for Privoxy documentation - * - * $Id: p_doc.css,v 1.5 2006/09/09 19:13:42 hal9 Exp $ - */ - -/* - * Global fonts, colors, margins: - */ -body,td,th { font-family: arial, helvetica, sans-serif; } -body { margin: 4%; color: #000000; background-color: #eeeeee; } - -/* - * Headings hierarchy in terms of size and color: - */ -h1 { color: #4c000f; font-size: 160%; } -h2 { color: #660014; font-size: 140%; } -h3 { color: #820019; font-size: 120%; } -h4 { color: #99001d; font-size: 110%; } - -/* - * Make headings stand out: - * Indent all content in chapters, by additional 2%, - * and then pull the headings back left. - */ -div.sect1 { margin-left: 2%; } -h1,h2,h3,h4 {margin-left: -2%; } -h1.title { margin-left: 0; } -h2.subtitle { margin-left: 0; } - -/* - * Underlined links disturb the examples; - * Let them get darker instead of purple after visited. - */ -a { text-decoration: none; } -a:link { color: #0c29ff; } -a:visited { color: #071899; } - -/* - * Special highlighting: - * Code examples in embedded in the text flow become half-bold, - * Emphasis gets h4-red. - * Warnings get the same bg as in privoxy.css - */ -tt.literal { font-weight: 600; } -i.emphasis { color: #99001d; } -table.warning { border: 0; background-color: #ffdddd;} -span.guibutton { - white-space: nowrap; - width: auto; - padding: 2px; - background-color: #dddddd; - color: #000000; - text-decoration: none; - border-top: 1px solid #ffffff; - border-left: 1px solid #ffffff; - border-bottom: 1px solid #000000; - border-right: 1px solid #000000; -} - -/* - * Misc: - */ -ul { list-style-type: square; } -/* Privoxy, of course */ -.application {font-weight: bold; font-size:105%; color: #99001d;} diff --git a/pkg content/usr/local/share/doc/privoxy/privoxy-index.html b/pkg content/usr/local/share/doc/privoxy/privoxy-index.html deleted file mode 100644 index eef47e6..0000000 --- a/pkg content/usr/local/share/doc/privoxy/privoxy-index.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - Privoxy - The Privacy Enhancing Proxy - - - - - - - -
    -
    -

    Privoxy - The Privacy - Enhancing Proxy

    - -

    Project Index Page v3.0.21

    - -
    -
    - - -

    Privoxy is a non-caching web proxy with advanced filtering - capabilities for enhancing privacy, modifying web page data and - HTTP headers, controlling access, and removing ads and other - obnoxious Internet junk. Privoxy has a flexible configuration and - can be customized to suit individual needs and tastes. It has - application for both stand-alone systems and multi-user - networks.

    - -

    Privoxy is Free Software and licensed under the GNU GPLv2.

    - -

    Privoxy is an associated project of Software in the Public - Interest (SPI).

    - -

    Helping hands and donations are welcome:

    - - -
    -
    -
    -
    - - - - - - - -
    -
    - -

    - -

    Copyright © 2001-2013 by Privoxy Developers

    -
    -
    - - diff --git a/pkg content/usr/local/share/doc/privoxy/team/01stefanw.jpg b/pkg content/usr/local/share/doc/privoxy/team/01stefanw.jpg deleted file mode 100644 index 920dece..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/01stefanw.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/01stefanw_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/01stefanw_t.jpg deleted file mode 100644 index 5a90642..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/01stefanw_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/02jon.jpg b/pkg content/usr/local/share/doc/privoxy/team/02jon.jpg deleted file mode 100644 index 136b2dd..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/02jon.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/02jon_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/02jon_t.jpg deleted file mode 100644 index 32e470b..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/02jon_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/03andreas.jpg b/pkg content/usr/local/share/doc/privoxy/team/03andreas.jpg deleted file mode 100644 index 78dc102..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/03andreas.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/03andreas_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/03andreas_t.jpg deleted file mode 100644 index e23f580..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/03andreas_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/04rodney.jpg b/pkg content/usr/local/share/doc/privoxy/team/04rodney.jpg deleted file mode 100644 index bb4e02d..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/04rodney.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/04rodney_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/04rodney_t.jpg deleted file mode 100644 index bba4f15..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/04rodney_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/05david.jpg b/pkg content/usr/local/share/doc/privoxy/team/05david.jpg deleted file mode 100644 index 429723f..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/05david.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/05david_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/05david_t.jpg deleted file mode 100644 index c04aa55..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/05david_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/05member.jpg b/pkg content/usr/local/share/doc/privoxy/team/05member.jpg deleted file mode 100644 index 97042aa..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/05member.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/05member_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/05member_t.jpg deleted file mode 100644 index c9ffd9b..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/05member_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/06member.jpg b/pkg content/usr/local/share/doc/privoxy/team/06member.jpg deleted file mode 100644 index 97042aa..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/06member.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/06member_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/06member_t.jpg deleted file mode 100644 index c9ffd9b..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/06member_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/07member.jpg b/pkg content/usr/local/share/doc/privoxy/team/07member.jpg deleted file mode 100644 index 97042aa..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/07member.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/07member_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/07member_t.jpg deleted file mode 100644 index c9ffd9b..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/07member_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/08member.jpg b/pkg content/usr/local/share/doc/privoxy/team/08member.jpg deleted file mode 100644 index 97042aa..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/08member.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/08member_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/08member_t.jpg deleted file mode 100644 index c9ffd9b..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/08member_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/20member.jpg b/pkg content/usr/local/share/doc/privoxy/team/20member.jpg deleted file mode 100644 index 97042aa..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/20member.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/20member_t.jpg b/pkg content/usr/local/share/doc/privoxy/team/20member_t.jpg deleted file mode 100644 index c9ffd9b..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/team/20member_t.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/team/index.html b/pkg content/usr/local/share/doc/privoxy/team/index.html deleted file mode 100644 index 168c963..0000000 --- a/pkg content/usr/local/share/doc/privoxy/team/index.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - Privoxy - Team Photos - - - - - -

    Privoxy - Team Photos

    -
    - -

    In our day jobs, we're all models ;-)

    - - - - - - - - - - - - - - - - - - - - - -
    - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/actions-file.html b/pkg content/usr/local/share/doc/privoxy/user-manual/actions-file.html deleted file mode 100644 index 896fc34..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/actions-file.html +++ /dev/null @@ -1,5209 +0,0 @@ - - - - - Actions Files - - - - - - - - - - - - -
    -

    8. Actions - Files

    - -

    The actions files are used to define what actions Privoxy takes for which URLs, and thus determines - how ad images, cookies and various other aspects of HTTP content and - transactions are handled, and on which sites (or even parts thereof). - There are a number of such actions, with a wide range of functionality. - Each action does something a little different. These actions give us a - veritable arsenal of tools with which to exert our control, preferences - and independence. Actions can be combined so that their effects are - aggregated when applied against a given set of URLs.

    - -

    There are three action files included with Privoxy with differing purposes:

    - -
      -
    • -

      match-all.action - is used to define - which "actions" relating to - banner-blocking, images, pop-ups, content modification, cookie - handling etc should be applied by default. It should be the first - actions file loaded

      -
    • - -
    • -

      default.action - defines many exceptions - (both positive and negative) from the default set of actions that's - configured in match-all.action. It is a set - of rules that should work reasonably well as-is for most users. This - file is only supposed to be edited by the developers. It should be - the second actions file loaded.

      -
    • - -
    • -

      user.action - is intended to be for - local site preferences and exceptions. As an example, if your ISP or - your bank has specific requirements, and need special handling, this - kind of thing should go here. This file will not be upgraded.

      -
    • - -
    • -

      Edit Set to - Cautious Set to Medium - Set to Advanced

      - -

      These have increasing levels of aggressiveness and have no influence on your browsing - unless you select them explicitly in the editor. A default - installation should be pre-set to Cautious. - New users should try this for a while before adjusting the settings - to more aggressive levels. The more aggressive the settings, then the - more likelihood there is of problems such as sites not working as - they should.

      - -

      The Edit button allows you to turn - each action on/off individually for fine-tuning. The Cautious button changes the actions list to - low/safe settings which will activate ad blocking and a minimal set - of Privoxy's features, and - subsequently there will be less of a chance for accidental problems. - The Medium button sets the list to a - medium level of other features and a low level set of privacy - features. The Advanced button sets the - list to a high level of ad blocking and medium level of privacy. See - the chart below. The latter three buttons over-ride any changes via - with the Edit button. More fine-tuning - can be done in the lower sections of this internal page.

      - -

      While the actions file editor allows to enable these settings in - all actions files, they are only supposed to be enabled in the first - one to make sure you don't unintentionally overrule earlier - rules.

      - -

      The default profiles, and their associated actions, as pre-defined - in default.action are:

      - -
      - - -

      Table 1. Default Configurations

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      FeatureCautiousMediumAdvanced
      Ad-blocking Aggressivenessmediumhighhigh
      Ad-filtering by sizenoyesyes
      Ad-filtering by linknonoyes
      Pop-up killingblocks onlyblocks onlyblocks only
      Privacy Featureslowmediummedium/high
      Cookie handlingnonesession-onlykill
      Referer forgingnoyesyes
      GIF de-animationnoyesyes
      Fast redirectsnonoyes
      HTML tamingnonoyes
      JavaScript tamingnonoyes
      Web-bug killingnoyesyes
      Image tag reorderingnoyesyes
      -
      -
    • -
    - -

    The list of actions files to be used are defined in the main - configuration file, and are processed in the order they are defined (e.g. - default.action is typically processed before - user.action). The content of these can all be - viewed and edited from http://config.privoxy.org/show-status. The over-riding - principle when applying actions, is that the last action that matches a - given URL wins. The broadest, most general rules go first (defined in - default.action), followed by any exceptions - (typically also in default.action), which are - then followed lastly by any local preferences (typically in user.action). Generally, user.action has the last word.

    - -

    An actions file typically has multiple sections. If you want to use - "aliases" in an actions file, you have to - place the (optional) alias - section at the top of that file. Then comes the default set of rules - which will apply universally to all sites and pages (be very careful with using such a - universal set in user.action or any other - actions file after default.action, because it - will override the result from consulting any previous file). And then - below that, exceptions to the defined universal policies. You can regard - user.action as an appendix to default.action, with the advantage that it is a separate - file, which makes preserving your personal settings across Privoxy upgrades easier.

    - -

    Actions can be used to block anything you want, including ads, - banners, or just some obnoxious URL whose content 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), content can be - modified, some JavaScripts tamed, user-tracking fooled, and much more. - See below for a complete list of - actions.

    - -
    -

    8.1. Finding the Right - Mix

    - -

    Note that some actions, like - cookie suppression or script disabling, may render some sites unusable - that rely on these techniques to work properly. Finding the right mix - of actions is not always easy and certainly a matter of personal taste. - And, things can always change, requiring refinements in the - configuration. In general, it can be said that the more "aggressive" your default settings (in the top section - of the actions file) are, the more exceptions for "trusted" sites you will have to make later. If, for - example, you want to crunch all cookies per default, you'll have to - make exceptions from that rule for sites that you regularly use and - that require cookies for actually useful purposes, like maybe your - bank, favorite shop, or newspaper.

    - -

    We have tried to provide you with reasonable rules to start from in - the distribution actions files. But there is no general rule of thumb - on these things. There just are too many variables, and sites are - constantly changing. Sooner or later you will want to change the rules - (and read this chapter again :).

    -
    - -
    -

    8.2. How to - Edit

    - -

    The easiest way to edit the actions files is with a browser by using - our browser-based editor, which can be reached from http://config.privoxy.org/show-status. Note: the config file - option enable-edit-actions must be - enabled for this to work. The editor allows both fine-grained control - over every single feature on a per-URL basis, and easy choosing from - wholesale sets of defaults like "Cautious", - "Medium" or "Advanced". Warning: the "Advanced" setting is more aggressive, and will be more - likely to cause problems for some sites. Experienced users only!

    - -

    If you prefer plain text editing to GUIs, you can of course also - directly edit the the actions files with your favorite text editor. - Look at default.action which is richly - commented with many good examples.

    -
    - -
    -

    8.3. How - Actions are Applied to Requests

    - -

    Actions files are divided into sections. There are special sections, - like the "alias" sections which will be - discussed later. For now let's concentrate on regular sections: They - have a heading line (often split up to multiple lines for readability) - which consist of a list of actions, separated by whitespace and - enclosed in curly braces. Below that, there is a list of URL and tag - patterns, each on a separate line.

    - -

    To determine which actions apply to a request, the URL of the - request is compared to all URL patterns in each "action file". Every time it matches, the list of - applicable actions for the request is incrementally updated, using the - heading of the section in which the pattern is located. The same is - done again for tags and tag patterns later on.

    - -

    If multiple applying sections set the same action differently, the - last match wins. If not, the effects are aggregated. E.g. a URL might - match a regular section with a heading line of { - +handle-as-image - }, then later another one with just { - +block }, resulting in - both actions to - apply. And there may well be cases where you will want to combine - actions together. Such a section then might look like:

    - - - - - -
    -
    -  { +handle-as-image  +block{Banner ads.} }
    -  # Block these as if they were images. Send no block page.
    -   banners.example.com
    -   media.example.com/.*banners
    -   .example.com/images/ads/
    -
    -
    - -

    You can trace this process for URL patterns and any given URL by - visiting http://config.privoxy.org/show-url-info.

    - -

    Examples and more detail on this is provided in the Appendix, - Troubleshooting: Anatomy of an - Action section.

    -
    - -
    -

    8.4. - Patterns

    - -

    As mentioned, Privoxy uses - "patterns" to determine what actions might apply to which - sites and pages your browser attempts to access. These "patterns" use wild card type pattern matching to achieve a - high degree of flexibility. This allows one expression to be expanded - and potentially match against many similar patterns.

    - -

    Generally, an URL pattern has the form <domain><port>/<path>, where the - <domain>, the <port> and the <path> are optional. (This is why the special - / pattern matches all URLs). Note that the - protocol portion of the URL pattern (e.g. http://) should not be included in the pattern. This is assumed - already!

    - -

    The pattern matching syntax is different for the domain and path - parts of the URL. The domain part uses a simple globbing type matching - technique, while the path part uses more flexible "Regular Expressions" (POSIX - 1003.2).

    - -

    The port part of a pattern is a decimal port number preceded by a - colon (:). If the domain part contains a - numerical IPv6 address, it has to be put into angle brackets - (<, >).

    - -
    -
    -
    www.example.com/
    - -
    -

    is a domain-only pattern and will match any request to - www.example.com, regardless of which - document on that server is requested. So ALL pages in this domain - would be covered by the scope of this action. Note that a simple - example.com is different and would NOT - match.

    -
    - -
    www.example.com
    - -
    -

    means exactly the same. For domain-only patterns, the trailing - / may be omitted.

    -
    - -
    www.example.com/index.html
    - -
    -

    matches all the documents on www.example.com whose name starts with /index.html.

    -
    - -
    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, i.e. on any web server - anywhere.

    -
    - -
    /
    - -
    -

    Matches any URL because there's no requirement for either the - domain or the path to match anything.

    -
    - -
    :8000/
    - -
    -

    Matches any URL pointing to TCP port 8000.

    -
    - -
    <2001:db8::1>/
    - -
    -

    Matches any URL with the host address 2001:db8::1. (Note that the real URL uses plain - brackets, not angle brackets.)

    -
    - -
    index.html
    - -
    -

    matches nothing, since it would be interpreted as a domain - name and there is no top-level domain called .html. So its a mistake.

    -
    -
    -
    - -
    -

    8.4.1. The Domain - Pattern

    - -

    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 with first-level domain com and second-level domain example. For example www.example.com, example.com and foo.bar.baz.example.com. Note that it wouldn't - match if the second-level domain was another-example.

    -
    - -
    www.
    - -
    -

    matches any domain that STARTS with www. - (It also matches the domain www but - most of the time that doesn't matter.)

    -
    - -
    .example.
    - -
    -

    matches any domain that CONTAINS .example.. And, by the way, also included would - be any files or documents that exist within that domain since - no path limitations are specified. (Correctly speaking: It - matches any FQDN that contains example - as a domain.) This might be www.example.com, news.example.de, or www.example.net/cgi/testing.pl for instance. All - these cases are matched.

    -
    -
    -
    - -

    Additionally, there are wild-cards that you can use in the domain - names themselves. These work similarly to shell globbing type - wild-cards: "*" represents zero or more - arbitrary characters (this is equivalent to the "Regular Expression" based - syntax of ".*"), "?" represents any single character (this is - equivalent to the regular expression syntax of a simple "."), and you can define "character classes" in square brackets which is - similar to the same regular expression technique. All of this 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.c*
    - -
    -

    matches www1.example.com, - www4.example.cc, wwwd.example.cy, wwwz.example.com etc., but not wwww.example.com.

    -
    -
    -
    - -

    While flexible, this is not the sophistication of full regular - expression based syntax.

    -
    - -
    -

    8.4.2. The Path - Pattern

    - -

    Privoxy uses "modern" POSIX 1003.2 "Regular Expressions" for - matching the path portion (after the slash), and is thus more - flexible.

    - -

    There is an Appendix with a - brief quick-start into regular expressions, you also might want to - have a look at your operating system's documentation on regular - expressions (try man re_format).

    - -

    Note that the path pattern is automatically left-anchored at the - "/", i.e. it matches as if it would start - with a "^" (regular expression speak for - the beginning of a line).

    - -

    Please also 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.

    - -
    -
    -
    .example.com/.*
    - -
    -

    Is equivalent to just ".example.com", since any documents within that - domain are matched with or without the ".*" regular expression. This is redundant

    -
    - -
    .example.com/.*/index.html$
    - -
    -

    Will match any page in the domain of "example.com" that is named "index.html", and that is part of some path. For - example, it matches "www.example.com/testing/index.html" but NOT - "www.example.com/index.html" because - the regular expression called for at least two "/'s", thus the path requirement. It also would - match "www.example.com/testing/index_html", because of - the special meta-character ".".

    -
    - -
    .example.com/(.*/)?index\.html$
    - -
    -

    This regular expression is conditional so it will match any - page named "index.html" regardless - of path which in this case can have one or more "/'s". And this one must contain exactly - ".html" (but does not have to end - with that!).

    -
    - -
    .example.com/(.*/)(ads|banners?|junk)
    - -
    -

    This regular expression will match any path of "example.com" that contains any of the words - "ads", "banner", "banners" - (because of the "?") or "junk". The path does not have to end in these - words, just contain them.

    -
    - -
    .example.com/(.*/)(ads|banners?|junk)/.*\.(jpe?g|gif|png)$
    - -
    -

    This is very much the same as above, except now it must end - in either ".jpg", ".jpeg", ".gif" or - ".png". So this one is limited to - common image formats.

    -
    -
    -
    - -

    There are many, many good examples to be found in default.action, and more tutorials below in Appendix on regular expressions.

    -
    - -
    -

    8.4.3. The - Tag Pattern

    - -

    Tag patterns are used to change the applying actions based on the - request's tags. Tags can be created with either the client-header-tagger or - the server-header-tagger - action.

    - -

    Tag patterns have to start with "TAG:", - so Privoxy can tell them apart from - URL patterns. Everything after the colon including white space, is - interpreted as a regular expression with path pattern syntax, except - that tag patterns aren't left-anchored automatically (Privoxy doesn't silently add a "^", you have to do it yourself if you need it).

    - -

    To match all requests that are tagged with "foo" your pattern line should be "TAG:^foo$", "TAG:foo" - would work as well, but it would also match requests whose tags - contain "foo" somewhere. "TAG: foo" wouldn't work as it requires white - space.

    - -

    Sections can contain URL and tag patterns at the same time, but - tag patterns are checked after the URL patterns and thus always - overrule them, even if they are located before the URL patterns.

    - -

    Once a new tag is added, Privoxy checks right away if it's matched - by one of the tag patterns and updates the action settings - accordingly. As a result tags can be used to activate other tagger - actions, as long as these other taggers look for headers that haven't - already be parsed.

    - -

    For example you could tag client requests which use the POST method, then use this tag to activate another - tagger that adds a tag if cookies are sent, and then use a block - action based on the cookie tag. This allows the outcome of one - action, to be input into a subsequent action. However if you'd - reverse the position of the described taggers, and activated the - method tagger based on the cookie tagger, no method tags would be - created. The method tagger would look for the request line, but at - the time the cookie tag is created, the request line has already been - parsed.

    - -

    While this is a limitation you should be aware of, this kind of - indirection is seldom needed anyway and even the example doesn't make - too much sense.

    -
    -
    - -
    -

    8.5. Actions

    - -

    All actions are disabled by default, until they are explicitly - enabled somewhere in an actions file. Actions are turned on if preceded - with a "+", and turned off if preceded with - a "-". So a +action - means "do that action", e.g. +block means "please block URLs that - match the following patterns", and -block means "don't block URLs that - match the following patterns, even if +block - previously applied."

    - -

    Again, actions are invoked by placing them on a line, enclosed in - curly braces and separated by whitespace, like in {+some-action -some-other-action{some-parameter}}, - followed by a list of URL patterns, one per line, to which they apply. - Together, the actions line and the following pattern lines make up a - section of the actions file.

    - -

    Actions fall into three categories:

    - -
      -
    • -

      Boolean, i.e the action can only be "enabled" or "disabled". - Syntax:

      - - - - - -
      -
      -  +name        # enable action name
      -  -name        # disable action name
      -
      -
      - -

      Example: +handle-as-image

      -
    • - -
    • -

      Parameterized, where some value is required in order to enable - this type of action. Syntax:

      - - - - - -
      -
      -  +name{param}  # enable action and set parameter to param,
      -               # overwriting parameter from previous match if necessary
      -  -name         # disable action. The parameter can be omitted
      -
      -
      - -

      Note that if the URL matches multiple positive forms of a - parameterized action, the last match wins, i.e. the params from - earlier matches are simply ignored.

      - -

      Example: +hide-user-agent{Mozilla/5.0 (X11; - U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070602 - Firefox/2.0.0.4}

      -
    • - -
    • -

      Multi-value. These look exactly like parameterized actions, but - they behave differently: If the action applies multiple times to - the same URL, but with different parameters, all the parameters from - all matches - are remembered. This is used for actions that can be executed for - the same request repeatedly, like adding multiple headers, or - filtering through multiple filters. Syntax:

      - - - - - -
      -
      -  +name{param}   # enable action and add param to the list of parameters
      -  -name{param}   # remove the parameter param from the list of parameters
      -                # If it was the last one left, disable the action.
      -  -name          # disable this action completely and remove all parameters from the list
      -
      -
      - -

      Examples: +add-header{X-Fun-Header: Some - text} and +filter{html-annoyances}

      -
    • -
    - -

    If nothing is specified in any actions file, no "actions" are taken. So in this case Privoxy would just be a normal, non-blocking, - non-filtering proxy. You must specifically enable the privacy and - blocking features you need (although the provided default actions files - will give a good starting point).

    - -

    Later defined action sections always over-ride earlier ones of the - same type. So exceptions to any rules you make, should come in the - latter part of the file (or in a file that is processed later when - using multiple actions files such as user.action). For multi-valued actions, the actions are - applied in the order they are specified. Actions files are processed in - the order they are defined in config (the - default installation has three actions files). It also quite possible - for any given URL to match more than one "pattern" (because of wildcards and regular - expressions), and thus to trigger more than one set of actions! Last - match wins.

    - -

    The list of valid Privoxy actions - are:

    - -
    -

    8.5.1. - add-header

    - -
    -
    -
    Typical use:
    - -
    -

    Confuse log analysis, custom applications

    -
    - -
    Effect:
    - -
    -

    Sends a user defined HTTP header to the web server.

    -
    - -
    Type:
    - -
    -

    Multi-value.

    -
    - -
    Parameter:
    - -
    -

    Any string value is possible. Validity of the defined HTTP - headers is not checked. It is recommended that you use the - "X-" prefix - for custom headers.

    -
    - -
    Notes:
    - -
    -

    This action may be specified multiple times, in order to - define multiple headers. This is rarely needed for the typical - user. If you don't know what "HTTP - headers" are, you definitely don't need to worry about - this one.

    - -

    Headers added by this action are not modified by other - actions.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+add-header{X-User-Tracking: sucks}
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.2. block

    - -
    -
    -
    Typical use:
    - -
    -

    Block ads or other unwanted content

    -
    - -
    Effect:
    - -
    -

    Requests for URLs to which this action applies are blocked, - i.e. the requests are trapped by Privoxy and the requested URL is never - retrieved, but is answered locally with a substitute page or - image, as determined by the handle-as-image, - set-image-blocker, - and handle-as-empty-document - actions.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    A block reason that should be given to the user.

    -
    - -
    Notes:
    - -
    -

    Privoxy sends a special - "BLOCKED" page for requests to - blocked pages. This page contains the block reason given as - parameter, a link to find out why the block action applies, and - a click-through to the blocked content (the latter only if the - force feature is available and enabled).

    - -

    A very important exception occurs if both block and handle-as-image, - apply to the same request: it will then be replaced by an - image. If set-image-blocker - (see below) also applies, the type of image will be determined - by its parameter, if not, the standard checkerboard pattern is - sent.

    - -

    It is important to understand this process, in order to - understand how Privoxy deals - with ads and other unwanted content. Blocking is a core - feature, and one upon which various other features depend.

    - -

    The filter action can perform a - very similar task, by "blocking" - banner images and other content through rewriting the relevant - URLs in the document's HTML source, so they don't get requested - in the first place. Note that this is a totally different - technique, and it's easy to confuse the two.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -{+block{No nasty stuff for you.}}
    -# Block and replace with "blocked" page
    - .nasty-stuff.example.com
    -
    -{+block{Doubleclick banners.} +handle-as-image}
    -# Block and replace with image
    - .ad.doubleclick.net
    - .ads.r.us/banners/
    -
    -{+block{Layered ads.} +handle-as-empty-document}
    -# Block and then ignore
    - adserver.example.net/.*\.js$
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.3. change-x-forwarded-for

    - -
    -
    -
    Typical use:
    - -
    -

    Improve privacy by not forwarding the source of the request - in the HTTP headers.

    -
    - -
    Effect:
    - -
    -

    Deletes the "X-Forwarded-For:" - HTTP header from the client request, or adds a new one.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -
      -
    • -

      "block" to delete the - header.

      -
    • - -
    • -

      "add" to create the header - (or append the client's IP address to an already existing - one).

      -
    • -
    -
    - -
    Notes:
    - -
    -

    It is safe and recommended to use block.

    - -

    Forwarding the source address of the request may make sense - in some multi-user setups but is also a privacy risk.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+change-x-forwarded-for{block}
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.4. client-header-filter

    - -
    -
    -
    Typical use:
    - -
    -

    Rewrite or remove single client headers.

    -
    - -
    Effect:
    - -
    -

    All client headers to which this action applies are filtered - on-the-fly through the specified regular expression based - substitutions.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    The name of a client-header filter, as defined in one of the - filter files.

    -
    - -
    Notes:
    - -
    -

    Client-header filters are applied to each header on its own, - not to all at once. This makes it easier to diagnose problems, - but on the downside you can't write filters that only change - header x if header y's value is z. You can do that by using - tags though.

    - -

    Client-header filters are executed after the other header - actions have finished and use their output as input.

    - -

    If the request URI gets changed, Privoxy will detect that and use the new - one. This can be used to rewrite the request destination behind - the client's back, for example to specify a Tor exit relay for - certain requests.

    - -

    Please refer to the filter file - chapter to learn which client-header filters are available - by default, and how to create your own.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Hide Tor exit notation in Host and Referer Headers
    -{+client-header-filter{hide-tor-exit-notation}}
    -/
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.5. client-header-tagger

    - -
    -
    -
    Typical use:
    - -
    -

    Block requests based on their headers.

    -
    - -
    Effect:
    - -
    -

    Client headers to which this action applies are filtered - on-the-fly through the specified regular expression based - substitutions, the result is used as tag.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    The name of a client-header tagger, as defined in one of the - filter files.

    -
    - -
    Notes:
    - -
    -

    Client-header taggers are applied to each header on its own, - and as the header isn't modified, each tagger "sees" the original.

    - -

    Client-header taggers are the first actions that are - executed and their tags can be used to control every other - action.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Tag every request with the User-Agent header
    -{+client-header-tagger{user-agent}}
    -/
    -
    -# Tagging itself doesn't change the action
    -# settings, sections with TAG patterns do:
    -#
    -# If it's a download agent, use a different forwarding proxy,
    -# show the real User-Agent and make sure resume works.
    -{+forward-override{forward-socks5 10.0.0.2:2222 .} \
    - -hide-if-modified-since      \
    - -overwrite-last-modified     \
    - -hide-user-agent             \
    - -filter                      \
    - -deanimate-gifs              \
    -}
    -TAG:^User-Agent: NetBSD-ftp/
    -TAG:^User-Agent: Novell ZYPP Installer
    -TAG:^User-Agent: RPM APT-HTTP/
    -TAG:^User-Agent: fetch libfetch/
    -TAG:^User-Agent: Ubuntu APT-HTTP/
    -TAG:^User-Agent: MPlayer/
    -
    -
    -
    - - - - - -
    -
    -# Tag all requests with the Range header set
    -{+client-header-tagger{range-requests}}
    -/
    -
    -# Disable filtering for the tagged requests.
    -#
    -# With filtering enabled Privoxy would remove the Range headers
    -# to be able to filter the whole response. The downside is that
    -# it prevents clients from resuming downloads or skipping over
    -# parts of multimedia files.
    -{-filter -deanimate-gifs}
    -TAG:^RANGE-REQUEST$
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.6. content-type-overwrite

    - -
    -
    -
    Typical use:
    - -
    -

    Stop useless download menus from popping up, or change the - browser's rendering mode

    -
    - -
    Effect:
    - -
    -

    Replaces the "Content-Type:" HTTP - server header.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Any string.

    -
    - -
    Notes:
    - -
    -

    The "Content-Type:" HTTP server - header is used by the browser to decide what to do with the - document. The value of this header can cause the browser to - open a download menu instead of displaying the document by - itself, even if the document's format is supported by the - browser.

    - -

    The declared content type can also affect which rendering - mode the browser chooses. If XHTML is delivered as "text/html", many browsers treat it as yet - another broken HTML document. If it is send as "application/xml", browsers with XHTML support - will only display it, if the syntax is correct.

    - -

    If you see a web site that proudly uses XHTML buttons, but - sets "Content-Type: text/html", you - can use Privoxy to overwrite - it with "application/xml" and - validate the web master's claim inside your XHTML-supporting - browser. If the syntax is incorrect, the browser will complain - loudly.

    - -

    You can also go the opposite direction: if your browser - prints error messages instead of rendering a document falsely - declared as XHTML, you can overwrite the content type with - "text/html" and have it rendered as - broken HTML document.

    - -

    By default content-type-overwrite - only replaces "Content-Type:" - headers that look like some kind of text. If you want to - overwrite it unconditionally, you have to combine it with - force-text-mode. - This limitation exists for a reason, think twice before - circumventing it.

    - -

    Most of the time it's easier to replace this action with a - custom server-header - filter. It allows you to activate it for every - document of a certain site and it will still only replace the - content types you aimed at.

    - -

    Of course you can apply content-type-overwrite to a whole site and then - make URL based exceptions, but it's a lot more work to get the - same precision.

    -
    - -
    Example usage (sections):
    - -
    - - - - -
    -
    -# Check if www.example.net/ really uses valid XHTML
    -{ +content-type-overwrite{application/xml} }
    -www.example.net/
    -
    -# but leave the content type unmodified if the URL looks like a style sheet
    -{-content-type-overwrite}
    -www.example.net/.*\.css$
    -www.example.net/.*style
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.7. crunch-client-header

    - -
    -
    -
    Typical use:
    - -
    -

    Remove a client header Privoxy has no dedicated action for.

    -
    - -
    Effect:
    - -
    -

    Deletes every header sent by the client that contains the - string the user supplied as parameter.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Any string.

    -
    - -
    Notes:
    - -
    -

    This action allows you to block client headers for which no - dedicated Privoxy action - exists. Privoxy will remove - every client header that contains the string you supplied as - parameter.

    - -

    Regular expressions are not supported and you can't use this - action to block different headers in the same request, unless - they contain the same string.

    - -

    crunch-client-header is only meant - for quick tests. If you have to block several different - headers, or only want to modify parts of them, you should use a - client-header - filter.

    - -
    - - - - - - - - -
    Warning
    -

    Don't block any header without understanding the - consequences.

    -
    -
    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Block the non-existent "Privacy-Violation:" client header
    -{ +crunch-client-header{Privacy-Violation:} }
    -/
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.8. crunch-if-none-match

    - -
    -
    -
    Typical use:
    - -
    -

    Prevent yet another way to track the user's steps between - sessions.

    -
    - -
    Effect:
    - -
    -

    Deletes the "If-None-Match:" HTTP - client header.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    Removing the "If-None-Match:" - HTTP client header is useful for filter testing, where you want - to force a real reload instead of getting status code - "304" which would cause the browser - to use a cached copy of the page.

    - -

    It is also useful to make sure the header isn't used as a - cookie replacement (unlikely but possible).

    - -

    Blocking the "If-None-Match:" - header shouldn't cause any caching problems, as long as the - "If-Modified-Since:" header isn't - blocked or missing as well.

    - -

    It is recommended to use this action together with - hide-if-modified-since - and overwrite-last-modified.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Let the browser revalidate cached documents but don't
    -# allow the server to use the revalidation headers for user tracking.
    -{+hide-if-modified-since{-60} \
    - +overwrite-last-modified{randomize} \
    - +crunch-if-none-match}
    -/
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.9. crunch-incoming-cookies

    - -
    -
    -
    Typical use:
    - -
    -

    Prevent the web server from setting HTTP cookies on your - system

    -
    - -
    Effect:
    - -
    -

    Deletes any "Set-Cookie:" HTTP - headers from server replies.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    This action is only concerned with incoming HTTP - cookies. For outgoing HTTP cookies, use crunch-outgoing-cookies. - Use both - to disable HTTP cookies completely.

    - -

    It makes no sense - at all to use this action in conjunction with the - session-cookies-only - action, since it would prevent the session cookies from being - set. See also filter-content-cookies.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+crunch-incoming-cookies
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.10. crunch-server-header

    - -
    -
    -
    Typical use:
    - -
    -

    Remove a server header Privoxy has no dedicated action for.

    -
    - -
    Effect:
    - -
    -

    Deletes every header sent by the server that contains the - string the user supplied as parameter.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Any string.

    -
    - -
    Notes:
    - -
    -

    This action allows you to block server headers for which no - dedicated Privoxy action - exists. Privoxy will remove - every server header that contains the string you supplied as - parameter.

    - -

    Regular expressions are not supported and you can't use this - action to block different headers in the same request, unless - they contain the same string.

    - -

    crunch-server-header is only meant - for quick tests. If you have to block several different - headers, or only want to modify parts of them, you should use a - custom server-header - filter.

    - -
    - - - - - - - - -
    Warning
    -

    Don't block any header without understanding the - consequences.

    -
    -
    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Crunch server headers that try to prevent caching
    -{ +crunch-server-header{no-cache} }
    -/
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.11. crunch-outgoing-cookies

    - -
    -
    -
    Typical use:
    - -
    -

    Prevent the web server from reading any HTTP cookies from - your system

    -
    - -
    Effect:
    - -
    -

    Deletes any "Cookie:" HTTP - headers from client requests.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    This action is only concerned with outgoing HTTP - cookies. For incoming HTTP cookies, use crunch-incoming-cookies. - Use both - to disable HTTP cookies completely.

    - -

    It makes no sense - at all to use this action in conjunction with the - session-cookies-only - action, since it would prevent the session cookies from being - read.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+crunch-outgoing-cookies
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.12. deanimate-gifs

    - -
    -
    -
    Typical use:
    - -
    -

    Stop those annoying, distracting animated GIF images.

    -
    - -
    Effect:
    - -
    -

    De-animate GIF animations, i.e. reduce them to their first - or last image.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    "last" or "first"

    -
    - -
    Notes:
    - -
    -

    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).

    - -

    You can safely use this action with patterns that will also - match non-GIF objects, because no attempt will be made at - anything that doesn't look like a GIF.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+deanimate-gifs{last}
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.13. downgrade-http-version

    - -
    -
    -
    Typical use:
    - -
    -

    Work around (very rare) problems with HTTP/1.1

    -
    - -
    Effect:
    - -
    -

    Downgrades HTTP/1.1 client requests and server replies to - HTTP/1.0.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    This is a left-over from the time when Privoxy didn't support important HTTP/1.1 - features well. It is left here for the unlikely case that you - experience HTTP/1.1-related problems with some server out - there.

    - -

    Note that enabling this action is only a workaround. It - should not be enabled for sites that work without it. While it - shouldn't break any pages, it has an (usually negative) - performance impact.

    - -

    If you come across a site where enabling this action helps, - please report it, so the cause of the problem can be analyzed. - If the problem turns out to be caused by a bug in Privoxy it should be fixed so the - following release works without the work around.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -{+downgrade-http-version}
    -problem-host.example.com
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.14. fast-redirects

    - -
    -
    -
    Typical use:
    - -
    -

    Fool some click-tracking scripts and speed up indirect - links.

    -
    - -
    Effect:
    - -
    -

    Detects redirection URLs and redirects the browser without - contacting the redirection server first.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -
      -
    • -

      "simple-check" to just search - for the string "http://" to - detect redirection URLs.

      -
    • - -
    • -

      "check-decoded-url" to decode - URLs (if necessary) before searching for redirection - URLs.

      -
    • -
    -
    - -
    Notes:
    - -
    -

    Many sites, like yahoo.com, don't just link to other sites. - Instead, they will link to some script on their own servers, - giving the destination as a parameter, which will then redirect - you to the final target. URLs resulting from this scheme - typically look like: "http://www.example.org/click-tracker.cgi?target=http%3a//www.example.net/".

    - -

    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 asks - the server for one redirect after the other. Plus, it feeds the - advertisers.

    - -

    This feature is currently not very smart and is scheduled - for improvement. If it is enabled by default, you will have to - create some exceptions to this action. It can lead to failures - in several ways:

    - -

    Not every URLs with other URLs as parameters is evil. Some - sites offer a real service that requires this information to - work. For example a validation service needs to know, which - document to validate. fast-redirects - assumes that every URL parameter that looks like another URL is - a redirection target, and will always redirect to the last one. - Most of the time the assumption is correct, but if it isn't, - the user gets redirected anyway.

    - -

    Another failure occurs if the URL contains other parameters - after the URL parameter. The URL: "http://www.example.org/?redirect=http%3a//www.example.net/&foo=bar". - contains the redirection URL "http://www.example.net/", followed by another - parameter. fast-redirects doesn't know - that and will cause a redirect to "http://www.example.net/&foo=bar". Depending - on the target server configuration, the parameter will be - silently ignored or lead to a "page not - found" error. You can prevent this problem by first - using the redirect action to remove - the last part of the URL, but it requires a little effort.

    - -

    To detect a redirection URL, fast-redirects only looks for the string - "http://", either in plain text - (invalid but often used) or encoded as "http%3a//". Some sites use their own URL - encoding scheme, encrypt the address of the target server or - replace it with a database id. In theses cases fast-redirects is fooled and the request reaches - the redirection server where it probably gets logged.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    - { +fast-redirects{simple-check} }
    -   one.example.com
    -
    - { +fast-redirects{check-decoded-url} }
    -   another.example.com/testing
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.15. - filter

    - -
    -
    -
    Typical use:
    - -
    -

    Get rid of HTML and JavaScript annoyances, banner - advertisements (by size), do fun text replacements, add - personalized effects, etc.

    -
    - -
    Effect:
    - -
    -

    All instances of text-based type, most notably HTML and - JavaScript, to which this action applies, can be filtered - on-the-fly through the specified regular expression based - substitutions. (Note: as of version 3.0.3 plain text documents - are exempted from filtering, because web servers often use the - text/plain MIME type for all files - whose type they don't know.)

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    The name of a content filter, as defined in the filter file. Filters can be defined in - one or more files as defined by the filterfile - option in the config file. default.filter is the collection of filters - supplied by the developers. Locally defined filters should go - in their own file, such as user.filter.

    - -

    When used in its negative form, and without parameters, - all - filtering is completely disabled.

    -
    - -
    Notes:
    - -
    -

    For your convenience, there are a number of pre-defined - filters available in the distribution filter file that you can - use. See the examples below for a list.

    - -

    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. (The total time until - the page is completely rendered doesn't change much, but it may - be perceived as slower since the page is not incrementally - displayed.) This effect will be more noticeable on slower - connections.

    - -

    "Rolling your own" filters - requires a knowledge of "Regular Expressions" and - "HTML". This is very - powerful feature, and potentially very intrusive. Filters - should be used with caution, and where an equivalent - "action" is not available.

    - -

    The amount of data that can be filtered is limited to the - buffer-limit option in the - main config file. The default is 4096 - KB (4 Megs). Once this limit is exceeded, the buffered data, - and all pending data, is passed through unfiltered.

    - -

    Inappropriate MIME types, such as zipped files, are not - filtered at all. (Again, only text-based types except plain - text). Encrypted SSL data (from HTTPS servers) cannot be - filtered either, since this would violate the integrity of the - secure transaction. In some situations it might be necessary to - protect certain text, like source code, from filtering by - defining appropriate -filter - exceptions.

    - -

    Compressed content can't be filtered either, but if - Privoxy is compiled with zlib - support and a supported compression algorithm is used (gzip or - deflate), Privoxy can first - decompress the content and then filter it.

    - -

    If you use a Privoxy - version without zlib support, but want filtering to work on as - much documents as possible, even those that would normally be - sent compressed, you must use the prevent-compression - action in conjunction with filter.

    - -

    Content filtering can achieve some of the same effects as - the block action, i.e. it can be - used to block ads and banners. But the mechanism works quite - differently. One effective use, is to block ad banners based on - their size (see below), since many of these seem to be somewhat - standardized.

    - -

    Feedback with suggestions for new - or improved filters is particularly welcome!

    - -

    The below list has only the names and a one-line description - of each predefined filter. There are more verbose - explanations of what these filters do in the filter file chapter.

    -
    - -
    Example usage (with filters from the distribution default.filter file). See the Predefined Filters - section for more explanation on each:
    - -
    -

    - - - - - -
    -
    -+filter{js-annoyances}       # Get rid of particularly annoying JavaScript abuse.
    -
    -
    - -

    - - - - - -
    -
    -+filter{js-events}           # Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites).
    -
    -
    - -

    - - - - - -
    -
    -+filter{html-annoyances}     # Get rid of particularly annoying HTML abuse.
    -
    -
    - -

    - - - - - -
    -
    -+filter{content-cookies}     # Kill cookies that come in the HTML or JS content.
    -
    -
    - -

    - - - - - -
    -
    -+filter{refresh-tags}        # Kill automatic refresh tags if refresh time is larger than 9 seconds.
    -
    -
    - -

    - - - - - -
    -
    -+filter{unsolicited-popups}  # Disable only unsolicited pop-up windows.
    -
    -
    - -

    - - - - - -
    -
    -+filter{all-popups}          # Kill all popups in JavaScript and HTML.
    -
    -
    - -

    - - - - - -
    -
    -+filter{img-reorder}         # Reorder attributes in <img> tags to make the banners-by-* filters more effective.
    -
    -
    - -

    - - - - - -
    -
    -+filter{banners-by-size}     # Kill banners by size.
    -
    -
    - -

    - - - - - -
    -
    -+filter{banners-by-link}     # Kill banners by their links to known clicktrackers.
    -
    -
    - -

    - - - - - -
    -
    -+filter{webbugs}             # Squish WebBugs (1x1 invisible GIFs used for user tracking).
    -
    -
    - -

    - - - - - -
    -
    -+filter{tiny-textforms}      # Extend those tiny textareas up to 40x80 and kill the hard wrap.
    -
    -
    - -

    - - - - - -
    -
    -+filter{jumping-windows}     # Prevent windows from resizing and moving themselves.
    -
    -
    - -

    - - - - - -
    -
    -+filter{frameset-borders}    # Give frames a border and make them resizable.
    -
    -
    - -

    - - - - - -
    -
    -+filter{iframes}             # Removes all detected iframes. Should only be enabled for individual sites.
    -
    -
    - -

    - - - - - -
    -
    -+filter{demoronizer}         # Fix MS's non-standard use of standard charsets.
    -
    -
    - -

    - - - - - -
    -
    -+filter{shockwave-flash}     # Kill embedded Shockwave Flash objects.
    -
    -
    - -

    - - - - - -
    -
    -+filter{quicktime-kioskmode} # Make Quicktime movies saveable.
    -
    -
    - -

    - - - - - -
    -
    -+filter{fun}                 # Text replacements for subversive browsing fun!
    -
    -
    - -

    - - - - - -
    -
    -+filter{crude-parental}      # Crude parental filtering. Note that this filter doesn't work reliably.
    -
    -
    - -

    - - - - - -
    -
    -+filter{ie-exploits}         # Disable some known Internet Explorer bug exploits.
    -
    -
    - -

    - - - - - -
    -
    -+filter{site-specifics}      # Cure for site-specific problems. Don't apply generally!
    -
    -
    - -

    - - - - - -
    -
    -+filter{no-ping}             # Removes non-standard ping attributes in <a> and <area> tags.
    -
    -
    - -

    - - - - - -
    -
    -+filter{google}              # CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement.
    -
    -
    - -

    - - - - - -
    -
    -+filter{yahoo}               # CSS-based block for Yahoo text ads. Also removes a width limitation.
    -
    -
    - -

    - - - - - -
    -
    -+filter{msn}                 # CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation.
    -
    -
    - -

    - - - - - -
    -
    -+filter{blogspot}            # Cleans up some Blogspot blogs. Read the fine print before using this.
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.16. force-text-mode

    - -
    -
    -
    Typical use:
    - -
    -

    Force Privoxy to treat a - document as if it was in some kind of text format.

    -
    - -
    Effect:
    - -
    -

    Declares a document as text, even if the "Content-Type:" isn't detected as such.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    As explained above, Privoxy tries to only filter files that - are in some kind of text format. The same restrictions apply to - content-type-overwrite. - force-text-mode declares a document as - text, without looking at the "Content-Type:" first.

    - -
    - - - - - - - - -
    Warning
    -

    Think twice before activating this action. Filtering - binary data with regular expressions can cause file - damage.

    -
    -
    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+force-text-mode
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.17. forward-override

    - -
    -
    -
    Typical use:
    - -
    -

    Change the forwarding settings based on User-Agent or - request origin

    -
    - -
    Effect:
    - -
    -

    Overrules the forward directives in the configuration - file.

    -
    - -
    Type:
    - -
    -

    Multi-value.

    -
    - -
    Parameter:
    - -
    -
      -
    • -

      "forward ." to use a direct - connection without any additional proxies.

      -
    • - -
    • -

      "forward 127.0.0.1:8123" to - use the HTTP proxy listening at 127.0.0.1 port 8123.

      -
    • - -
    • -

      "forward-socks4a 127.0.0.1:9050 - ." to use the socks4a proxy listening at 127.0.0.1 - port 9050. Replace "forward-socks4a" with "forward-socks4" to use a socks4 connection - (with local DNS resolution) instead, use "forward-socks5" for socks5 connections - (with remote DNS resolution).

      -
    • - -
    • -

      "forward-socks4a 127.0.0.1:9050 - proxy.example.org:8000" to use the socks4a proxy - listening at 127.0.0.1 port 9050 to reach the HTTP proxy - listening at proxy.example.org port 8000. Replace - "forward-socks4a" with - "forward-socks4" to use a socks4 - connection (with local DNS resolution) instead, use - "forward-socks5" for socks5 - connections (with remote DNS resolution).

      -
    • -
    -
    - -
    Notes:
    - -
    -

    This action takes parameters similar to the forward directives in the - configuration file, but without the URL pattern. It can be used - as replacement, but normally it's only used in cases where - matching based on the request URL isn't sufficient.

    - -
    - - - - - - - - -
    Warning
    -

    Please read the description for the forward directives before - using this action. Forwarding to the wrong people will - reduce your privacy and increase the chances of - man-in-the-middle attacks.

    - -

    If the ports are missing or invalid, default values - will be used. This might change in the future and you - shouldn't rely on it. Otherwise incorrect syntax causes - Privoxy to exit.

    - -

    Use the show-url-info CGI page to verify that your - forward settings do what you thought the do.

    -
    -
    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -# Always use direct connections for requests previously tagged as
    -# "User-Agent: fetch libfetch/2.0" and make sure
    -# resuming downloads continues to work.
    -# This way you can continue to use Tor for your normal browsing,
    -# without overloading the Tor network with your FreeBSD ports updates
    -# or downloads of bigger files like ISOs.
    -# Note that HTTP headers are easy to fake and therefore their
    -# values are as (un)trustworthy as your clients and users.
    -{+forward-override{forward .} \
    - -hide-if-modified-since      \
    - -overwrite-last-modified     \
    -}
    -TAG:^User-Agent: fetch libfetch/2\.0$
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.18. handle-as-empty-document

    - -
    -
    -
    Typical use:
    - -
    -

    Mark URLs that should be replaced by empty documents - if they get - blocked

    -
    - -
    Effect:
    - -
    -

    This action alone doesn't do anything noticeable. It just - marks URLs. If the block action also applies, the - presence or absence of this mark decides whether an HTML - "BLOCKED" page, or an empty document - will be sent to the client as a substitute for the blocked - content. The empty document isn't literally empty, but - actually contains a single space.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    Some browsers complain about syntax errors if JavaScript - documents are blocked with Privoxy's default HTML page; this option - can be used to silence them. And of course this action can also - be used to eliminate the Privoxy BLOCKED message in frames.

    - -

    The content type for the empty document can be specified - with content-type-overwrite{}, - but usually this isn't necessary.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -# Block all documents on example.org that end with ".js",
    -# but send an empty document instead of the usual HTML message.
    -{+block{Blocked JavaScript} +handle-as-empty-document}
    -example.org/.*\.js$
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.19. handle-as-image

    - -
    -
    -
    Typical use:
    - -
    -

    Mark URLs as belonging to images (so they'll be replaced by - images if they do - get blocked, rather than HTML pages)

    -
    - -
    Effect:
    - -
    -

    This action alone doesn't do anything noticeable. It just - marks URLs as images. If the block action also applies, the - presence or absence of this mark decides whether an HTML - "blocked" page, or a replacement - image (as determined by the set-image-blocker - action) will be sent to the client as a substitute for the - blocked content.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    The below generic example section is actually part of - default.action. It marks all URLs - with well-known image file name extensions as images and should - be left intact.

    - -

    Users will probably only want to use the handle-as-image - action in conjunction with block, to block sources of - banners, whose URLs don't reflect the file type, like in the - second example section.

    - -

    Note that you cannot treat HTML pages as images in most - cases. For instance, (in-line) ad frames require an HTML page - to be sent, or they won't display properly. Forcing handle-as-image in this situation will not - replace the ad frame with an image, but lead to error - messages.

    -
    - -
    Example usage (sections):
    - -
    - - - - -
    -
    -# Generic image extensions:
    -#
    -{+handle-as-image}
    -/.*\.(gif|jpg|jpeg|png|bmp|ico)$
    -
    -# These don't look like images, but they're banners and should be
    -# blocked as images:
    -#
    -{+block{Nasty banners.} +handle-as-image}
    -nasty-banner-server.example.com/junk.cgi\?output=trash
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.20. hide-accept-language

    - -
    -
    -
    Typical use:
    - -
    -

    Pretend to use different language settings.

    -
    - -
    Effect:
    - -
    -

    Deletes or replaces the "Accept-Language:" HTTP header in client - requests.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Keyword: "block", or any user - defined value.

    -
    - -
    Notes:
    - -
    -

    Faking the browser's language settings can be useful to make - a foreign User-Agent set with hide-user-agent - more believable.

    - -

    However some sites with content in different languages check - the "Accept-Language:" to decide - which one to take by default. Sometimes it isn't possible to - later switch to another language without changing the - "Accept-Language:" header first.

    - -

    Therefore it's a good idea to either only change the - "Accept-Language:" header to - languages you understand, or to languages that aren't wide - spread.

    - -

    Before setting the "Accept-Language:" header to a rare language, - you should consider that it helps to make your requests unique - and thus easier to trace. If you don't plan to change this - header frequently, you should stick to a common language.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Pretend to use Canadian language settings.
    -{+hide-accept-language{en-ca} \
    -+hide-user-agent{Mozilla/5.0 (X11; U; OpenBSD i386; en-CA; rv:1.8.0.4) Gecko/20060628 Firefox/1.5.0.4} \
    -}
    -/
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.21. hide-content-disposition

    - -
    -
    -
    Typical use:
    - -
    -

    Prevent download menus for content you prefer to view inside - the browser.

    -
    - -
    Effect:
    - -
    -

    Deletes or replaces the "Content-Disposition:" HTTP header set by some - servers.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Keyword: "block", or any user - defined value.

    -
    - -
    Notes:
    - -
    -

    Some servers set the "Content-Disposition:" HTTP header for documents - they assume you want to save locally before viewing them. The - "Content-Disposition:" header - contains the file name the browser is supposed to use by - default.

    - -

    In most browsers that understand this header, it makes it - impossible to just - view the document, without downloading it first, - even if it's just a simple text file or an image.

    - -

    Removing the "Content-Disposition:" header helps to prevent - this annoyance, but some browsers additionally check the - "Content-Type:" header, before they - decide if they can display a document without saving it first. - In these cases, you have to change this header as well, before - the browser stops displaying download menus.

    - -

    It is also possible to change the server's file name - suggestion to another one, but in most cases it isn't worth the - time to set it up.

    - -

    This action will probably be removed in the future, use - server-header filters instead.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -# Disarm the download link in Sourceforge's patch tracker
    -{ -filter \
    - +content-type-overwrite{text/plain}\
    - +hide-content-disposition{block} }
    - .sourceforge.net/tracker/download\.php
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.22. hide-if-modified-since

    - -
    -
    -
    Typical use:
    - -
    -

    Prevent yet another way to track the user's steps between - sessions.

    -
    - -
    Effect:
    - -
    -

    Deletes the "If-Modified-Since:" - HTTP client header or modifies its value.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Keyword: "block", or a user - defined value that specifies a range of hours.

    -
    - -
    Notes:
    - -
    -

    Removing this header is useful for filter testing, where you - want to force a real reload instead of getting status code - "304", which would cause the browser - to use a cached copy of the page.

    - -

    Instead of removing the header, hide-if-modified-since can also add or subtract - a random amount of time to/from the header's value. You specify - a range of minutes where the random factor should be chosen - from and Privoxy does the - rest. A negative value means subtracting, a positive value - adding.

    - -

    Randomizing the value of the "If-Modified-Since:" makes it less likely that - the server can use the time as a cookie replacement, but you - will run into caching problems if the random range is too - high.

    - -

    It is a good idea to only use a small negative value and let - overwrite-last-modified - handle the greater changes.

    - -

    It is also recommended to use this action together with - crunch-if-none-match, - otherwise it's more or less pointless.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Let the browser revalidate but make tracking based on the time less likely.
    -{+hide-if-modified-since{-60} \
    - +overwrite-last-modified{randomize} \
    - +crunch-if-none-match}
    -/
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.23. hide-from-header

    - -
    -
    -
    Typical use:
    - -
    -

    Keep your (old and ill) browser from telling web servers - your email address

    -
    - -
    Effect:
    - -
    -

    Deletes any existing "From:" HTTP - header, or replaces it with the specified string.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Keyword: "block", or any user - defined value.

    -
    - -
    Notes:
    - -
    -

    The keyword "block" will - completely remove the header (not to be confused with the - block action).

    - -

    Alternately, you can specify any value you prefer to be sent - to the web server. If you do, it is a matter of fairness not to - use any address that is actually used by a real person.

    - -

    This action is rarely needed, as modern web browsers don't - send "From:" headers anymore.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+hide-from-header{block}
    -
    -
    or - - - - - -
    -
    -+hide-from-header{spam-me-senseless@sittingduck.example.com}
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.24. - hide-referrer

    - -
    -
    -
    Typical use:
    - -
    -

    Conceal which link you followed to get to a particular - site

    -
    - -
    Effect:
    - -
    -

    Deletes the "Referer:" (sic) HTTP - header from the client request, or replaces it with a forged - one.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -
      -
    • -

      "conditional-block" to delete - the header completely if the host has changed.

      -
    • - -
    • -

      "conditional-forge" to forge - the header if the host has changed.

      -
    • - -
    • -

      "block" to delete the header - unconditionally.

      -
    • - -
    • -

      "forge" to pretend to be - coming from the homepage of the server we are talking - to.

      -
    • - -
    • -

      Any other string to set a user defined referrer.

      -
    • -
    -
    - -
    Notes:
    - -
    -

    conditional-block is the only - parameter, that isn't easily detected in the server's log file. - If it blocks the referrer, the request will look like the - visitor used a bookmark or typed in the address directly.

    - -

    Leaving the referrer unmodified for requests on the same - host allows the server owner to see the visitor's "click path", but in most cases she could also - get that information by comparing other parts of the log file: - for example the User-Agent if it isn't a very common one, or - the user's IP address if it doesn't change between different - requests.

    - -

    Always blocking the referrer, or using a custom one, can - lead to failures on servers that check the referrer before they - answer any requests, in an attempt to prevent their content - from being embedded or linked to elsewhere.

    - -

    Both conditional-block and - forge will work with referrer checks, - as long as content and valid referring page are on the same - host. Most of the time that's the case.

    - -

    hide-referer is an alternate - spelling of hide-referrer and the two - can be can be freely substituted with each other. ("referrer" is the correct English spelling, - however the HTTP specification has a bug - it requires it to be - spelled as "referer".)

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+hide-referrer{forge}
    -
    -
    or - - - - - -
    -
    -+hide-referrer{http://www.yahoo.com/}
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.25. hide-user-agent

    - -
    -
    -
    Typical use:
    - -
    -

    Try to conceal your type of browser and client operating - system

    -
    - -
    Effect:
    - -
    -

    Replaces the value of the "User-Agent:" HTTP header in client requests - with the specified value.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    Any user-defined string.

    -
    - -
    Notes:
    - -
    -
    - - - - - - - - -
    Warning
    -

    This can lead to problems on web sites that depend - on looking at this header in order to customize their - content for different browsers (which, by the way, is - NOT the right thing to do: good - web sites work browser-independently).

    -
    -
    - -

    Using this action in multi-user setups or wherever different - types of browsers will access the same Privoxy is not recommended. In - single-user, single-browser setups, you might use it to delete - your OS version information from the headers, because it is an - invitation to exploit known bugs for your OS. It is also - occasionally useful to forge this in order to access sites that - won't let you in otherwise (though there may be a good reason - in some cases).

    - -

    More information on known user-agent strings can be found at - http://www.user-agents.org/ and http://en.wikipedia.org/wiki/User_agent.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+hide-user-agent{Netscape 6.1 (X11; I; Linux 2.4.18 i686)}
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.26. - limit-connect

    - -
    -
    -
    Typical use:
    - -
    -

    Prevent abuse of Privoxy as - a TCP proxy relay or disable SSL for untrusted sites

    -
    - -
    Effect:
    - -
    -

    Specifies to which ports HTTP CONNECT requests are - allowable.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    A comma-separated list of ports or port ranges (the latter - using dashes, with the minimum defaulting to 0 and the maximum - to 65K).

    -
    - -
    Notes:
    - -
    -

    By default, i.e. if no limit-connect action applies, Privoxy allows HTTP CONNECT requests to - all ports. Use limit-connect if - fine-grained control is desired for some or all - destinations.

    - -

    The CONNECT methods exists in HTTP to allow access to secure - websites ("https://" URLs) through - proxies. It works very simply: the proxy connects to the server - on the specified port, and then short-circuits its connections - to the client and to the remote server. This means - CONNECT-enabled proxies can be used as TCP relays very - easily.

    - -

    Privoxy relays HTTPS - traffic without seeing the decoded content. Websites can - leverage this limitation to circumvent Privoxy's filters. By specifying an - invalid port range you can disable HTTPS entirely.

    -
    - -
    Example usages:
    - -
    - - - - -
    -
    -+limit-connect{443}                   # Port 443 is OK.
    -+limit-connect{80,443}                # Ports 80 and 443 are OK.
    -+limit-connect{-3, 7, 20-100, 500-}   # Ports less than 3, 7, 20 to 100 and above 500 are OK.
    -+limit-connect{-}                     # All ports are OK
    -+limit-connect{,}                     # No HTTPS/SSL traffic is allowed
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.27. limit-cookie-lifetime

    - -
    -
    -
    Typical use:
    - -
    -

    Limit the lifetime of HTTP cookies to a couple of minutes or - hours.

    -
    - -
    Effect:
    - -
    -

    Overwrites the expires field in Set-Cookie server headers if - it's above the specified limit.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    The lifetime limit in minutes, or 0.

    -
    - -
    Notes:
    - -
    -

    This action reduces the lifetime of HTTP cookies coming from - the server to the specified number of minutes, starting from - the time the cookie passes Privoxy.

    - -

    Cookies with a lifetime below the limit are not modified. - The lifetime of session cookies is set to the specified - limit.

    - -

    The effect of this action depends on the server.

    - -

    In case of servers which refresh their cookies with each - response (or at least frequently), the lifetime limit set by - this action is updated as well. Thus, a session associated with - the cookie continues to work with this action enabled, as long - as a new request is made before the last limit set is - reached.

    - -

    However, some servers send their cookies once, with a - lifetime of several years (the year 2037 is a popular choice), - and do not refresh them until a certain event in the future, - for example the user logging out. In this case this action may - limit the absolute lifetime of the session, even if requests - are made frequently.

    - -

    If the parameter is "0", this - action behaves like session-cookies-only.

    -
    - -
    Example usages:
    - -
    - - - - -
    -
    -+limit-cookie-lifetime{60}
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.28. prevent-compression

    - -
    -
    -
    Typical use:
    - -
    -

    Ensure that servers send the content uncompressed, so it can - be passed through filters.

    -
    - -
    Effect:
    - -
    -

    Removes the Accept-Encoding header which can be used to ask - for compressed transfer.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    More and more websites send their content compressed by - default, which is generally a good idea and saves bandwidth. - But the filter and deanimate-gifs - actions need access to the uncompressed data.

    - -

    When compiled with zlib support (available since - Privoxy 3.0.7), content that - should be filtered is decompressed on-the-fly and you don't - have to worry about this action. If you are using an older - Privoxy version, or one that - hasn't been compiled with zlib support, this action can be used - to convince the server to send the content uncompressed.

    - -

    Most text-based instances compress very well, the size is - seldom decreased by less than 50%, for markup-heavy instances - like news feeds saving more than 90% of the original size isn't - unusual.

    - -

    Not using compression will therefore slow down the transfer, - and you should only enable this action if you really need it. - As of Privoxy 3.0.7 it's - disabled in all predefined action settings.

    - -

    Note that some (rare) ill-configured sites don't handle - requests for uncompressed documents correctly. Broken PHP - applications tend to send an empty document body, some IIS - versions only send the beginning of the content. If you enable - prevent-compression per default, you - might want to add exceptions for those sites. See the example - for how to do that.

    -
    - -
    Example usage (sections):
    - -
    - - - - -
    -
    -# Selectively turn off compression, and enable a filter
    -#
    -{ +filter{tiny-textforms} +prevent-compression }
    -# Match only these sites
    - .google.
    - sourceforge.net
    - sf.net
    -
    -# Or instead, we could set a universal default:
    -#
    -{ +prevent-compression }
    - / # Match all sites
    -
    -# Then maybe make exceptions for broken sites:
    -#
    -{ -prevent-compression }
    -.compusa.com/
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.29. overwrite-last-modified

    - -
    -
    -
    Typical use:
    - -
    -

    Prevent yet another way to track the user's steps between - sessions.

    -
    - -
    Effect:
    - -
    -

    Deletes the "Last-Modified:" HTTP - server header or modifies its value.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    One of the keywords: "block", - "reset-to-request-time" and - "randomize"

    -
    - -
    Notes:
    - -
    -

    Removing the "Last-Modified:" - header is useful for filter testing, where you want to force a - real reload instead of getting status code "304", which would cause the browser to reuse - the old version of the page.

    - -

    The "randomize" option overwrites - the value of the "Last-Modified:" - header with a randomly chosen time between the original value - and the current time. In theory the server could send each - document with a different "Last-Modified:" header to track visits without - using cookies. "Randomize" makes it - impossible and the browser can still revalidate cached - documents.

    - -

    "reset-to-request-time" - overwrites the value of the "Last-Modified:" header with the current time. - You could use this option together with hide-if-modified-since - to further customize your random range.

    - -

    The preferred parameter here is "randomize". It is safe to use, as long as the - time settings are more or less correct. If the server sets the - "Last-Modified:" header to the time - of the request, the random range becomes zero and the value - stays the same. Therefore you should later randomize it a - second time with hided-if-modified-since, - just to be sure.

    - -

    It is also recommended to use this action together with - crunch-if-none-match.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -# Let the browser revalidate without being tracked across sessions
    -{ +hide-if-modified-since{-60} \
    - +overwrite-last-modified{randomize} \
    - +crunch-if-none-match}
    -/
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.30. - redirect

    - -
    -
    -
    Typical use:
    - -
    -

    Redirect requests to other sites.

    -
    - -
    Effect:
    - -
    -

    Convinces the browser that the requested document has been - moved to another location and the browser should get it from - there.

    -
    - -
    Type:
    - -
    -

    Parameterized

    -
    - -
    Parameter:
    - -
    -

    An absolute URL or a single pcrs command.

    -
    - -
    Notes:
    - -
    -

    Requests to which this action applies are answered with a - HTTP redirect to URLs of your choosing. The new URL is either - provided as parameter, or derived by applying a single pcrs - command to the original URL.

    - -

    The syntax for pcrs commands is documented in the filter file section.

    - -

    This action will be ignored if you use it together with - block. It can be combined - with fast-redirects{check-decoded-url} - to redirect to a decoded version of a rewritten URL.

    - -

    Use this action carefully, make sure not to create - redirection loops and be aware that using your own redirects - might make it possible to fingerprint your requests.

    - -

    In case of problems with your redirects, or simply to watch - them working, enable debug - 128.

    -
    - -
    Example usages:
    - -
    - - - - -
    -
    -# Replace example.com's style sheet with another one
    -{ +redirect{http://localhost/css-replacements/example.com.css} }
    - example.com/stylesheet\.css
    -
    -# Create a short, easy to remember nickname for a favorite site
    -# (relies on the browser accept and forward invalid URLs to Privoxy)
    -{ +redirect{http://www.privoxy.org/user-manual/actions-file.html} }
    - a
    -
    -# Always use the expanded view for Undeadly.org articles
    -# (Note the $ at the end of the URL pattern to make sure
    -# the request for the rewritten URL isn't redirected as well)
    -{+redirect{s@$@&mode=expanded@}}
    -undeadly.org/cgi\?action=article&sid=\d*$
    -
    -# Redirect Google search requests to MSN
    -{+redirect{s@^http://[^/]*/search\?q=([^&]*).*@http://search.msn.com/results.aspx?q=$1@}}
    -.google.com/search
    -
    -# Redirect MSN search requests to Yahoo
    -{+redirect{s@^http://[^/]*/results\.aspx\?q=([^&]*).*@http://search.yahoo.com/search?p=$1@}}
    -search.msn.com//results\.aspx\?q=
    -
    -# Redirect remote requests for this manual
    -# to the local version delivered by Privoxy
    -{+redirect{s@^http://www@http://config@}}
    -www.privoxy.org/user-manual/
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.31. server-header-filter

    - -
    -
    -
    Typical use:
    - -
    -

    Rewrite or remove single server headers.

    -
    - -
    Effect:
    - -
    -

    All server headers to which this action applies are filtered - on-the-fly through the specified regular expression based - substitutions.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    The name of a server-header filter, as defined in one of the - filter files.

    -
    - -
    Notes:
    - -
    -

    Server-header filters are applied to each header on its own, - not to all at once. This makes it easier to diagnose problems, - but on the downside you can't write filters that only change - header x if header y's value is z. You can do that by using - tags though.

    - -

    Server-header filters are executed after the other header - actions have finished and use their output as input.

    - -

    Please refer to the filter file - chapter to learn which server-header filters are available - by default, and how to create your own.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -{+server-header-filter{html-to-xml}}
    -example.org/xml-instance-that-is-delivered-as-html
    -
    -{+server-header-filter{xml-to-html}}
    -example.org/instance-that-is-delivered-as-xml-but-is-not
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.32. server-header-tagger

    - -
    -
    -
    Typical use:
    - -
    -

    Enable or disable filters based on the Content-Type - header.

    -
    - -
    Effect:
    - -
    -

    Server headers to which this action applies are filtered - on-the-fly through the specified regular expression based - substitutions, the result is used as tag.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -

    The name of a server-header tagger, as defined in one of the - filter files.

    -
    - -
    Notes:
    - -
    -

    Server-header taggers are applied to each header on its own, - and as the header isn't modified, each tagger "sees" the original.

    - -

    Server-header taggers are executed before all other header - actions that modify server headers. Their tags can be used to - control all of the other server-header actions, the content - filters and the crunch actions (redirect and block).

    - -

    Obviously crunching based on tags created by server-header - taggers doesn't prevent the request from showing up in the - server's log file.

    -
    - -
    Example usage (section):
    - -
    - - - - -
    -
    -# Tag every request with the content type declared by the server
    -{+server-header-tagger{content-type}}
    -/
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.33. session-cookies-only

    - -
    -
    -
    Typical use:
    - -
    -

    Allow only temporary "session" - cookies (for the current browser session only).

    -
    - -
    Effect:
    - -
    -

    Deletes the "expires" field from - "Set-Cookie:" server headers. Most - browsers will not store such cookies permanently and forget - them in between sessions.

    -
    - -
    Type:
    - -
    -

    Boolean.

    -
    - -
    Parameter:
    - -
    -

    N/A

    -
    - -
    Notes:
    - -
    -

    This is less strict than crunch-incoming-cookies - / crunch-outgoing-cookies - and allows you to browse websites that insist or rely on - setting cookies, without compromising your privacy too - badly.

    - -

    Most browsers will not permanently store cookies that have - been processed by session-cookies-only - and will forget about them between sessions. This makes - profiling cookies useless, but won't break sites which require - cookies so that you can log in for transactions. This is - generally turned on for all sites, and is the recommended - setting.

    - -

    It makes no sense - at all to use session-cookies-only together with crunch-incoming-cookies - or crunch-outgoing-cookies. - If you do, cookies will be plainly killed.

    - -

    Note that it is up to the browser how it handles such - cookies without an "expires" field. - If you use an exotic browser, you might want to try it out to - be sure.

    - -

    This setting also has no effect on cookies that may have - been stored previously by the browser before starting - Privoxy. These would have to - be removed manually.

    - -

    Privoxy also uses the - content-cookies - filter to block some types of cookies. Content cookies are - not effected by session-cookies-only.

    -
    - -
    Example usage:
    - -
    - - - - -
    -
    -+session-cookies-only
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.34. set-image-blocker

    - -
    -
    -
    Typical use:
    - -
    -

    Choose the replacement for blocked images

    -
    - -
    Effect:
    - -
    -

    This action alone doesn't do anything noticeable. If - both - block and handle-as-image - also - apply, i.e. if the request is to be blocked as an image, - then the - parameter of this action decides what will be sent as a - replacement.

    -
    - -
    Type:
    - -
    -

    Parameterized.

    -
    - -
    Parameter:
    - -
    -
      -
    • -

      "pattern" to send a built-in - checkerboard pattern image. The image is visually decent, - scales very well, and makes it obvious where banners were - busted.

      -
    • - -
    • -

      "blank" to send a built-in - transparent image. This makes banners disappear completely, - but makes it hard to detect where Privoxy has blocked images on a given - page and complicates troubleshooting if Privoxy has blocked innocent images, - like navigation icons.

      -
    • - -
    • -

      "target-url" to send a - redirect to target-url. - You can redirect to any image anywhere, even in your local - filesystem via "file:///" URL. - (But note that not all browsers support redirecting to a - local file system).

      - -

      A good application of redirects is to use special - Privoxy-built-in URLs, - which send the built-in images, as target-url. This has the same - visual effect as specifying "blank" or "pattern" in the first place, but enables - your browser to cache the replacement image, instead of - requesting it over and over again.

      -
    • -
    -
    - -
    Notes:
    - -
    -

    The URLs for the built-in images are "http://config.privoxy.org/send-banner?type=type", where type is either "blank" or "pattern".

    - -

    There is a third (advanced) type, called "auto". It is NOT to be used in set-image-blocker, but meant for use from - filters. Auto will select the - type of image that would have applied to the referring page, - had it been an image.

    -
    - -
    Example usage:
    - -
    -

    Built-in pattern:

    - - - - - -
    -
    -+set-image-blocker{pattern}
    -
    -
    - -

    Redirect to the BSD daemon:

    - - - - - -
    -
    -+set-image-blocker{http://www.freebsd.org/gifs/dae_up3.gif}
    -
    -
    - -

    Redirect to the built-in pattern for better caching:

    - - - - - -
    -
    -+set-image-blocker{http://config.privoxy.org/send-banner?type=pattern}
    -
    -
    -
    -
    -
    -
    - -
    -

    8.5.35. - Summary

    - -

    Note that many of these actions have the potential to cause a page - to misbehave, possibly even not to display at all. There are many - ways a site designer may choose to design his site, and what HTTP - header content, and other criteria, he may depend on. There is no way - to have hard and fast rules for all sites. See the Appendix for a brief example on - troubleshooting actions.

    -
    -
    - -
    -

    8.6. Aliases

    - -

    Custom "actions", known to Privoxy as "aliases", - can be defined by combining other actions. These can in turn be invoked - just like the built-in actions. Currently, an alias name can contain - any character except space, tab, "=", - "{" and "}", but - we strongly - recommend that you only use "a" - to "z", "0" to - "9", "+", and - "-". Alias names are not case sensitive, and - are not required to start with a "+" or - "-" sign, since they are merely textually - expanded.

    - -

    Aliases can be used throughout the actions file, but they - must be defined in a special - section at the top of the file! And there can only be one - such section per actions file. Each actions file may have its own alias - section, and the aliases defined in it are only visible within that - file.

    - -

    There are two main reasons to use aliases: One is to save typing for - frequently used combinations of actions, the other one is a gain in - flexibility: If you decide once how you want to handle shops by - defining an alias called "shop", you can - later change your policy on shops in one place, and your changes will take effect - everywhere in the actions file where the "shop" alias is used. Calling aliases by their purpose - also makes your actions files more readable.

    - -

    Currently, there is one big drawback to using aliases, though: - Privoxy's built-in web-based action - file editor honors aliases when reading the actions files, but it - expands them before writing. So the effects of your aliases are of - course preserved, but the aliases themselves are lost when you edit - sections that use aliases with it.

    - -

    Now let's define some aliases...

    - - - - - -
    -
    - # Useful custom aliases we can use later.
    - #
    - # Note the (required!) section header line and that this section
    - # must be at the top of the actions file!
    - #
    - {{alias}}
    -
    - # These aliases just save typing later:
    - # (Note that some already use other aliases!)
    - #
    - +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
    - -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
    - +block-as-image      = +block{Blocked image.} +handle-as-image
    - allow-all-cookies   = -crunch-all-cookies -session-cookies-only -filter{content-cookies}
    -
    - # These aliases define combinations of actions
    - # that are useful for certain types of sites:
    - #
    - fragile     = -block -filter -crunch-all-cookies -fast-redirects -hide-referrer -prevent-compression
    -
    - shop        = -crunch-all-cookies -filter{all-popups}
    -
    - # Short names for other aliases, for really lazy people ;-)
    - #
    - c0 = +crunch-all-cookies
    - c1 = -crunch-all-cookies
    -
    -
    - -

    ...and put them to use. These sections would appear in the lower - part of an actions file and define exceptions to the default actions - (as specified further up for the "/" - pattern):

    - - - - - -
    -
    - # These sites are either very complex or very keen on
    - # user data and require minimal interference to work:
    - #
    - {fragile}
    - .office.microsoft.com
    - .windowsupdate.microsoft.com
    - # Gmail is really mail.google.com, not gmail.com
    - mail.google.com
    -
    - # Shopping sites:
    - # Allow cookies (for setting and retrieving your customer data)
    - #
    - {shop}
    - .quietpc.com
    - .worldpay.com   # for quietpc.com
    - mybank.example.com
    -
    - # These shops require pop-ups:
    - #
    - {-filter{all-popups} -filter{unsolicited-popups}}
    -  .dabs.com
    -  .overclockers.co.uk
    -
    -
    - -

    Aliases like "shop" and "fragile" are typically used for "problem" sites that require more than one action to be - disabled in order to function properly.

    -
    - -
    -

    8.7. Actions - Files Tutorial

    - -

    The above chapters have shown which - actions files there are and how they are organized, how actions are - specified and applied to URLs, how patterns work, and how to define - and use aliases. Now, let's - look at an example match-all.action, - default.action and user.action file and see how all these pieces come - together:

    - -
    -

    8.7.1. - match-all.action

    - -

    Remember all actions - are disabled when matching starts, so we have to - explicitly enable the ones we want.

    - -

    While the match-all.action file only - contains a single section, it is probably the most important one. It - has only one pattern, "/", but this pattern matches all URLs. Therefore, the - set of actions used in this "default" - section will be applied to - all requests as a start. It can be partly or wholly - overridden by other actions files like default.action and user.action, but it will still be largely responsible - for your overall browsing experience.

    - -

    Again, at the start of matching, all actions are disabled, so - there is no need to disable any actions here. (Remember: a - "+" preceding the action name enables the - action, a "-" disables!). Also note how - this long line has been made more readable by splitting it into - multiple lines with line continuation.

    - - - - - -
    -
    -{ \
    - +change-x-forwarded-for{block} \
    - +hide-from-header{block} \
    - +set-image-blocker{pattern} \
    -}
    -/ # Match all URLs
    -
    -
    -
    - -

    The default behavior is now set.

    -
    - -
    -

    8.7.2. - default.action

    - -

    If you aren't a developer, there's no need for you to edit the - default.action file. It is maintained by - the Privoxy developers and if you - disagree with some of the sections, you should overrule them in your - user.action.

    - -

    Understanding the default.action file - can help you with your user.action, - though.

    - -

    The first section in this file is a special section for internal - use that prevents older Privoxy - versions from reading the file:

    - - - - - -
    -
    -##########################################################################
    -# Settings -- Don't change! For internal Privoxy use ONLY.
    -##########################################################################
    -{{settings}}
    -for-privoxy-version=3.0.11
    -
    -
    - -

    After that comes the (optional) alias section. We'll use the - example section from the above chapter on aliases, that also - explains why and how aliases are used:

    - - - - - -
    -
    -##########################################################################
    -# Aliases
    -##########################################################################
    -{{alias}}
    -
    - # These aliases just save typing later:
    - # (Note that some already use other aliases!)
    - #
    - +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
    - -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
    - +block-as-image      = +block{Blocked image.} +handle-as-image
    - mercy-for-cookies   = -crunch-all-cookies -session-cookies-only -filter{content-cookies}
    -
    - # These aliases define combinations of actions
    - # that are useful for certain types of sites:
    - #
    - fragile     = -block -filter -crunch-all-cookies -fast-redirects -hide-referrer
    - shop        = -crunch-all-cookies -filter{all-popups}
    -
    -
    - -

    The first of our specialized sections is concerned with - "fragile" sites, i.e. sites that require - minimum interference, because they are either very complex or very - keen on tracking you (and have mechanisms in place that make them - unusable for people who avoid being tracked). We will simply use our - pre-defined fragile alias instead of stating - the list of actions explicitly:

    - - - - - -
    -
    -##########################################################################
    -# Exceptions for sites that'll break under the default action set:
    -##########################################################################
    -
    -# "Fragile" Use a minimum set of actions for these sites (see alias above):
    -#
    -{ fragile }
    -.office.microsoft.com           # surprise, surprise!
    -.windowsupdate.microsoft.com
    -mail.google.com
    -
    -
    - -

    Shopping sites are not as fragile, but they typically require - cookies to log in, and pop-up windows for shopping carts or item - details. Again, we'll use a pre-defined alias:

    - - - - - -
    -
    -# Shopping sites:
    -#
    -{ shop }
    -.quietpc.com
    -.worldpay.com   # for quietpc.com
    -.jungle.com
    -.scan.co.uk
    -
    -
    - -

    The fast-redirects action, - which may have been enabled in match-all.action, breaks some sites. So disable it - for popular sites where we know it misbehaves:

    - - - - - -
    -
    -{ -fast-redirects }
    -login.yahoo.com
    -edit.*.yahoo.com
    -.google.com
    -.altavista.com/.*(like|url|link):http
    -.altavista.com/trans.*urltext=http
    -.nytimes.com
    -
    -
    - -

    It is important that Privoxy - knows which URLs belong to images, so that if they are to be blocked, - a substitute image can be sent, rather than an HTML page. Contacting - the remote site to find out is not an option, since it would destroy - the loading time advantage of banner blocking, and it would feed the - advertisers information about you. We can mark any URL as an image - with the handle-as-image action, - and marking all URLs that end in a known image file extension is a - good start:

    - - - - - -
    -
    -##########################################################################
    -# Images:
    -##########################################################################
    -
    -# Define which file types will be treated as images, in case they get
    -# blocked further down this file:
    -#
    -{ +handle-as-image }
    -/.*\.(gif|jpe?g|png|bmp|ico)$
    -
    -
    - -

    And then there are known banner sources. They often use scripts to - generate the banners, so it won't be visible from the URL that the - request is for an image. Hence we block them and mark them as images in - one go, with the help of our +block-as-image - alias defined above. (We could of course just as well use +block +handle-as-image here.) - Remember that the type of the replacement image is chosen by the - set-image-blocker - action. Since all URLs have matched the default section with its - +set-image-blocker{pattern} - action before, it still applies and needn't be repeated:

    - - - - - -
    -
    -# Known ad generators:
    -#
    -{ +block-as-image }
    -ar.atwola.com
    -.ad.doubleclick.net
    -.ad.*.doubleclick.net
    -.a.yimg.com/(?:(?!/i/).)*$
    -.a[0-9].yimg.com/(?:(?!/i/).)*$
    -bs*.gsanet.com
    -.qkimg.net
    -
    -
    - -

    One of the most important jobs of Privoxy is to block banners. Many of these can - be "blocked" by the filter{banners-by-size} action, - which we enabled above, and which deletes the references to banner - images from the pages while they are loaded, so the browser doesn't - request them anymore, and hence they don't need to be blocked here. - But this naturally doesn't catch all banners, and some people choose - not to use filters, so we need a comprehensive list of patterns for - banner URLs here, and apply the block action to them.

    - -

    First comes many generic patterns, which do most of the work, by - matching typical domain and path name components of banners. Then - comes a list of individual patterns for specific sites, which is - omitted here to keep the example short:

    - - - - - -
    -
    -##########################################################################
    -# Block these fine banners:
    -##########################################################################
    -{ +block{Banner ads.} }
    -
    -# Generic patterns:
    -#
    -ad*.
    -.*ads.
    -banner?.
    -count*.
    -/.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?)
    -/(?:.*/)?(publicite|werbung|rekla(ma|me|am)|annonse|maino(kset|nta|s)?)/
    -
    -# Site-specific patterns (abbreviated):
    -#
    -.hitbox.com
    -
    -
    - -

    It's quite remarkable how many advertisers actually call their - banner servers ads.company.com, - or call the directory in which the banners are stored simply - "banners". So the above generic patterns - are surprisingly effective.

    - -

    But being very generic, they necessarily also catch URLs that we - don't want to block. The pattern .*ads. e.g. - catches "nasty-ads.nasty-corp.com" as intended, but - also "downloads.sourcefroge.net" or "adsl.some-provider.net." So here come - some well-known exceptions to the +block section above.

    - -

    Note that these are exceptions to exceptions from the default! - Consider the URL "downloads.sourcefroge.net": Initially, all actions - are deactivated, so it wouldn't get blocked. Then comes the defaults - section, which matches the URL, but just deactivates the block action - once again. Then it matches .*ads., an - exception to the general non-blocking policy, and suddenly +block applies. - And now, it'll match .*loads., where - -block - applies, so (unless it matches again further down) it ends up with no - block - action applying.

    - - - - - -
    -
    -##########################################################################
    -# Save some innocent victims of the above generic block patterns:
    -##########################################################################
    -
    -# By domain:
    -#
    -{ -block }
    -adv[io]*.  # (for advogato.org and advice.*)
    -adsl.      # (has nothing to do with ads)
    -adobe.     # (has nothing to do with ads either)
    -ad[ud]*.   # (adult.* and add.*)
    -.edu       # (universities don't host banners (yet!))
    -.*loads.   # (downloads, uploads etc)
    -
    -# By path:
    -#
    -/.*loads/
    -
    -# Site-specific:
    -#
    -www.globalintersec.com/adv # (adv = advanced)
    -www.ugu.com/sui/ugu/adv
    -
    -
    - -

    Filtering source code can have nasty side effects, so make an - exception for our friends at sourceforge.net, and all paths with - "cvs" in them. Note that -filter - disables all - filters in one fell swoop!

    - - - - - -
    -
    -# Don't filter code!
    -#
    -{ -filter }
    -/(.*/)?cvs
    -bugzilla.
    -developer.
    -wiki.
    -.sourceforge.net
    -
    -
    - -

    The actual default.action is of course - much more comprehensive, but we hope this example made clear how it - works.

    -
    - -
    -

    8.7.3. - user.action

    - -

    So far we are painting with a broad brush by setting general - policies, which would be a reasonable starting point for many people. - Now, you might want to be more specific and have customized rules - that are more suitable to your personal habits and preferences. These - would be for narrowly defined situations like your ISP or your bank, - and should be placed in user.action, which - is parsed after all other actions files and hence has the last word, - over-riding any previously defined actions. user.action is also a safe place for your - personal settings, since default.action is - actively maintained by the Privoxy - developers and you'll probably want to install updated versions from - time to time.

    - -

    So let's look at a few examples of things that one might typically - do in user.action:

    - - - - - -
    -
    -# My user.action file. <fred@example.com>
    -
    -
    - -

    As aliases are local to - the actions file that they are defined in, you can't use the ones - from default.action, unless you repeat them - here:

    - - - - - -
    -
    -# Aliases are local to the file they are defined in.
    -# (Re-)define aliases for this file:
    -#
    -{{alias}}
    -#
    -# These aliases just save typing later, and the alias names should
    -# be self explanatory.
    -#
    -+crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
    --crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
    - allow-all-cookies  = -crunch-all-cookies -session-cookies-only
    - allow-popups       = -filter{all-popups}
    -+block-as-image     = +block{Blocked as image.} +handle-as-image
    --block-as-image     = -block
    -
    -# These aliases define combinations of actions that are useful for
    -# certain types of sites:
    -#
    -fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referrer
    -shop        = -crunch-all-cookies allow-popups
    -
    -# Allow ads for selected useful free sites:
    -#
    -allow-ads   = -block -filter{banners-by-size} -filter{banners-by-link}
    -
    -# Alias for specific file types that are text, but might have conflicting
    -# MIME types. We want the browser to force these to be text documents.
    -handle-as-text = -filter +-content-type-overwrite{text/plain} +-force-text-mode -hide-content-disposition
    -
    -
    - -

    Say you have accounts on some sites that you visit regularly, and - you don't want to have to log in manually each time. So you'd like to - allow persistent cookies for these sites. The allow-all-cookies alias defined above does exactly - that, i.e. it disables crunching of cookies in any direction, and the - processing of cookies to make them only temporary.

    - - - - - -
    -
    -{ allow-all-cookies }
    - sourceforge.net
    - .yahoo.com
    - .msdn.microsoft.com
    - .redhat.com
    -
    -
    - -

    Your bank is allergic to some filter, but you don't know which, so - you disable them all:

    - - - - - -
    -
    -{ -filter }
    - .your-home-banking-site.com
    -
    -
    - -

    Some file types you may not want to filter for various - reasons:

    - - - - - -
    -
    -# Technical documentation is likely to contain strings that might
    -# erroneously get altered by the JavaScript-oriented filters:
    -#
    -.tldp.org
    -/(.*/)?selfhtml/
    -
    -# And this stupid host sends streaming video with a wrong MIME type,
    -# so that Privoxy thinks it is getting HTML and starts filtering:
    -#
    -stupid-server.example.com/
    -
    -
    - -

    Example of a simple block - action. Say you've seen an ad on your favourite page on example.com - that you want to get rid of. You have right-clicked the image, - selected "copy image location" and pasted - the URL below while removing the leading http://, into a { +block{} } section. Note that { - +handle-as-image } need not be specified, since all URLs ending - in .gif will be tagged as images by the - general rules as set in default.action anyway:

    - - - - - -
    -
    -{ +block{Nasty ads.} }
    - www.example.com/nasty-ads/sponsor\.gif
    - another.example.net/more/junk/here/
    -
    -
    - -

    The URLs of dynamically generated banners, especially from large - banner farms, often don't use the well-known image file name - extensions, which makes it impossible for Privoxy to guess the file type just by looking - at the URL. You can use the +block-as-image - alias defined above for these cases. Note that objects which match - this rule but then turn out NOT to be an image are typically rendered - as a "broken image" icon by the browser. - Use cautiously.

    - - - - - -
    -
    -{ +block-as-image }
    - .doubleclick.net
    - .fastclick.net
    - /Realmedia/ads/
    - ar.atwola.com/
    -
    -
    - -

    Now you noticed that the default configuration breaks Forbes - Magazine, but you were too lazy to find out which action is the - culprit, and you were again too lazy to give feedback, so you just used the fragile alias on the site, and -- whoa! -- it worked. The - fragile aliases disables those actions that - are most likely to break a site. Also, good for testing purposes to - see if it is Privoxy that is causing - the problem or not. We later find other regular sites that misbehave, - and add those to our personalized list of troublemakers:

    - - - - - -
    -
    -{ fragile }
    - .forbes.com
    - webmail.example.com
    - .mybank.com
    -
    -
    - -

    You like the "fun" text replacements in - default.filter, but it is disabled in the - distributed actions file. So you'd like to turn it on in your - private, update-safe config, once and for all:

    - - - - - -
    -
    -{ +filter{fun} }
    - / # For ALL sites!
    -
    -
    - -

    Note that the above is not really a good idea: There are - exceptions to the filters in default.action - for things that really shouldn't be filtered, like code on - CVS->Web interfaces. Since user.action - has the last word, these exceptions won't be valid for the - "fun" filtering specified here.

    - -

    You might also worry about how your favourite free websites are - funded, and find that they rely on displaying banner advertisements - to survive. So you might want to specifically allow banners for those - sites that you feel provide value to you:

    - - - - - -
    -
    -{ allow-ads }
    - .sourceforge.net
    - .slashdot.org
    - .osdn.net
    -
    -
    - -

    Note that allow-ads has been aliased to - -block, -filter{banners-by-size}, - and -filter{banners-by-link} - above.

    - -

    Invoke another alias here to force an over-ride of the MIME type - application/x-sh which typically would open - a download type dialog. In my case, I want to look at the shell - script, and then I can save it should I choose to.

    - - - - - -
    -
    -{ handle-as-text }
    - /.*\.sh$
    -
    -
    - -

    user.action is generally the best place - to define exceptions and additions to the default policies of - default.action. Some actions are safe to - have their default policies set here though. So let's set a default - policy to have a "blank" image as opposed - to the checkerboard pattern for ALL sites. "/" of - course matches all URL paths and patterns:

    - - - - - -
    -
    -{ +set-image-blocker{blank} }
    -/ # ALL sites
    -
    -
    -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/appendix.html b/pkg content/usr/local/share/doc/privoxy/user-manual/appendix.html deleted file mode 100644 index 9b1cc1b..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/appendix.html +++ /dev/null @@ -1,1090 +0,0 @@ - - - - - Appendix - - - - - - - - - - - -
    -

    14. Appendix

    - -
    -

    14.1. Regular - Expressions

    - -

    Privoxy uses Perl-style - "regular expressions" in its actions files and filter file, through the PCRE and PCRS libraries.

    - -

    If you are reading this, you probably don't understand what - "regular expressions" are, or what they can - do. So this will be a very brief introduction only. A full explanation - would require a book ;-)

    - -

    Regular expressions provide a language to describe patterns that can - be run against strings of characters (letter, numbers, etc), to see if - they match the string or not. The patterns are themselves (sometimes - complex) strings of literal characters, combined with wild-cards, and - other special characters, called meta-characters. The "meta-characters" have special meanings and are used to - build complex patterns to be matched against. Perl Compatible Regular - Expressions are an especially convenient "dialect" of the regular expression language.

    - -

    To make a simple analogy, we do something similar when we use - wild-card characters when listing files with the dir command in DOS. *.* matches - all filenames. The "special" character here - is the asterisk which matches any and all characters. We can be more - specific and use ? to match just individual - characters. So "dir file?.text" would match - "file1.txt", "file2.txt", etc. We are pattern matching, using a - similar technique to "regular - expressions"!

    - -

    Regular expressions do essentially the same thing, but are much, - much more powerful. There are many more "special - characters" and ways of building complex patterns however. Let's - look at a few of the common ones, and then some examples:

    - - - - - - - -
    . - - Matches any single character, e.g. "a", "A", "4", ":", or - "@".
    - - - - - - - -
    ? - The - preceding character or expression is matched ZERO or ONE times. - Either/or.
    - - - - - - - -
    + - The - preceding character or expression is matched ONE or MORE - times.
    - - - - - - - -
    * - The - preceding character or expression is matched ZERO or MORE - times.
    - - - - - - - -
    \ - The - "escape" character denotes that the - following character should be taken literally. This is used where - one of the special characters (e.g. ".") needs to be taken literally and not as a - special meta-character. Example: "example\.com", makes sure the period is - recognized only as a period (and not expanded to its - meta-character meaning of any single character).
    - - - - - - - -
    [ ] - - Characters enclosed in brackets will be matched if any of the - enclosed characters are encountered. For instance, "[0-9]" matches any numeric digit (zero through - nine). As an example, we can combine this with "+" to match any digit one of more times: - "[0-9]+".
    - - - - - - - -
    ( ) - - parentheses are used to group a sub-expression, or multiple - sub-expressions.
    - - - - - - - -
    | - The - "bar" character works like an - "or" conditional statement. A match is - successful if the sub-expression on either side of "|" matches. As an example: "/(this|that) example/" uses grouping and the bar - character and would match either "this - example" or "that example", and - nothing else.
    - -

    These are just some of the ones you are likely to use when matching - URLs with Privoxy, and is a long way - from a definitive list. This is enough to get us started with a few - simple examples which may be more illuminating:

    - -

    /.*/banners/.* - A simple example that uses - the common combination of "." and - "*" to denote any character, zero or more - times. In other words, any string at all. So we start with a literal - forward slash, then our regular expression pattern (".*") another literal forward slash, the string - "banners", another forward slash, and lastly - another ".*". We are building a directory - path here. This will match any file with the path that has a directory - named "banners" in it. The ".*" matches any characters, and this could conceivably - be more forward slashes, so it might expand into a much longer looking - path. For example, this could match: "/eye/hate/spammers/banners/annoy_me_please.gif", or - just "/banners/annoying.html", or almost an - infinite number of other possible combinations, just so it has - "banners" in the path somewhere.

    - -

    And now something a little more complex:

    - -

    /.*/adv((er)?ts?|ertis(ing|ements?))?/ - We - have several literal forward slashes again ("/"), so we are building another expression that is a - file path statement. We have another ".*", - so we are matching against any conceivable sub-path, just so it matches - our expression. The only true literal that must match our pattern is - adv, together with the forward - slashes. What comes after the "adv" string - is the interesting part.

    - -

    Remember the "?" means the preceding - expression (either a literal character or anything grouped with - "(...)" in this case) can exist or not, - since this means either zero or one match. So "((er)?ts?|ertis(ing|ements?))" is optional, as are the - individual sub-expressions: "(er)", - "(ing|ements?)", and the "s". The "|" means - "or". We have two of those. For instance, - "(ing|ements?)", can expand to match either - "ing" OR "ements?". What is - being done here, is an attempt at matching as many variations of - "advertisement", and similar, as possible. - So this would expand to match just "adv", or - "advert", or "adverts", or "advertising", - or "advertisement", or "advertisements". You get the idea. But it would not - match "advertizements" (with a "z"). We could fix that by changing our regular - expression to: "/.*/adv((er)?ts?|erti(s|z)(ing|ements?))?/", which - would then match either spelling.

    - -

    /.*/advert[0-9]+\.(gif|jpe?g) - Again another - path statement with forward slashes. Anything in the square brackets - "[ ]" can be matched. This is using - "0-9" as a shorthand expression to mean any - digit one through nine. It is the same as saying "0123456789". So any digit matches. The "+" means one or more of the preceding expression must - be included. The preceding expression here is what is in the square - brackets -- in this case, any digit one through nine. Then, at the end, - we have a grouping: "(gif|jpe?g)". This - includes a "|", so this needs to match the - expression on either side of that bar character also. A simple - "gif" on one side, and the other side will - in turn match either "jpeg" or "jpg", since the "?" means - the letter "e" is optional and can be - matched once or not at all. So we are building an expression here to - match image GIF or JPEG type image file. It must include the literal - string "advert", then one or more digits, - and a "." (which is now a literal, and not a - special character, since it is escaped with "\"), and lastly either "gif", or "jpeg", or - "jpg". Some possible matches would include: - "//advert1.jpg", "/nasty/ads/advert1234.gif", "/banners/from/hell/advert99.jpg". It would not match - "advert1.gif" (no leading slash), or - "/adverts232.jpg" (the expression does not - include an "s"), or "/advert1.jsp" ("jsp" is not - in the expression anywhere).

    - -

    We are barely scratching the surface of regular expressions here so - that you can understand the default Privoxy configuration files, and maybe use this - knowledge to customize your own installation. There is much, much more - that can be done with regular expressions. Now that you know enough to - get started, you can learn more on your own :/

    - -

    More reading on Perl Compatible Regular expressions: http://perldoc.perl.org/perlre.html

    - -

    For information on regular expression based substitutions and their - applications in filters, please see the filter file tutorial in this manual.

    -
    - -
    -

    14.2. Privoxy's - Internal Pages

    - -

    Since Privoxy proxies each - requested web page, it is easy for Privoxy to trap certain special URLs. In this way, - we can talk directly to Privoxy, and - see how it is configured, see how our rules are being applied, change - these rules and other configuration options, and even turn Privoxy's filtering off, all with a web - browser.

    - -

    The URLs listed below are the special ones that allow direct access - to Privoxy. Of course, Privoxy must be running to access these. If not, - you will get a friendly error message. Internet access is not necessary - either.

    - - - -

    These may be bookmarked for quick reference. See next.

    - -
    -

    14.2.1. - Bookmarklets

    - -

    Below are some "bookmarklets" to allow - you to easily access a "mini" version of - some of Privoxy's special pages. - They are designed for MS Internet Explorer, but should work equally - well in Netscape, Mozilla, and other browsers which support - JavaScript. They are designed to run directly from your bookmarks - - not by clicking the links below (although that should work for - testing).

    - -

    To save them, right-click the link and choose "Add to Favorites" (IE) or "Add - Bookmark" (Netscape). You will get a warning that the bookmark - "may not be safe" - just click OK. Then - you can run the Bookmarklet directly from your favorites/bookmarks. - For even faster access, you can put them on the "Links" bar (IE) or the "Personal - Toolbar" (Netscape), and run them with a single click.

    - - - -

    Credit: The site which gave us the general idea for these - bookmarklets is www.bookmarklets.com. They have more information about - bookmarklets.

    -
    -
    - -
    -

    14.3. Chain of - Events

    - -

    Let's take a quick look at how some of Privoxy's core features are triggered, and the - ensuing sequence of events when a web page is requested by your - browser:

    - -
      -
    • -

      First, your web browser requests a web page. The browser knows - to send the request to Privoxy, - which will in turn, relay the request to the remote web server - after passing the following tests:

      -
    • - -
    • -

      Privoxy traps any request for - its own internal CGI pages (e.g http://p.p/) and sends the CGI page back to the - browser.

      -
    • - -
    • -

      Next, Privoxy checks to see if - the URL matches any "+block" patterns. If so, the URL is then - blocked, and the remote web server will not be contacted. "+handle-as-image" and "+handle-as-empty-document" are then checked, - and if there is no match, an HTML "BLOCKED" page is sent back to the browser. - Otherwise, if it does match, an image is returned for the former, - and an empty text document for the latter. The type of image would - depend on the setting of "+set-image-blocker" (blank, checkerboard - pattern, or an HTTP redirect to an image elsewhere).

      -
    • - -
    • -

      Untrusted URLs are blocked. If URLs are being added to the - trust file, then that is done.

      -
    • - -
    • -

      If the URL pattern matches the "+fast-redirects" action, it is then processed. - Unwanted parts of the requested URL are stripped.

      -
    • - -
    • -

      Now the rest of the client browser's request headers are - processed. If any of these match any of the relevant actions (e.g. - "+hide-user-agent", etc.), headers are - suppressed or forged as determined by these actions and their - parameters.

      -
    • - -
    • -

      Now the web server starts sending its response back (i.e. - typically a web page).

      -
    • - -
    • -

      First, the server headers are read and processed to determine, - among other things, the MIME type (document type) and encoding. The - headers are then filtered as determined by the "+crunch-incoming-cookies", "+session-cookies-only", and "+downgrade-http-version" actions.

      -
    • - -
    • -

      If any "+filter" action or "+deanimate-gifs" action applies (and the - document type fits the action), the rest of the page is read into - memory (up to a configurable limit). Then the filter rules (from - default.filter and any other filter - files) are processed against the buffered content. Filters are - applied in the order they are specified in one of the filter files. - Animated GIFs, if present, are reduced to either the first or last - frame, depending on the action setting.The entire page, which is - now filtered, is then sent by Privoxy back to your browser.

      - -

      If neither a "+filter" action or "+deanimate-gifs" matches, then Privoxy passes the raw data through to the - client browser as it becomes available.

      -
    • - -
    • -

      As the browser receives the now (possibly filtered) page - content, it reads and then requests any URLs that may be embedded - within the page source, e.g. ad images, stylesheets, JavaScript, - other HTML documents (e.g. frames), sounds, etc. For each of these - objects, the browser issues a separate request (this is easily - viewable in Privoxy's logs). And - each such request is in turn processed just as above. Note that a - complex web page will have many, many such embedded URLs. If these - secondary requests are to a different server, then quite possibly a - very differing set of actions is triggered.

      -
    • -
    - -

    NOTE: This is somewhat of a simplistic overview of what happens with - each URL request. For the sake of brevity and simplicity, we have - focused on Privoxy's core features - only.

    -
    - -
    -

    14.4. - Troubleshooting: Anatomy of an Action

    - -

    The way Privoxy applies actions and filters to any given URL can be complex, - and not always so easy to understand what is happening. And sometimes - we need to be able to see just what Privoxy is doing. Especially, if something - Privoxy is doing is causing us a - problem inadvertently. It can be a little daunting to look at the - actions and filters files themselves, since they tend to be filled with - regular expressions whose - consequences are not always so obvious.

    - -

    One quick test to see if Privoxy is - causing a problem or not, is to disable it temporarily. This should be - the first troubleshooting step. See the Bookmarklets section on a quick - and easy way to do this (be sure to flush caches afterward!). Looking - at the logs is a good idea too. (Note that both the toggle feature and - logging are enabled via config file settings, - and may need to be turned "on".)

    - -

    Another easy troubleshooting step to try is if you have done any - customization of your installation, revert back to the installed - defaults and see if that helps. There are times the developers get - complaints about one thing or another, and the problem is more related - to a customized configuration issue.

    - -

    Privoxy also provides the http://config.privoxy.org/show-url-info page that can show - us very specifically how actions are - being applied to any given URL. This is a big help for - troubleshooting.

    - -

    First, enter one URL (or partial URL) at the prompt, and then - Privoxy will tell us how the current - configuration will handle it. This will not help with filtering effects - (i.e. the "+filter" action) from one of the filter files since - this is handled very differently and not so easy to trap! It also will - not tell you about any other URLs that may be embedded within the URL - you are testing. For instance, images such as ads are expressed as URLs - within the raw page source of HTML pages. So you will only get info for - the actual URL that is pasted into the prompt area -- not any sub-URLs. - If you want to know about embedded URLs like ads, you will have to dig - those out of the HTML source. Use your browser's "View Page Source" option for this. Or right click on - the ad, and grab the URL.

    - -

    Let's try an example, google.com, and look at it one section at a time in a sample - configuration (your real configuration may vary):

    - - - - - -
    -
    - Matches for http://www.google.com:
    -
    - In file: default.action [ View ] [ Edit ]
    -
    - {+change-x-forwarded-for{block}
    - +deanimate-gifs {last}
    - +fast-redirects {check-decoded-url}
    - +filter {refresh-tags}
    - +filter {img-reorder}
    - +filter {banners-by-size}
    - +filter {webbugs}
    - +filter {jumping-windows}
    - +filter {ie-exploits}
    - +hide-from-header {block}
    - +hide-referrer {forge}
    - +session-cookies-only
    - +set-image-blocker {pattern}
    -/
    -
    - { -session-cookies-only }
    - .google.com
    -
    - { -fast-redirects }
    - .google.com
    -
    -In file: user.action [ View ] [ Edit ]
    -(no matches in this file)
    -
    -
    - -

    This is telling us how we have defined our "actions", - and which ones match for our test case, "google.com". Displayed is all the actions that are - available to us. Remember, the + sign denotes - "on". - denotes - "off". So some are "on" here, but many are "off". Each example we try may provide a slightly - different end result, depending on our configuration directives.

    - -

    The first listing is for our default.action file. The large, multi-line listing, is - how the actions are set to match for all URLs, i.e. our default - settings. If you look at your "actions" - file, this would be the section just below the "aliases" section near the top. This will apply to all - URLs as signified by the single forward slash at the end of the listing - -- " / ".

    - -

    But we have defined additional actions that would be exceptions to - these general rules, and then we list specific URLs (or patterns) that - these exceptions would apply to. Last match wins. Just below this then - are two explicit matches for ".google.com". - The first is negating our previous cookie setting, which was for - "+session-cookies-only" (i.e. not persistent). So we - will allow persistent cookies for google, at least that is how it is in - this example. The second turns off any "+fast-redirects" action, allowing this to take - place unmolested. Note that there is a leading dot here -- ".google.com". This will match any hosts and - sub-domains, in the google.com domain also, such as "www.google.com" or "mail.google.com". But it would not match "www.google.de"! So, apparently, we have these two - actions defined as exceptions to the general rules at the top somewhere - in the lower part of our default.action file, - and "google.com" is referenced somewhere in - these latter sections.

    - -

    Then, for our user.action file, we again - have no hits. So there is nothing google-specific that we might have - added to our own, local configuration. If there was, those actions - would over-rule any actions from previously processed files, such as - default.action. user.action typically has the last word. This is the - best place to put hard and fast exceptions,

    - -

    And finally we pull it all together in the bottom section and - summarize how Privoxy is applying all - its "actions" to "google.com":

    - - - - - -
    -
    -
 Final results:
    -
    - -add-header
    - -block
    - +change-x-forwarded-for{block}
    - -client-header-filter{hide-tor-exit-notation}
    - -content-type-overwrite
    - -crunch-client-header
    - -crunch-if-none-match
    - -crunch-incoming-cookies
    - -crunch-outgoing-cookies
    - -crunch-server-header
    - +deanimate-gifs {last}
    - -downgrade-http-version
    - -fast-redirects
    - -filter {js-events}
    - -filter {content-cookies}
    - -filter {all-popups}
    - -filter {banners-by-link}
    - -filter {tiny-textforms}
    - -filter {frameset-borders}
    - -filter {demoronizer}
    - -filter {shockwave-flash}
    - -filter {quicktime-kioskmode}
    - -filter {fun}
    - -filter {crude-parental}
    - -filter {site-specifics}
    - -filter {js-annoyances}
    - -filter {html-annoyances}
    - +filter {refresh-tags}
    - -filter {unsolicited-popups}
    - +filter {img-reorder}
    - +filter {banners-by-size}
    - +filter {webbugs}
    - +filter {jumping-windows}
    - +filter {ie-exploits}
    - -filter {google}
    - -filter {yahoo}
    - -filter {msn}
    - -filter {blogspot}
    - -filter {no-ping}
    - -force-text-mode
    - -handle-as-empty-document
    - -handle-as-image
    - -hide-accept-language
    - -hide-content-disposition
    - +hide-from-header {block}
    - -hide-if-modified-since
    - +hide-referrer {forge}
    - -hide-user-agent
    - -limit-connect
    - -overwrite-last-modified
    - -prevent-compression
    - -redirect
    - -server-header-filter{xml-to-html}
    - -server-header-filter{html-to-xml}
    - -session-cookies-only
    - +set-image-blocker {pattern}
    -
    -
    - -

    Notice the only difference here to the previous listing, is to - "fast-redirects" and "session-cookies-only", which are activated specifically - for this site in our configuration, and thus show in the "Final Results".

    - -

    Now another example, "ad.doubleclick.net":

    - - - - - -
    -
    -
 { +block{Domains starts with "ad"} }
    -  ad*.
    -
    - { +block{Domain contains "ad"} }
    -  .ad.
    -
    - { +block{Doubleclick banner server} +handle-as-image }
    -  .[a-vx-z]*.doubleclick.net
    -
    -
    - -

    We'll just show the interesting part here - the explicit matches. It - is matched three different times. Two "+block{}" sections, and a "+block{} - +handle-as-image", which is the expanded form of one of our - aliases that had been defined as: "+block-as-image". ("Aliases" - are defined in the first section of the actions file and typically used - to combine more than one action.)

    - -

    Any one of these would have done the trick and blocked this as an - unwanted image. This is unnecessarily redundant since the last case - effectively would also cover the first. No point in taking chances with - these guys though ;-) Note that if you want an ad or obnoxious URL to - be invisible, it should be defined as "ad.doubleclick.net" is done here -- as both a "+block{}" - and an "+handle-as-image". The custom alias "+block-as-image" just - simplifies the process and make it more readable.

    - -

    One last example. Let's try "http://www.example.net/adsl/HOWTO/". This one is giving - us problems. We are getting a blank page. Hmmm ...

    - - - - - -
    -
    -
 Matches for http://www.example.net/adsl/HOWTO/:
    -
    - In file: default.action [ View ] [ Edit ]
    -
    - {-add-header
    -  -block
    -  +change-x-forwarded-for{block}
    -  -client-header-filter{hide-tor-exit-notation}
    -  -content-type-overwrite
    -  -crunch-client-header
    -  -crunch-if-none-match
    -  -crunch-incoming-cookies
    -  -crunch-outgoing-cookies
    -  -crunch-server-header
    -  +deanimate-gifs
    -  -downgrade-http-version
    -  +fast-redirects {check-decoded-url}
    -  -filter {js-events}
    -  -filter {content-cookies}
    -  -filter {all-popups}
    -  -filter {banners-by-link}
    -  -filter {tiny-textforms}
    -  -filter {frameset-borders}
    -  -filter {demoronizer}
    -  -filter {shockwave-flash}
    -  -filter {quicktime-kioskmode}
    -  -filter {fun}
    -  -filter {crude-parental}
    -  -filter {site-specifics}
    -  -filter {js-annoyances}
    -  -filter {html-annoyances}
    -  +filter {refresh-tags}
    -  -filter {unsolicited-popups}
    -  +filter {img-reorder}
    -  +filter {banners-by-size}
    -  +filter {webbugs}
    -  +filter {jumping-windows}
    -  +filter {ie-exploits}
    -  -filter {google}
    -  -filter {yahoo}
    -  -filter {msn}
    -  -filter {blogspot}
    -  -filter {no-ping}
    -  -force-text-mode
    -  -handle-as-empty-document
    -  -handle-as-image
    -  -hide-accept-language
    -  -hide-content-disposition
    -  +hide-from-header{block}
    -  +hide-referer{forge}
    -  -hide-user-agent
    -  -overwrite-last-modified
    -  +prevent-compression
    -  -redirect
    -  -server-header-filter{xml-to-html}
    -  -server-header-filter{html-to-xml}
    -  +session-cookies-only
    -  +set-image-blocker{blank} }
    -   /
    -
    - { +block{Path contains "ads".} +handle-as-image }
    -  /ads
    -
    -
    - -

    Ooops, the "/adsl/" is matching - "/ads" in our configuration! But we did not - want this at all! Now we see why we get the blank page. It is actually - triggering two different actions here, and the effects are aggregated - so that the URL is blocked, and Privoxy is told to treat the block as if it were - an image. But this is, of course, all wrong. We could now add a new - action below this (or better in our own user.action file) that explicitly un blocks ( "{-block}") - paths with "adsl" in them (remember, last - match in the configuration wins). There are various ways to handle such - exceptions. Example:

    - - - - - -
    -
    -
 { -block }
    -  /adsl
    -
    -
    - -

    Now the page displays ;-) Remember to flush your browser's caches - when making these kinds of changes to your configuration to insure that - you get a freshly delivered page! Or, try using Shift+Reload.

    - -

    But now what about a situation where we get no explicit matches like - we did with:

    - - - - - -
    -
    -
 { +block{Path starts with "ads".} +handle-as-image }
    - /ads
    -
    -
    - -

    That actually was very helpful and pointed us quickly to where the - problem was. If you don't get this kind of match, then it means one of - the default rules in the first section of default.action is causing the problem. This would - require some guesswork, and maybe a little trial and error to isolate - the offending rule. One likely cause would be one of the "+filter" - actions. These tend to be harder to troubleshoot. Try adding the URL - for the site to one of aliases that turn off "+filter":

    - - - - - -
    -
    -
 { shop }
    - .quietpc.com
    - .worldpay.com   # for quietpc.com
    - .jungle.com
    - .scan.co.uk
    - .forbes.com
    -
    -
    - -

    "{ shop }" is an - "alias" that expands to "{ -filter -session-cookies-only - }". Or you could do your own exception to negate - filtering:

    - - - - - -
    -
    -
 { -filter }
    - # Disable ALL filter actions for sites in this section
    - .forbes.com
    - developer.ibm.com
    - localhost
    -
    -
    - -

    This would turn off all filtering for these sites. This is best put - in user.action, for local site exceptions. - Note that when a simple domain pattern is used by itself (without the - subsequent path portion), all sub-pages within that domain are included - automatically in the scope of the action.

    - -

    Images that are inexplicably being blocked, may well be hitting the - "+filter{banners-by-size}" rule, which assumes that - images of certain sizes are ad banners (works well most of the time since these - tend to be standardized).

    - -

    "{ fragile }" is - an alias that disables most actions that are the most likely to cause - trouble. This can be used as a last resort for problem sites.

    - - - - - -
    -
    -
 { fragile }
    - # Handle with care: easy to break
    - mail.google.
    - mybank.example.com
    -
    -
    - -

    Remember to flush - caches! Note that the mail.google - reference lacks the TLD portion (e.g. ".com"). This will effectively match any TLD with - google in it, such as mail.google.de., just as an example.

    - -

    If this still does not work, you will have to go through the - remaining actions one by one to find which one(s) is causing the - problem.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/config.html b/pkg content/usr/local/share/doc/privoxy/user-manual/config.html deleted file mode 100644 index 38f75fd..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/config.html +++ /dev/null @@ -1,3231 +0,0 @@ - - - - - The Main Configuration File - - - - - - - - - - - - -
    -

    7. The Main Configuration - File

    - -

    By default, the main configuration file is named config, with the exception of Windows, where it is named - config.txt. 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:

    - -

      confdir /etc/privoxy

    - -

    Assigns the value /etc/privoxy to the option - confdir and thus indicates that the - configuration directory is named "/etc/privoxy/".

    - -

    All options in the config file except for confdir and logdir are optional. - Watch out in the below description for what happens if you leave them - unset.

    - -

    The main config file controls all aspects of Privoxy's operation that are not location dependent - (i.e. they apply universally, no matter where you may be surfing). Like - the filter and action files, the config file is a plain text file and can - be modified with a text editor like emacs, vim or notepad.exe.

    - -
    -

    7.1. Local - Set-up Documentation

    - -

    If you intend to operate Privoxy - for more users than just yourself, it might be a good idea to let them - know how to reach you, what you block and why you do that, your - policies, etc.

    - -
    -

    7.1.1. - user-manual

    - -
    -
    -
    Specifies:
    - -
    -

    Location of the Privoxy - User Manual.

    -
    - -
    Type of value:
    - -
    -

    A fully qualified URI

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    http://www.privoxy.org/version/user-manual/ will be - used, where version is the - Privoxy version.

    -
    - -
    Notes:
    - -
    -

    The User Manual URI is the single best source of information - on Privoxy, and is used for - help links from some of the internal CGI pages. The manual - itself is normally packaged with the binary distributions, so - you probably want to set this to a locally installed copy.

    - -

    Examples:

    - -

    The best all purpose solution is simply to put the full - local PATH to where the User Manual is located:

    - - - - - -
    -
    -  user-manual  /usr/share/doc/privoxy/user-manual
    -
    -
    - -

    The User Manual is then available to anyone with access to - Privoxy, by following the - built-in URL: http://config.privoxy.org/user-manual/ (or the - shortcut: http://p.p/user-manual/).

    - -

    If the documentation is not on the local system, it can be - accessed from a remote server, as:

    - - - - - -
    -
    -  user-manual  http://example.com/privoxy/user-manual/
    -
    -
    - -
    - - - - - - - - -
    Warning
    -

    If set, this option should be the first option in the - config file, because it is used while the - config file is being read on start-up.

    -
    -
    -
    -
    -
    -
    - -
    -

    7.1.2. - trust-info-url

    - -
    -
    -
    Specifies:
    - -
    -

    A URL to be displayed in the error page that users will see - if access to an untrusted page is denied.

    -
    - -
    Type of value:
    - -
    -

    URL

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    No links are displayed on the "untrusted" error page.

    -
    - -
    Notes:
    - -
    -

    The value of this option only matters if the experimental - trust mechanism has been activated. (See trustfile below.)

    - -

    If you use the trust mechanism, it is a good idea to write - up some on-line documentation about your trust policy and to - specify the URL(s) here. Use multiple times for multiple - URLs.

    - -

    The URL(s) should be added to the trustfile as well, so - users don't end up locked out from the information on why they - were locked out in the first place!

    -
    -
    -
    -
    - -
    -

    7.1.3. - admin-address

    - -
    -
    -
    Specifies:
    - -
    -

    An email address to reach the Privoxy administrator.

    -
    - -
    Type of value:
    - -
    -

    Email address

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    No email address is displayed on error pages and the CGI - user interface.

    -
    - -
    Notes:
    - -
    -

    If both admin-address and - proxy-info-url are unset, the whole - "Local Privoxy Support" box on all generated pages will not be - shown.

    -
    -
    -
    -
    - -
    -

    7.1.4. - proxy-info-url

    - -
    -
    -
    Specifies:
    - -
    -

    A URL to documentation about the local Privoxy setup, configuration or - policies.

    -
    - -
    Type of value:
    - -
    -

    URL

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    No link to local documentation is displayed on error pages - and the CGI user interface.

    -
    - -
    Notes:
    - -
    -

    If both admin-address and - proxy-info-url are unset, the whole - "Local Privoxy Support" box on all generated pages will not be - shown.

    - -

    This URL shouldn't be blocked ;-)

    -
    -
    -
    -
    -
    - -
    -

    7.2. - Configuration and Log File Locations

    - -

    Privoxy can (and normally does) use - a number of other files for additional configuration, help and logging. - This section of the configuration file tells Privoxy where to find those other files.

    - -

    The user running Privoxy, must have - read permission for all configuration files, and write permission to - any files that would be modified, such as log files and actions - files.

    - -
    -

    7.2.1. - confdir

    - -
    -
    -
    Specifies:
    - -
    -

    The directory where the other configuration files are - located.

    -
    - -
    Type of value:
    - -
    -

    Path name

    -
    - -
    Default value:
    - -
    -

    /etc/privoxy (Unix) or Privoxy installation dir (Windows)

    -
    - -
    Effect if unset:
    - -
    -

    Mandatory

    -
    - -
    Notes:
    - -
    -

    No trailing "/", please.

    -
    -
    -
    -
    - -
    -

    7.2.2. - templdir

    - -
    -
    -
    Specifies:
    - -
    -

    An alternative directory where the templates are loaded - from.

    -
    - -
    Type of value:
    - -
    -

    Path name

    -
    - -
    Default value:
    - -
    -

    unset

    -
    - -
    Effect if unset:
    - -
    -

    The templates are assumed to be located in - confdir/template.

    -
    - -
    Notes:
    - -
    -

    Privoxy's original - templates are usually overwritten with each update. Use this - option to relocate customized templates that should be kept. As - template variables might change between updates, you shouldn't - expect templates to work with Privoxy releases other than the one they - were part of, though.

    -
    -
    -
    -
    - -
    -

    7.2.3. logdir

    - -
    -
    -
    Specifies:
    - -
    -

    The directory where all logging takes place (i.e. where the - logfile is located).

    -
    - -
    Type of value:
    - -
    -

    Path name

    -
    - -
    Default value:
    - -
    -

    /var/log/privoxy (Unix) or Privoxy installation dir (Windows)

    -
    - -
    Effect if unset:
    - -
    -

    Mandatory

    -
    - -
    Notes:
    - -
    -

    No trailing "/", please.

    -
    -
    -
    -
    - -
    -

    7.2.4. - actionsfile

    - -
    -
    -
    Specifies:
    - -
    -

    The actions file(s) to - use

    -
    - -
    Type of value:
    - -
    -

    Complete file name, relative to confdir

    -
    - -
    Default values:
    - -
    - - - - - - - - - - - - - - -
    -

    -   match-all.action # Actions that are applied to all sites and maybe overruled later on.

    -
    -

    -   default.action   # Main actions file

    -
    -

    -   user.action      # User customizations

    -
    -
    - -
    Effect if unset:
    - -
    -

    No actions are taken at all. More or less neutral - proxying.

    -
    - -
    Notes:
    - -
    -

    Multiple actionsfile lines are - permitted, and are in fact recommended!

    - -

    The default values are default.action, which is the "main" actions file maintained by the - developers, and user.action, where - you can make your personal additions.

    - -

    Actions files contain all the per site and per URL - configuration for ad blocking, cookie management, privacy - considerations, etc. There is no point in using Privoxy without at least one actions - file.

    - -

    Note that since Privoxy 3.0.7, the complete filename, - including the ".action" extension - has to be specified. The syntax change was necessary to be - consistent with the other file options and to allow previously - forbidden characters.

    -
    -
    -
    -
    - -
    -

    7.2.5. - filterfile

    - -
    -
    -
    Specifies:
    - -
    -

    The filter file(s) to use

    -
    - -
    Type of value:
    - -
    -

    File name, relative to confdir

    -
    - -
    Default value:
    - -
    -

    default.filter (Unix) or default.filter.txt (Windows)

    -
    - -
    Effect if unset:
    - -
    -

    No textual content filtering takes place, i.e. all - +filter{name} actions in the actions - files are turned neutral.

    -
    - -
    Notes:
    - -
    -

    Multiple filterfile lines are - permitted.

    - -

    The filter files contain - content modification rules that use regular expressions. These rules - permit powerful changes on the content of Web pages, and - optionally the headers as well, e.g., you could try to disable - your favorite JavaScript annoyances, re-write the actual - displayed text, or just have some fun playing buzzword bingo - with web pages.

    - -

    The +filter{name} actions rely on the - relevant filter (name) to - be defined in a filter file!

    - -

    A pre-defined filter file called default.filter that contains a number of useful - filters for common problems is included in the distribution. - See the section on the filter action for a - list.

    - -

    It is recommended to place any locally adapted filters into - a separate file, such as user.filter.

    -
    -
    -
    -
    - -
    -

    7.2.6. - logfile

    - -
    -
    -
    Specifies:
    - -
    -

    The log file to use

    -
    - -
    Type of value:
    - -
    -

    File name, relative to logdir

    -
    - -
    Default value:
    - -
    -

    Unset (commented - out). When activated: logfile (Unix) or privoxy.log - (Windows).

    -
    - -
    Effect if unset:
    - -
    -

    No logfile is written.

    -
    - -
    Notes:
    - -
    -

    The logfile is where all logging and error messages are - written. The level of detail and number of messages are set - with the debug option (see below). 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) and it can help you - to monitor what your browser is doing.

    - -

    Depending on the debug options below, the logfile may be a - privacy risk if third parties can get access to it. As most - users will never look at it, Privoxy 3.0.7 and later only log fatal - errors by default.

    - -

    For most troubleshooting purposes, you will have to change - that, please refer to the debugging section for details.

    - -

    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").

    - -

    Any log files must be writable by whatever user Privoxy is being run as (on Unix, default - user id is "privoxy").

    -
    -
    -
    -
    - -
    -

    7.2.7. - trustfile

    - -
    -
    -
    Specifies:
    - -
    -

    The name of the trust file to use

    -
    - -
    Type of value:
    - -
    -

    File name, relative to confdir

    -
    - -
    Default value:
    - -
    -

    Unset (commented - out). When activated: trust (Unix) or trust.txt - (Windows)

    -
    - -
    Effect if unset:
    - -
    -

    The entire trust mechanism is disabled.

    -
    - -
    Notes:
    - -
    -

    The trust mechanism is an experimental feature for building - white-lists and should be used with care. It is NOT recommended for - the casual user.

    - -

    If you specify a trust file, Privoxy will only allow access to sites - that are specified in the trustfile. Sites can be listed in one - of two ways:

    - -

    Prepending a ~ character limits - access to this site only (and any sub-paths within this site), - e.g. ~www.example.com allows access to - ~www.example.com/features/news.html, - etc.

    - -

    Or, you can designate sites as trusted referrers, by - prepending the name with a + - character. The effect is that access to untrusted sites will be - granted -- but only if a link from this trusted referrer was - used to get there. The link target will then be added to the - "trustfile" so that future, direct - accesses will be granted. Sites added via this mechanism do not - become trusted referrers themselves (i.e. they are added with a - ~ designation). There is a limit of - 512 such entries, after which new entries will not be made.

    - -

    If you use the + operator in the - trust file, it may grow considerably over time.

    - -

    It is recommended that Privoxy be compiled with the --disable-force, --disable-toggle and --disable-editor options, if this feature is to - be used.

    - -

    Possible applications include limiting Internet access for - children.

    -
    -
    -
    -
    -
    - -
    -

    7.3. - Debugging

    - -

    These options are mainly useful when tracing a problem. Note that - you might also want to invoke Privoxy - with the --no-daemon command line option when - debugging.

    - -
    -

    7.3.1. debug

    - -
    -
    -
    Specifies:
    - -
    -

    Key values that determine what information gets logged.

    -
    - -
    Type of value:
    - -
    -

    Integer values

    -
    - -
    Default value:
    - -
    -

    0 (i.e.: only fatal errors (that cause Privoxy to exit) are - logged)

    -
    - -
    Effect if unset:
    - -
    -

    Default value is used (see above).

    -
    - -
    Notes:
    - -
    -

    The available debug levels are:

    - - - - - -
    -
    -  debug     1 # Log the destination for each request Privoxy let through. See also debug 1024.
    -  debug     2 # show each connection status
    -  debug     4 # show I/O status
    -  debug     8 # show header parsing
    -  debug    16 # log all data written to the network
    -  debug    32 # debug force feature
    -  debug    64 # debug regular expression filters
    -  debug   128 # debug redirects
    -  debug   256 # debug GIF de-animation
    -  debug   512 # Common Log Format
    -  debug  1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
    -  debug  2048 # CGI user interface
    -  debug  4096 # Startup banner and warnings.
    -  debug  8192 # Non-fatal errors
    -  debug 32768 # log all data read from the network
    -  debug 65536 # Log the applying actions
    -
    -
    - -

    To select multiple debug levels, you can either add them or - use multiple debug lines.

    - -

    A debug level of 1 is informative because it will show you - each request as it happens. 1, 1024, 4096 and 8192 are recommended so - that you will notice when things go wrong. The other levels are - probably only of interest if you are hunting down a specific - problem. They can produce a hell of an output (especially - 16).

    - -

    Privoxy used to ship with - the debug levels recommended above enabled by default, but due - to privacy concerns 3.0.7 and later are configured to only log - fatal errors.

    - -

    If you are used to the more verbose settings, simply enable - the debug lines below again.

    - -

    If you want to use pure CLF (Common Log Format), you should - set "debug 512" ONLY and not enable - anything else.

    - -

    Privoxy has a hard-coded - limit for the length of log messages. If it's reached, messages - are logged truncated and marked with "... - [too long, truncated]".

    - -

    Please don't file any support requests without trying to - reproduce the problem with increased debug level first. Once - you read the log messages, you may even be able to solve the - problem on your own.

    -
    -
    -
    -
    - -
    -

    7.3.2. single-threaded

    - -
    -
    -
    Specifies:
    - -
    -

    Whether to run only one server thread.

    -
    - -
    Type of value:
    - -
    -

    None

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    Multi-threaded (or, where unavailable: forked) operation, - i.e. the ability to serve multiple requests simultaneously.

    -
    - -
    Notes:
    - -
    -

    This option is only there for debugging purposes. - It will drastically - reduce performance.

    -
    -
    -
    -
    - -
    -

    7.3.3. - hostname

    - -
    -
    -
    Specifies:
    - -
    -

    The hostname shown on the CGI pages.

    -
    - -
    Type of value:
    - -
    -

    Text

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    The hostname provided by the operating system is used.

    -
    - -
    Notes:
    - -
    -

    On some misconfigured systems resolving the hostname fails - or takes too much time and slows Privoxy down. Setting a fixed - hostname works around the problem.

    - -

    In other circumstances it might be desirable to show a - hostname other than the one returned by the operating system. - For example if the system has several different hostnames and - you don't want to use the first one.

    - -

    Note that Privoxy does not validate the specified hostname - value.

    -
    -
    -
    -
    -
    - -
    -

    7.4. - Access Control and Security

    - -

    This section of the config file controls the security-relevant - aspects of Privoxy's - configuration.

    - -
    -

    7.4.1. - listen-address

    - -
    -
    -
    Specifies:
    - -
    -

    The address and TCP port on which Privoxy will listen for client - requests.

    -
    - -
    Type of value:
    - -
    -

    [IP-Address]:Port

    - -

    [Hostname]:Port

    -
    - -
    Default value:
    - -
    -

    127.0.0.1:8118

    -
    - -
    Effect if unset:
    - -
    -

    Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is - suitable and recommended for home users who run Privoxy on the same machine as their - browser.

    -
    - -
    Notes:
    - -
    -

    You will need to configure your browser(s) to this proxy - address and port.

    - -

    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.

    - -

    You can use this statement multiple times to make - Privoxy listen on more ports - or more IP addresses. Suitable if - your operating system does not support sharing IPv6 and IPv4 - protocols on the same socket.

    - -

    If a hostname is used instead of an IP address, Privoxy will try to resolve it to an IP - address and if there are multiple, use the first one - returned.

    - -

    If the address for the hostname isn't already known on the - system (for example because it's in /etc/hostname), this may - result in DNS traffic.

    - -

    If the specified address isn't available on the system, or - if the hostname can't be resolved, Privoxy will fail to start.

    - -

    IPv6 addresses containing colons have to be quoted by - brackets. They can only be used if Privoxy has been compiled with IPv6 - support. If you aren't sure if your version supports it, have a - look at http://config.privoxy.org/show-status.

    - -

    Some operating systems will prefer IPv6 to IPv4 addresses - even if the system has no IPv6 connectivity which is usually - not expected by the user. Some even rely on DNS to resolve - localhost which mean the "localhost" address used may not - actually be local.

    - -

    It is therefore recommended to explicitly configure the - intended IP address instead of relying on the operating system, - unless there's a strong reason not to.

    - -

    If you leave out the address, Privoxy will bind to all IPv4 interfaces - (addresses) on your machine and may become reachable from the - Internet and/or the local network. Be aware that some GNU/Linux - distributions modify that behaviour without updating the - documentation. Check for non-standard patches if your - Privoxy version behaves - differently.

    - -

    If you configure Privoxy to - be reachable from the network, consider using access control lists (ACL's, see below), - and/or a firewall.

    - -

    If you open Privoxy to - untrusted users, you will also want to make sure that the - following actions are disabled: enable-edit-actions - and enable-remote-toggle

    -
    - -
    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
    -
    -
    - -

    Suppose you are running Privoxy on an IPv6-capable machine and you - want it to listen on the IPv6 address of the loopback - device:

    - - - - - -
    -
    -  listen-address [::1]:8118
    -
    -
    -
    -
    -
    -
    - -
    -

    7.4.2. toggle

    - -
    -
    -
    Specifies:
    - -
    -

    Initial state of "toggle" status

    -
    - -
    Type of value:
    - -
    -

    1 or 0

    -
    - -
    Default value:
    - -
    -

    1

    -
    - -
    Effect if unset:
    - -
    -

    Act as if toggled on

    -
    - -
    Notes:
    - -
    -

    If set to 0, Privoxy will - start in "toggled off" mode, i.e. - mostly behave like a normal, content-neutral proxy with both ad - blocking and content filtering disabled. See enable-remote-toggle below.

    -
    -
    -
    -
    - -
    -

    7.4.3. enable-remote-toggle

    - -
    -
    -
    Specifies:
    - -
    -

    Whether or not the web-based - toggle feature may be used

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    The web-based toggle feature is disabled.

    -
    - -
    Notes:
    - -
    -

    When toggled off, Privoxy - mostly acts like a normal, content-neutral proxy, i.e. doesn't - block ads or filter content.

    - -

    Access to the toggle feature can not be controlled - separately by "ACLs" or HTTP - authentication, so that everybody who can access Privoxy (see "ACLs" and listen-address above) can toggle it for all - users. So this option is not recommended for multi-user - environments with untrusted users.

    - -

    Note that malicious client side code (e.g Java) is also - capable of using this option.

    - -

    As a lot of Privoxy users - don't read documentation, this feature is disabled by - default.

    - -

    Note that you must have compiled Privoxy with support for this feature, - otherwise this option has no effect.

    -
    -
    -
    -
    - -
    -

    7.4.4. enable-remote-http-toggle

    - -
    -
    -
    Specifies:
    - -
    -

    Whether or not Privoxy recognizes special HTTP headers to - change its behaviour.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Privoxy ignores special HTTP headers.

    -
    - -
    Notes:
    - -
    -

    When toggled on, the client can change Privoxy's behaviour by setting special - HTTP headers. Currently the only supported special header is - "X-Filter: No", to disable filtering - for the ongoing request, even if it is enabled in one of the - action files.

    - -

    This feature is disabled by default. If you are using - Privoxy in a environment with - trusted clients, you may enable this feature at your - discretion. Note that malicious client side code (e.g Java) is - also capable of using this feature.

    - -

    This option will be removed in future releases as it has - been obsoleted by the more general header taggers.

    -
    -
    -
    -
    - -
    -

    7.4.5. enable-edit-actions

    - -
    -
    -
    Specifies:
    - -
    -

    Whether or not the web-based - actions file editor may be used

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    The web-based actions file editor is disabled.

    -
    - -
    Notes:
    - -
    -

    Access to the editor can not be controlled separately by - "ACLs" or HTTP authentication, so - that everybody who can access Privoxy (see "ACLs" and listen-address above) can modify its - configuration for all users.

    - -

    This option is not recommended for environments with - untrusted users and as a lot of Privoxy users don't read documentation, - this feature is disabled by default.

    - -

    Note that malicious client side code (e.g Java) is also - capable of using the actions editor and you shouldn't enable - this options unless you understand the consequences and are - sure your browser is configured correctly.

    - -

    Note that you must have compiled Privoxy with support for this feature, - otherwise this option has no effect.

    -
    -
    -
    -
    - -
    -

    7.4.6. - enforce-blocks

    - -
    -
    -
    Specifies:
    - -
    -

    Whether the user is allowed to ignore blocks and can - "go there anyway".

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Blocks are not enforced.

    -
    - -
    Notes:
    - -
    -

    Privoxy is mainly used to - block and filter requests as a service to the user, for example - to block ads and other junk that clogs the pipes. Privoxy's configuration isn't perfect and - sometimes innocent pages are blocked. In this situation it - makes sense to allow the user to enforce the request and have - Privoxy ignore the block.

    - -

    In the default configuration Privoxy's "Blocked" page contains a "go there anyway" link to adds a special string - (the force prefix) to the request URL. If that link is used, - Privoxy will detect the force - prefix, remove it again and let the request pass.

    - -

    Of course Privoxy can also - be used to enforce a network policy. In that case the user - obviously should not be able to bypass any blocks, and that's - what the "enforce-blocks" option is - for. If it's enabled, Privoxy - hides the "go there anyway" link. If - the user adds the force prefix by hand, it will not be accepted - and the circumvention attempt is logged.

    -
    - -
    Examples:
    - -
    -

    enforce-blocks 1

    -
    -
    -
    -
    - -
    -

    7.4.7. ACLs: permit-access - and deny-access

    - -
    -
    -
    Specifies:
    - -
    -

    Who can access what.

    -
    - -
    Type of value:
    - -
    -

    src_addr[:port][/src_masklen] [dst_addr[:port][/dst_masklen]]

    - -

    Where src_addr and - dst_addr are IPv4 addresses - in dotted decimal notation or valid DNS names, port is a port number, and src_masklen and dst_masklen are subnet masks in CIDR - notation, i.e. integer values from 2 to 30 representing the - length (in bits) of the network address. The masks and the - whole destination part are optional.

    - -

    If your system implements RFC - 3493, then src_addr and - dst_addr can be IPv6 - addresses delimeted by brackets, port can be a number or a service - name, and src_masklen and - dst_masklen can be a number - from 0 to 128.

    -
    - -
    Default value:
    - -
    -

    Unset

    - -

    If no port is specified, - any port will match. If no src_masklen or src_masklen is given, the complete IP - address has to match (i.e. 32 bits for IPv4 and 128 bits for - IPv6).

    -
    - -
    Effect if unset:
    - -
    -

    Don't restrict access further than implied by listen-address

    -
    - -
    Notes:
    - -
    -

    Access controls are included at the request of ISPs and - systems administrators, and are not usually needed by individual - users. For a typical home user, it will normally - suffice to ensure that Privoxy - only listens on the localhost (127.0.0.1) or internal (home) - network address by means of the listen-address option.

    - -

    Please see the warnings in the FAQ that Privoxy is not intended to be a substitute - for a firewall or to encourage anyone to defer addressing basic - security weaknesses.

    - -

    Multiple ACL lines are OK. If any ACLs are specified, - Privoxy only talks to IP - addresses that match at least one permit-access line and don't match any - subsequent deny-access line. In other - words, the last match wins, with the default being deny-access.

    - -

    If Privoxy is using a - forwarder (see forward below) for a - particular destination URL, the dst_addr that is examined is the - address of the forwarder and NOT the address of the ultimate target. - This is necessary because it may be impossible for the local - Privoxy to determine the IP - address of the ultimate target (that's often what gateways are - used for).

    - -

    You should prefer using IP addresses over DNS names, because - the address lookups take time. All DNS names must resolve! You - can not - use domain patterns like "*.org" or - partial domain names. If a DNS name resolves to multiple IP - addresses, only the first one is used.

    - -

    Some systems allow IPv4 clients to connect to IPv6 server - sockets. Then the client's IPv4 address will be translated by - the system into IPv6 address space with special prefix - ::ffff:0:0/96 (so called IPv4 mapped IPv6 address). - Privoxy can handle it and maps - such ACL addresses automatically.

    - -

    Denying access to particular sites by ACL may have undesired - side effects if the site in question is hosted on a machine - which also hosts other sites (most sites are).

    -
    - -
    Examples:
    - -
    -

    Explicitly define the default behavior if no ACL and - listen-address are set: "localhost" is OK. The absence of a dst_addr implies that all destination - addresses are OK:

    - - - - - -
    -
    -  permit-access  localhost
    -
    -
    - -

    Allow any host on the same class C subnet as www.privoxy.org - access to nothing but www.example.com (or other domains hosted - on the same system):

    - - - - - -
    -
    -  permit-access  www.privoxy.org/24 www.example.com/32
    -
    -
    - -

    Allow access from any host on the 26-bit subnet - 192.168.45.64 to anywhere, with the exception that - 192.168.45.73 may not access the IP address behind - www.dirty-stuff.example.com:

    - - - - - -
    -
    -  permit-access  192.168.45.64/26
    -  deny-access    192.168.45.73    www.dirty-stuff.example.com
    -
    -
    - -

    Allow access from the IPv4 network 192.0.2.0/24 even if - listening on an IPv6 wild card address (not supported on all - platforms):

    - - - - - -
    -
    -  permit-access  192.0.2.0/24
    -
    -
    - -

    This is equivalent to the following line even if listening - on an IPv4 address (not supported on all platforms):

    - - - - - -
    -
    -  permit-access  [::ffff:192.0.2.0]/120
    -
    -
    -
    -
    -
    -
    - -
    -

    7.4.8. - buffer-limit

    - -
    -
    -
    Specifies:
    - -
    -

    Maximum size of the buffer for content filtering.

    -
    - -
    Type of value:
    - -
    -

    Size in Kbytes

    -
    - -
    Default value:
    - -
    -

    4096

    -
    - -
    Effect if unset:
    - -
    -

    Use a 4MB (4096 KB) limit.

    -
    - -
    Notes:
    - -
    -

    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. Hence this - option.

    - -

    When a document buffer size reaches the buffer-limit, it is flushed to the client - unfiltered and no further attempt to filter the rest of the - document is made. Remember that there may be multiple threads - running, which might require up to buffer-limit Kbytes each, unless you have - enabled "single-threaded" above.

    -
    -
    -
    -
    - -
    -

    7.4.9. - enable-proxy-authentication-forwarding

    - -
    -
    -
    Specifies:
    - -
    -

    Whether or not proxy authentication through Privoxy should work.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Proxy authentication headers are removed.

    -
    - -
    Notes:
    - -
    -

    Privoxy itself does not support proxy authentication, but - can allow clients to authenticate against Privoxy's parent - proxy.

    - -

    By default Privoxy (3.0.21 and later) don't do that and - remove Proxy-Authorization headers in requests and - Proxy-Authenticate headers in responses to make it harder for - malicious sites to trick inexperienced users into providing - login information.

    - -

    If this option is enabled the headers are forwarded.

    - -

    Enabling this option is not recommended if there is no parent - proxy that requires authentication or if the local network - between Privoxy and the parent proxy isn't trustworthy. If - proxy authentication is only required for some requests, it is - recommended to use a client header filter to remove the - authentication headers for requests where they aren't - needed.

    -
    -
    -
    -
    -
    - -
    -

    7.5. - Forwarding

    - -

    This feature allows routing of HTTP requests through a chain of - multiple proxies.

    - -

    Forwarding can be used to chain Privoxy with a caching proxy to - speed up browsing. Using a parent proxy may also be necessary if the - machine that Privoxy runs on has no - direct Internet access.

    - -

    Note that parent proxies can severely decrease your privacy level. - For example a parent proxy could add your IP address to the request - headers and if it's a caching proxy it may add the "Etag" header to revalidation requests again, even - though you configured Privoxy to remove it. It may also ignore - Privoxy's header time randomization and use the original values which - could be used by the server as cookie replacement to track your steps - between visits.

    - -

    Also specified here are SOCKS proxies. Privoxy supports the SOCKS 4 and SOCKS 4A - protocols.

    - -
    -

    7.5.1. - forward

    - -
    -
    -
    Specifies:
    - -
    -

    To which parent HTTP proxy specific requests should be - routed.

    -
    - -
    Type of value:
    - -
    -

    target_pattern - http_parent[:port]

    - -

    where target_pattern is - a URL pattern that - specifies to which requests (i.e. URLs) this forward rule shall - apply. Use / to denote "all URLs". http_parent[:port] is the DNS name or IP address - of the parent HTTP proxy through which the requests should be - forwarded, optionally followed by its listening port (default: - 8000). Use a single dot (.) to denote - "no forwarding".

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    Don't use parent HTTP proxies.

    -
    - -
    Notes:
    - -
    -

    If http_parent is - ".", then requests are not forwarded - to another HTTP proxy but are made directly to the web - servers.

    - -

    http_parent can be a - numerical IPv6 address (if RFC 3493 - is implemented). To prevent clashes with the port delimiter, - the whole IP address has to be put into brackets. On the other - hand a target_pattern - containing an IPv6 address has to be put into angle brackets - (normal brackets are reserved for regular expressions - already).

    - -

    Multiple lines are OK, they are checked in sequence, and the - last match wins.

    -
    - -
    Examples:
    - -
    -

    Everything goes to an example parent proxy, except SSL on - port 443 (which it doesn't handle):

    - - - - - -
    -
    -  forward   /      parent-proxy.example.org:8080
    -  forward   :443   .
    -
    -
    - -

    Everything goes to our example ISP's caching proxy, except - for requests to that ISP's sites:

    - - - - - -
    -
    -  forward   /                  caching-proxy.isp.example.net:8000
    -  forward   .isp.example.net   .
    -
    -
    - -

    Parent proxy specified by an IPv6 address:

    - - - - - -
    -
    -  forward   /                   [2001:DB8::1]:8000
    -
    -
    - -

    Suppose your parent proxy doesn't support IPv6:

    - - - - - -
    -
    -  forward  /                        parent-proxy.example.org:8000
    -  forward  ipv6-server.example.org  .
    -  forward  <[2-3][0-9a-f][0-9a-f][0-9a-f]:*>   .
    -
    -
    -
    -
    -
    -
    - -
    -

    7.5.2. forward-socks4, - forward-socks4a, forward-socks5 and forward-socks5t

    - -
    -
    -
    Specifies:
    - -
    -

    Through which SOCKS proxy (and optionally to which parent - HTTP proxy) specific requests should be routed.

    -
    - -
    Type of value:
    - -
    -

    target_pattern - socks_proxy[:port] http_parent[:port]

    - -

    where target_pattern is - a URL pattern that - specifies to which requests (i.e. URLs) this forward rule shall - apply. Use / to denote "all URLs". http_parent and socks_proxy are IP addresses in - dotted decimal notation or valid DNS names (http_parent may be "." to denote "no HTTP - forwarding"), and the optional port parameters are TCP ports, i.e. - integer values from 1 to 65535

    -
    - -
    Default value:
    - -
    -

    Unset

    -
    - -
    Effect if unset:
    - -
    -

    Don't use SOCKS proxies.

    -
    - -
    Notes:
    - -
    -

    Multiple lines are OK, they are checked in sequence, and the - last match wins.

    - -

    The difference between forward-socks4 and forward-socks4a is that in the SOCKS 4A - protocol, the DNS resolution of the target hostname happens on - the SOCKS server, while in SOCKS 4 it happens locally.

    - -

    With forward-socks5 the DNS - resolution will happen on the remote server as well.

    - -

    forward-socks5t works like vanilla - forward-socks5 but lets Privoxy additionally use Tor-specific - SOCKS extensions. Currently the only supported SOCKS extension - is optimistic data which can reduce the latency for the first - request made on a newly created connection.

    - -

    socks_proxy and - http_parent can be a - numerical IPv6 address (if RFC 3493 - is implemented). To prevent clashes with the port delimiter, - the whole IP address has to be put into brackets. On the other - hand a target_pattern - containing an IPv6 address has to be put into angle brackets - (normal brackets are reserved for regular expressions - already).

    - -

    If http_parent is - ".", then requests are not forwarded - to another HTTP proxy but are made (HTTP-wise) directly to the - web servers, albeit through a SOCKS proxy.

    -
    - -
    Examples:
    - -
    -

    From the company example.com, direct connections are made to - all "internal" domains, but - everything outbound goes through their ISP's proxy by way of - example.com's corporate SOCKS 4A gateway to the Internet.

    - - - - - -
    -
    -  forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
    -  forward           .example.com   .
    -
    -
    - -

    A rule that uses a SOCKS 4 gateway for all destinations but - no HTTP parent looks like this:

    - - - - - -
    -
    -  forward-socks4   /               socks-gw.example.com:1080  .
    -
    -
    - -

    To chain Privoxy and Tor, both running on the same system, - you would use something like:

    - - - - - -
    -
    -  forward-socks5   /               127.0.0.1:9050 .
    -
    -
    - -

    The public Tor network - can't be used to reach your local network, if you need to - access local servers you therefore might want to make some - exceptions:

    - - - - - -
    -
    -  forward         192.168.*.*/     .
    -  forward            10.*.*.*/     .
    -  forward           127.*.*.*/     .
    -
    -
    - -

    Unencrypted connections to systems in these address ranges - will be as (un)secure as the local network is, but the - alternative is that you can't reach the local network through - Privoxy at all. Of course this - may actually be desired and there is no reason to make these - exceptions if you aren't sure you need them.

    - -

    If you also want to be able to reach servers in your local - network by using their names, you will need additional - exceptions that look like this:

    - - - - - -
    -
    - forward           localhost/     .
    -
    -
    -
    -
    -
    -
    - -
    -

    7.5.3. Advanced Forwarding - Examples

    - -

    If you have links to multiple ISPs that provide various special - content only to their subscribers, you can configure multiple - Privoxies which have connections to - the respective ISPs to act as forwarders to each other, so that - your users can - see the internal content of all ISPs.

    - -

    Assume that host-a has a PPP connection to isp-a.example.net. And - host-b has a PPP connection to isp-b.example.org. Both run - Privoxy. Their forwarding - configuration can look like this:

    - -

    host-a:

    - - - - - -
    -
    -  forward    /           .
    -  forward    .isp-b.example.net  host-b:8118
    -
    -
    - -

    host-b:

    - - - - - -
    -
    -  forward    /           .
    -  forward    .isp-a.example.org  host-a:8118
    -
    -
    - -

    Now, your users can set their browser's proxy to use either host-a - or host-b and be able to browse the internal content of both isp-a - and isp-b.

    - -

    If you intend to chain Privoxy - and squid locally, then chaining as - browser -> squid -> privoxy is the - recommended way.

    - -

    Assuming that Privoxy and - squid run on the same box, your - squid configuration could then look - like this:

    - - - - - -
    -
    -  # Define Privoxy as parent proxy (without ICP)
    -  cache_peer 127.0.0.1 parent 8118 7 no-query
    -
    -  # Define ACL for protocol FTP
    -  acl ftp proto FTP
    -
    -  # Do not forward FTP requests to Privoxy
    -  always_direct allow ftp
    -
    -  # Forward all the rest to Privoxy
    -  never_direct allow all
    -
    -
    - -

    You would then need to change your browser's proxy settings to - squid's address and port. Squid - normally uses port 3128. If unsure consult http_port in squid.conf.

    - -

    You could just as well decide to only forward requests you suspect - of leading to Windows executables through a virus-scanning parent - proxy, say, on antivir.example.com, port - 8010:

    - - - - - -
    -
    -  forward   /                          .
    -  forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010
    -
    -
    -
    - -
    -

    7.5.4. forwarded-connect-retries

    - -
    -
    -
    Specifies:
    - -
    -

    How often Privoxy retries if a forwarded connection request - fails.

    -
    - -
    Type of value:
    - -
    -

    Number of retries.

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Connections forwarded through other proxies are treated like - direct connections and no retry attempts are made.

    -
    - -
    Notes:
    - -
    -

    forwarded-connect-retries is mainly - interesting for socks4a connections, where Privoxy can't detect why the connections - failed. The connection might have failed because of a DNS - timeout in which case a retry makes sense, but it might also - have failed because the server doesn't exist or isn't - reachable. In this case the retry will just delay the - appearance of Privoxy's error message.

    - -

    Note that in the context of this option, "forwarded connections" includes all connections - that Privoxy forwards through other proxies. This option is not - limited to the HTTP CONNECT method.

    - -

    Only use this option, if you are getting lots of - forwarding-related error messages that go away when you try - again manually. Start with a small value and check Privoxy's - logfile from time to time, to see how many retries are usually - needed.

    -
    - -
    Examples:
    - -
    -

    forwarded-connect-retries 1

    -
    -
    -
    -
    -
    - -
    -

    7.6. Miscellaneous

    - -
    -

    7.6.1. - accept-intercepted-requests

    - -
    -
    -
    Specifies:
    - -
    -

    Whether intercepted requests should be treated as valid.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Only proxy requests are accepted, intercepted requests are - treated as invalid.

    -
    - -
    Notes:
    - -
    -

    If you don't trust your clients and want to force them to - use Privoxy, enable this - option and configure your packet filter to redirect outgoing - HTTP connections into Privoxy.

    - -

    Make sure that Privoxy's - own requests aren't redirected as well. Additionally take care - that Privoxy can't - intentionally connect to itself, otherwise you could run into - redirection loops if Privoxy's - listening port is reachable by the outside or an attacker has - access to the pages you visit.

    -
    - -
    Examples:
    - -
    -

    accept-intercepted-requests 1

    -
    -
    -
    -
    - -
    -

    7.6.2. - allow-cgi-request-crunching

    - -
    -
    -
    Specifies:
    - -
    -

    Whether requests to Privoxy's CGI pages can be blocked or - redirected.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Privoxy ignores block and - redirect actions for its CGI pages.

    -
    - -
    Notes:
    - -
    -

    By default Privoxy ignores - block or redirect actions for its CGI pages. Intercepting these - requests can be useful in multi-user setups to implement - fine-grained access control, but it can also render the - complete web interface useless and make debugging problems - painful if done without care.

    - -

    Don't enable this option unless you're sure that you really - need it.

    -
    - -
    Examples:
    - -
    -

    allow-cgi-request-crunching 1

    -
    -
    -
    -
    - -
    -

    7.6.3. split-large-forms

    - -
    -
    -
    Specifies:
    - -
    -

    Whether the CGI interface should stay compatible with broken - HTTP clients.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    The CGI form generate long GET URLs.

    -
    - -
    Notes:
    - -
    -

    Privoxy's CGI forms can - lead to rather long URLs. This isn't a problem as far as the - HTTP standard is concerned, but it can confuse clients with - arbitrary URL length limitations.

    - -

    Enabling split-large-forms causes Privoxy to divide big forms into smaller - ones to keep the URL length down. It makes editing a lot less - convenient and you can no longer submit all changes at once, - but at least it works around this browser bug.

    - -

    If you don't notice any editing problems, there is no reason - to enable this option, but if one of the submit buttons appears - to be broken, you should give it a try.

    -
    - -
    Examples:
    - -
    -

    split-large-forms 1

    -
    -
    -
    -
    - -
    -

    7.6.4. keep-alive-timeout

    - -
    -
    -
    Specifies:
    - -
    -

    Number of seconds after which an open connection will no - longer be reused.

    -
    - -
    Type of value:
    - -
    -

    Time in seconds.

    -
    - -
    Default value:
    - -
    -

    None

    -
    - -
    Effect if unset:
    - -
    -

    Connections are not kept alive.

    -
    - -
    Notes:
    - -
    -

    This option allows clients to keep the connection to - Privoxy alive. If the server - supports it, Privoxy will keep - the connection to the server alive as well. Under certain - circumstances this may result in speed-ups.

    - -

    By default, Privoxy will - close the connection to the server if the client connection - gets closed, or if the specified timeout has been reached - without a new request coming in. This behaviour can be changed - with the connection-sharing option.

    - -

    This option has no effect if Privoxy has been compiled without - keep-alive support.

    - -

    Note that a timeout of five seconds as used in the default - configuration file significantly decreases the number of - connections that will be reused. The value is used because some - browsers limit the number of connections they open to a single - host and apply the same limit to proxies. This can result in a - single website "grabbing" all the - connections the browser allows, which means connections to - other websites can't be opened until the connections currently - in use time out.

    - -

    Several users have reported this as a Privoxy bug, so the - default value has been reduced. Consider increasing it to 300 - seconds or even more if you think your browser can handle it. - If your browser appears to be hanging, it probably can't.

    -
    - -
    Examples:
    - -
    -

    keep-alive-timeout 300

    -
    -
    -
    -
    - -
    -

    7.6.5. tolerate-pipelining

    - -
    -
    -
    Specifies:
    - -
    -

    Whether or not pipelined requests should be served.

    -
    - -
    Type of value:
    - -
    -

    0 or 1.

    -
    - -
    Default value:
    - -
    -

    None

    -
    - -
    Effect if unset:
    - -
    -

    If Privoxy receives more than one request at once, it - terminates the client connection after serving the first - one.

    -
    - -
    Notes:
    - -
    -

    Privoxy currently doesn't - pipeline outgoing requests, thus allowing pipelining on the - client connection is not guaranteed to improve the - performance.

    - -

    By default Privoxy tries to - discourage clients from pipelining by discarding aggressively - pipelined requests, which forces the client to resend them - through a new connection.

    - -

    This option lets Privoxy - tolerate pipelining. Whether or not that improves performance - mainly depends on the client configuration.

    - -

    If you are seeing problems with pages not properly loading, - disabling this option could work around the problem.

    -
    - -
    Examples:
    - -
    -

    tolerate-pipelining 1

    -
    -
    -
    -
    - -
    -

    7.6.6. default-server-timeout

    - -
    -
    -
    Specifies:
    - -
    -

    Assumed server-side keep-alive timeout if not specified by - the server.

    -
    - -
    Type of value:
    - -
    -

    Time in seconds.

    -
    - -
    Default value:
    - -
    -

    None

    -
    - -
    Effect if unset:
    - -
    -

    Connections for which the server didn't specify the - keep-alive timeout are not reused.

    -
    - -
    Notes:
    - -
    -

    Enabling this option significantly increases the number of - connections that are reused, provided the keep-alive-timeout - option is also enabled.

    - -

    While it also increases the number of connections problems - when Privoxy tries to reuse a - connection that already has been closed on the server side, or - is closed while Privoxy is - trying to reuse it, this should only be a problem if it happens - for the first request sent by the client. If it happens for - requests on reused client connections, Privoxy will simply close the connection - and the client is supposed to retry the request without - bothering the user.

    - -

    Enabling this option is therefore only recommended if the - connection-sharing option is disabled.

    - -

    It is an error to specify a value larger than the keep-alive-timeout - value.

    - -

    This option has no effect if Privoxy has been compiled without - keep-alive support.

    -
    - -
    Examples:
    - -
    -

    default-server-timeout 60

    -
    -
    -
    -
    - -
    -

    7.6.7. connection-sharing

    - -
    -
    -
    Specifies:
    - -
    -

    Whether or not outgoing connections that have been kept - alive should be shared between different incoming - connections.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    None

    -
    - -
    Effect if unset:
    - -
    -

    Connections are not shared.

    -
    - -
    Notes:
    - -
    -

    This option has no effect if Privoxy has been compiled without - keep-alive support, or if it's disabled.

    -
    - -
    Notes:
    - -
    -

    Note that reusing connections doesn't necessary cause - speedups. There are also a few privacy implications you should - be aware of.

    - -

    If this option is effective, outgoing connections are shared - between clients (if there are more than one) and closing the - browser that initiated the outgoing connection does no longer - affect the connection between Privoxy and the server unless the client's - request hasn't been completed yet.

    - -

    If the outgoing connection is idle, it will not be closed - until either Privoxy's or the - server's timeout is reached. While it's open, the server knows - that the system running Privoxy is still there.

    - -

    If there are more than one client (maybe even belonging to - multiple users), they will be able to reuse each others - connections. This is potentially dangerous in case of - authentication schemes like NTLM where only the connection is - authenticated, instead of requiring authentication for each - request.

    - -

    If there is only a single client, and if said client can - keep connections alive on its own, enabling this option has - next to no effect. If the client doesn't support connection - keep-alive, enabling this option may make sense as it allows - Privoxy to keep outgoing - connections alive even if the client itself doesn't support - it.

    - -

    You should also be aware that enabling this option increases - the likelihood of getting the "No server or forwarder data" - error message, especially if you are using a slow connection to - the Internet.

    - -

    This option should only be used by experienced users who - understand the risks and can weight them against the - benefits.

    -
    - -
    Examples:
    - -
    -

    connection-sharing 1

    -
    -
    -
    -
    - -
    -

    7.6.8. - socket-timeout

    - -
    -
    -
    Specifies:
    - -
    -

    Number of seconds after which a socket times out if no data - is received.

    -
    - -
    Type of value:
    - -
    -

    Time in seconds.

    -
    - -
    Default value:
    - -
    -

    None

    -
    - -
    Effect if unset:
    - -
    -

    A default value of 300 seconds is used.

    -
    - -
    Notes:
    - -
    -

    The default is quite high and you probably want to reduce - it. If you aren't using an occasionally slow proxy like Tor, - reducing it to a few seconds should be fine.

    -
    - -
    Examples:
    - -
    -

    socket-timeout 300

    -
    -
    -
    -
    - -
    -

    7.6.9. max-client-connections

    - -
    -
    -
    Specifies:
    - -
    -

    Maximum number of client connections that will be - served.

    -
    - -
    Type of value:
    - -
    -

    Positive number.

    -
    - -
    Default value:
    - -
    -

    128

    -
    - -
    Effect if unset:
    - -
    -

    Connections are served until a resource limit is - reached.

    -
    - -
    Notes:
    - -
    -

    Privoxy creates one thread - (or process) for every incoming client connection that isn't - rejected based on the access control settings.

    - -

    If the system is powerful enough, Privoxy can theoretically deal with - several hundred (or thousand) connections at the same time, but - some operating systems enforce resource limits by shutting down - offending processes and their default limits may be below the - ones Privoxy would require - under heavy load.

    - -

    Configuring Privoxy to - enforce a connection limit below the thread or process limit - used by the operating system makes sure this doesn't happen. - Simply increasing the operating system's limit would work too, - but if Privoxy isn't the only - application running on the system, you may actually want to - limit the resources used by Privoxy.

    - -

    If Privoxy is only used by - a single trusted user, limiting the number of client - connections is probably unnecessary. If there are multiple - possibly untrusted users you probably still want to - additionally use a packet filter to limit the maximal number of - incoming connections per client. Otherwise a malicious user - could intentionally create a high number of connections to - prevent other users from using Privoxy.

    - -

    Obviously using this option only makes sense if you choose a - limit below the one enforced by the operating system.

    - -

    One most POSIX-compliant systems Privoxy can't properly deal with more than - FD_SETSIZE file descriptors at the same time and has to reject - connections if the limit is reached. This will likely change in - a future version, but currently this limit can't be increased - without recompiling Privoxy - with a different FD_SETSIZE limit.

    -
    - -
    Examples:
    - -
    -

    max-client-connections 256

    -
    -
    -
    -
    - -
    -

    7.6.10. - handle-as-empty-doc-returns-ok

    - -
    -
    -
    Specifies:
    - -
    -

    The status code Privoxy returns for pages blocked with - +handle-as-empty-document.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Privoxy returns a status 403(forbidden) for all blocked - pages.

    -
    - -
    Effect if set:
    - -
    -

    Privoxy returns a status 200(OK) for pages blocked with - +handle-as-empty-document and a status 403(Forbidden) for all - other blocked pages.

    -
    - -
    Notes:
    - -
    -

    This is a work-around for Firefox bug 492459: " Websites are no longer rendered if SSL requests for - JavaScripts are blocked by a proxy. " (https://bugzilla.mozilla.org/show_bug.cgi?id=492459) - As the bug has been fixed for quite some time this option - should no longer be needed and will be removed in a future - release. Please speak up if you have a reason why the option - should be kept around.

    -
    -
    -
    -
    - -
    -

    7.6.11. enable-compression

    - -
    -
    -
    Specifies:
    - -
    -

    Whether or not buffered content is compressed before - delivery.

    -
    - -
    Type of value:
    - -
    -

    0 or 1

    -
    - -
    Default value:
    - -
    -

    0

    -
    - -
    Effect if unset:
    - -
    -

    Privoxy does not compress buffered content.

    -
    - -
    Effect if set:
    - -
    -

    Privoxy compresses buffered content before delivering it to - the client, provided the client supports it.

    -
    - -
    Notes:
    - -
    -

    This directive is only supported if Privoxy has been - compiled with FEATURE_COMPRESSION, which should not to be - confused with FEATURE_ZLIB.

    - -

    Compressing buffered content is mainly useful if Privoxy and - the client are running on different systems. If they are - running on the same system, enabling compression is likely to - slow things down. If you didn't measure otherwise, you should - assume that it does and keep this option disabled.

    - -

    Privoxy will not compress buffered content below a certain - length.

    -
    -
    -
    -
    - -
    -

    7.6.12. compression-level

    - -
    -
    -
    Specifies:
    - -
    -

    The compression level that is passed to the zlib library - when compressing buffered content.

    -
    - -
    Type of value:
    - -
    -

    Positive number ranging from 0 to - 9.

    -
    - -
    Default value:
    - -
    -

    1

    -
    - -
    Notes:
    - -
    -

    Compressing the data more takes usually longer than - compressing it less or not compressing it at all. Which level - is best depends on the connection between Privoxy and the - client. If you can't be bothered to benchmark it for yourself, - you should stick with the default and keep compression - disabled.

    - -

    If compression is disabled, the compression level is - irrelevant.

    -
    - -
    Examples:
    - -
    - - - - -
    -
    -    # Best speed (compared to the other levels)
    -    compression-level 1
    -    # Best compression
    -    compression-level 9
    -    # No compression. Only useful for testing as the added header
    -    # slightly increases the amount of data that has to be sent.
    -    # If your benchmark shows that using this compression level
    -    # is superior to using no compression at all, the benchmark
    -    # is likely to be flawed.
    -    compression-level 0
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    7.6.13. client-header-order

    - -
    -
    -
    Specifies:
    - -
    -

    The order in which client headers are sorted before - forwarding them.

    -
    - -
    Type of value:
    - -
    -

    Client header names delimited by - spaces or tabs

    -
    - -
    Default value:
    - -
    -

    None

    -
    - -
    Notes:
    - -
    -

    By default Privoxy leaves - the client headers in the order they were sent by the client. - Headers are modified in-place, new headers are added at the end - of the already existing headers.

    - -

    The header order can be used to fingerprint client requests - independently of other headers like the User-Agent.

    - -

    This directive allows to sort the headers differently to - better mimic a different User-Agent. Client headers will be - emitted in the order given, headers whose name isn't explicitly - specified are added at the end.

    - -

    Note that sorting headers in an uncommon way will make - fingerprinting actually easier. Encrypted headers are not - affected by this directive.

    -
    -
    -
    -
    -
    - -
    -

    7.7. 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 copies log messages to the - console window. The log detail depends on the debug directive.

    - -

      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
    -    

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/configuration.html b/pkg content/usr/local/share/doc/privoxy/user-manual/configuration.html deleted file mode 100644 index 1e2e346..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/configuration.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - - Privoxy Configuration - - - - - - - - - - - - -
    -

    6. Privoxy - Configuration

    - -

    All Privoxy configuration is stored - in text files. These files can be edited with a text editor. Many - important aspects of Privoxy can also be - controlled easily with a web browser.

    - -
    -

    6.1. Controlling - Privoxy with Your Web Browser

    - -

    Privoxy's user interface can be - reached through the special URL http://config.privoxy.org/ (shortcut: http://p.p/), which is a built-in page - and works without Internet access. You will see the following - section:

    - - - - - -
    -
    -
    -
    - -

        Privoxy Menu

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -         ▪  View & change the current - configuration
    -         ▪  View the source code version numbers
    -         ▪  View the request headers.
    -         ▪  Look up which actions apply to a URL and - why
    -         ▪  Toggle Privoxy on or off
    -         ▪  Documentation
    -
    - -

    This should be self-explanatory. Note the first item leads to an - editor for the actions files, which is - where the ad, banner, cookie, and URL blocking magic is configured as - well as other advanced features of Privoxy. This is an easy way to adjust various - aspects of Privoxy configuration. The - actions file, and other configuration files, are explained in detail - below.

    - -

    "Toggle Privoxy On or Off" is handy for - sites that might have problems with your current actions and filters. - You can in fact use it as a test to see whether it is Privoxy causing the problem or not. Privoxy continues to run as a proxy in this case, - but all manipulation is disabled, i.e. Privoxy acts like a normal forwarding proxy. There - is even a toggle Bookmarklet - offered, so that you can toggle Privoxy with one click from your browser.

    - -

    Note that several of the features described above are disabled by - default in Privoxy 3.0.7 beta and - later. Check the configuration - file to learn why and in which cases it's safe to enable them - again.

    -
    - -
    -

    6.2. - Configuration Files Overview

    - -

    For Unix, *BSD and Linux, all configuration files are located in - /etc/privoxy/ by default. For MS Windows, - OS/2, and AmigaOS these are all in the same directory as the - Privoxy executable.

    - -

    The installed defaults provide a reasonable starting point, though - some settings may be aggressive by some standards. For the time being, - the principle configuration files are:

    - -
      -
    • -

      The main configuration file is named - config on Linux, Unix, BSD, OS/2, and - AmigaOS and config.txt on Windows. This - is a required file.

      -
    • - -
    • -

      match-all.action is used to define - which "actions" relating to - banner-blocking, images, pop-ups, content modification, cookie - handling etc should be applied by default. It should be the first - actions file loaded.

      - -

      default.action defines many exceptions - (both positive and negative) from the default set of actions that's - configured in match-all.action. It should - be the second actions file loaded and shouldn't be edited by the - user.

      - -

      Multiple actions files may be defined in config. These are processed in the order they are - defined. Local customizations and locally preferred exceptions to - the default policies as defined in match-all.action (which you will most probably want - to define sooner or later) are best applied in user.action, where you can preserve them across - upgrades. The file isn't installed by all installers, but you can - easily create it yourself with a text editor.

      - -

      There is also a web based editor that can be accessed from - http://config.privoxy.org/show-status (Shortcut: - http://p.p/show-status) for the various actions - files.

      -
    • - -
    • -

      "Filter files" (the filter file) can be used to re-write the raw - page content, including viewable text as well as embedded HTML and - JavaScript, and whatever else lurks on any given web page. The - filtering jobs are only pre-defined here; whether to apply them or - not is up to the actions files. default.filter includes various filters made - available for use by the developers. Some are much more intrusive - than others, and all should be used with caution. You may define - additional filter files in config as you - can with actions files. We suggest user.filter for any locally defined filters or - customizations.

      -
    • -
    - -

    The syntax of the configuration and filter files may change between - different Privoxy versions, unfortunately some enhancements cost - backwards compatibility.

    - -

    All files use the "#" character to denote a comment (the rest of the - line will be ignored) and understand line continuation through placing - a backslash ("\") as the very last character - in a line. If the # is preceded by a - backslash, it looses its special function. Placing a # in front of an otherwise valid configuration line to - prevent it from being interpreted is called "commenting out" that line. - Blank lines are ignored.

    - -

    The actions files and filter files can use Perl style regular expressions for maximum - flexibility.

    - -

    After making any changes, there is no need to restart Privoxy in order for the changes to take effect. - Privoxy detects such changes - automatically. Note, however, that it may take one or two additional - requests for the change to take effect. When changing the listening - address of Privoxy, these "wake up" requests must obviously be sent to the - old listening - address.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/contact.html b/pkg content/usr/local/share/doc/privoxy/user-manual/contact.html deleted file mode 100644 index 87b9644..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/contact.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - Contacting the Developers, Bug Reporting and Feature - Requests - - - - - - - - - - - - -
    -

    11. Contacting the - Developers, Bug Reporting and Feature Requests

    - -

    We value your feedback. In fact, we rely on it to improve Privoxy and its configuration. However, please note - the following hints, so we can provide you with the best support.

    - -
    -

    11.1. Please provide sufficient - information

    - -

    A lot of support requests don't contain enough information and can't - be solved without a lot of back and forth which causes unnecessary - delays. Reading this section should help to prevent that.

    - -

    Before contacting us to report a problem, please try to verify that - it is a Privoxy problem, and not a - browser or site problem or documented behaviour that just happens to be - different than what you expected. If unsure, try toggling - off Privoxy, and see if the - problem persists.

    - -

    If you are using your own custom configuration, please try the - default configuration to see if the problem is configuration related. - If you're having problems with a feature that is disabled by default, - please ask around on the mailing list if others can reproduce the - problem.

    - -

    If you aren't using the latest Privoxy version, the problem may have - been found and fixed in the meantime. We would appreciate if you could - take the time to upgrade to the latest version and verify that the problem - still exists.

    - -

    Please be sure to provide the following information when reporting - problems or requesting support:

    - -
      -
    • -

      The exact Privoxy version you - are using.

      -
    • - -
    • -

      The operating system and versions you run Privoxy on, e.g. Windows XP SP2.

      -
    • - -
    • -

      The name, platform, and version of the browser you were using (e.g. Internet Explorer v5.5 for Mac).

      -
    • - -
    • -

      The URL where the problem occurred, or some way for us to - duplicate the problem (e.g. http://somesite.example.com/?somethingelse=123).

      -
    • - -
    • -

      Whether your version of Privoxy - is one supplied by the Privoxy - developers via SourceForge, or if you got your copy somewhere - else.

      -
    • - -
    • -

      Whether you are using Privoxy - together with another proxy such as Tor. If so, please temporary disable the other - proxy to see if the symptoms change.

      -
    • - -
    • -

      Whether you are using a personal firewall product. If so, does - Privoxy work without it?

      -
    • - -
    • -

      Any other pertinent information to help identify the problem - such as config or log file excerpts (yes, you should have log file - entries for each action taken). To get a meaningful logfile, please - make sure that the logfile directive is being used and the following - debug - options are enabled (all of them):

      - -

      - debug     1 # Log the destination for each request Privoxy let through. See also debug 1024.
      - - debug     2 # show each connection status
      - - debug     4 # show I/O status
      - - debug     8 # show header parsing
      - - debug   128 # debug redirects
      - debug   256 # debug GIF de-animation
      - - debug   512 # Common Log Format
      - - debug  1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
      - - debug  4096 # Startup banner and warnings.
      - - debug  8192 # Non-fatal errors

      - -

      If you are having trouble with a filter, please additionally - enable

      - -

      - debug    64 # debug regular expression filters

      If - you are using Privoxy 3.0.17 or later and suspect that it - interprets the request or the response incorrectly, please enable - -

      - debug 32768 # log all data read from the network

      - -

      It's easy for us to ignore log messages that aren't relevant but - missing log messages may make it impossible to investigate a - problem. If you aren't sure which of the debug directives are - relevant, please just enable all of them and let us worry about - it.

      - -

      Note that Privoxy log files may contain sensitive information so - please don't submit any logfiles you didn't read first. You can - mask sensitive information as long as it's clear that you removed - something.

      -
    • -
    - -

    You don't have to tell us your actual name when filing a problem - report, but if you don't, please use a nickname so we can differentiate - between your messages and the ones entered by other "anonymous" users - that may respond to your request if they have the same problem or - already found a solution. Note that due to spam the trackers may not - always allow to post without being logged into SourceForge. If that's - the case, you are still free to create a login that isn't directly - linked to your name, though.

    - -

    Please also check the status of your request a few days after - submitting it, as we may request additional information. If you use a - SF id, you should automatically get a mail when someone responds to - your request. Please don't bother to add an email address when using - the tracker. If you prefer to communicate through email, just use one - of the mailing lists directly.

    - -

    If you are new to reporting problems, you might be interested in - How to Report Bugs Effectively.

    - -

    The appendix of the Privoxy User Manual also has helpful - information on understanding actions, and - action debugging.

    -
    - -
    -

    11.2. - Get Support

    - -

    For casual users, our support forum at SourceForge is probably best suited: - http://sourceforge.net/tracker/?group_id=11118&atid=211118

    - -

    All users are of course welcome to discuss their issues on the - users mailing list, where the developers also hang - around.

    - -

    Please don't send private support requests to individual Privoxy - developers, either use the mailing lists or the support trackers.

    - -

    If you have to contact a Privoxy developer directly for other - reasons, please send a real mail and do not bother with SourceForge's - messaging system. Answers to SourceForge messages are usually bounced - by SourceForge's mail server in which case the developer wasted time - writing a response you don't get. From your point of view it will look - like your message has been completely ignored, so this is frustrating - for all parties involved.

    - -

    Note that the Privoxy mailing lists are moderated. Posts from - unsubscribed addresses have to be accepted manually by a moderator. - This may cause a delay of several days and if you use a subject that - doesn't clearly mention Privoxy or one of its features, your message - may be accidentally discarded as spam.

    - -

    If you aren't subscribed, you should therefore spend a few seconds - to come up with a proper subject. Additionally you should make it clear - that you want to get CC'd. Otherwise some responses will be directed to - the mailing list only, and you won't see them.

    -
    - -
    -

    11.3. Reporting - Problems

    - -

    "Problems" for our purposes, come in two - forms:

    - -
      -
    • -

      Configuration issues, such as ads that slip through, or sites - that don't function properly due to one Privoxy "action" or - another being turned "on".

      -
    • - -
    • -

      "Bugs" in the programming code that - makes up Privoxy, such as that - might cause a crash.

      -
    • -
    - -
    -

    11.3.1. - Reporting Ads or Other Configuration Problems

    - -

    Please send feedback on ads that slipped through, innocent images - that were blocked, sites that don't work properly, and other - configuration related problem of default.action file, to http://sourceforge.net/tracker/?group_id=11118&atid=460288, - the Actions File Tracker.

    - -

    New, improved default.action files may - occasionally be made available based on your feedback. These will be - announced on the ijbswa-announce list and available from our the files section of our project page.

    -
    - -
    -

    11.3.2. - Reporting Bugs

    - -

    Please report all bugs through our bug tracker: http://sourceforge.net/tracker/?group_id=11118&atid=111118.

    - -

    Before doing so, please make sure that the bug has not already been submitted - and observe the additional hints at the top of the submit form. If already submitted, please feel free - to add any info to the original report that might help to solve the - issue.

    -
    -
    - -
    -

    11.4. - Request New Features

    - -

    You are welcome to submit ideas on new features or other proposals - for improvement through our feature request tracker at http://sourceforge.net/tracker/?atid=361118&group_id=11118.

    -
    - -
    -

    11.5. - Mailing Lists

    - -

    If you prefer to communicate through email, instead of using a web - interface, feel free to use one of the mailing lists. To discuss issues - that haven't been completely diagnosed yet, please use the Privoxy - users list. Technically interested users and people who wish to - contribute to the project are always welcome on the developers list. - You can find an overview of all Privoxy-related mailing lists, including list - archives, at: http://sourceforge.net/mail/?group_id=11118.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/copyright.html b/pkg content/usr/local/share/doc/privoxy/user-manual/copyright.html deleted file mode 100644 index c070513..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/copyright.html +++ /dev/null @@ -1,621 +0,0 @@ - - - - - Privoxy Copyright, License and History - - - - - - - - - - - - -
    -

    12. Privoxy - Copyright, License and History

    - -

    Copyright © 2001-2013 by Privoxy Developers <ijbswa-developers@lists.sourceforge.net>

    - -

    Some source code is based on code Copyright © 1997 by Anonymous - Coders and Junkbusters, Inc. and licensed under the GNU General Public License.

    - -

    Privoxy is free software; you can - redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by - the Free Software Foundation and included in the next section.

    - -
    -

    12.1. License

    - - - - - -
    -
    -                     GNU GENERAL PUBLIC LICENSE
    -                       Version 2, June 1991
    -
    - Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
    - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -                            Preamble
    -
    -  The licenses for most software are designed to take away your
    -freedom to share and change it.  By contrast, the GNU General Public
    -License is intended to guarantee your freedom to share and change free
    -software--to make sure the software is free for all its users.  This
    -General Public License applies to most of the Free Software
    -Foundation's software and to any other program whose authors commit to
    -using it.  (Some other Free Software Foundation software is covered by
    -the GNU Lesser General Public License instead.)  You can apply it to
    -your programs, too.
    -
    -  When we speak of free software, we are referring to freedom, not
    -price.  Our General Public Licenses are designed to make sure that you
    -have the freedom to distribute copies of free software (and charge for
    -this service if you wish), that you receive source code or can get it
    -if you want it, that you can change the software or use pieces of it
    -in new free programs; and that you know you can do these things.
    -
    -  To protect your rights, we need to make restrictions that forbid
    -anyone to deny you these rights or to ask you to surrender the rights.
    -These restrictions translate to certain responsibilities for you if you
    -distribute copies of the software, or if you modify it.
    -
    -  For example, if you distribute copies of such a program, whether
    -gratis or for a fee, you must give the recipients all the rights that
    -you have.  You must make sure that they, too, receive or can get the
    -source code.  And you must show them these terms so they know their
    -rights.
    -
    -  We protect your rights with two steps: (1) copyright the software, and
    -(2) offer you this license which gives you legal permission to copy,
    -distribute and/or modify the software.
    -
    -  Also, for each author's protection and ours, we want to make certain
    -that everyone understands that there is no warranty for this free
    -software.  If the software is modified by someone else and passed on, we
    -want its recipients to know that what they have is not the original, so
    -that any problems introduced by others will not reflect on the original
    -authors' reputations.
    -
    -  Finally, any free program is threatened constantly by software
    -patents.  We wish to avoid the danger that redistributors of a free
    -program will individually obtain patent licenses, in effect making the
    -program proprietary.  To prevent this, we have made it clear that any
    -patent must be licensed for everyone's free use or not licensed at all.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.
    -
    -                    GNU GENERAL PUBLIC LICENSE
    -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -
    -  0. This License applies to any program or other work which contains
    -a notice placed by the copyright holder saying it may be distributed
    -under the terms of this General Public License.  The "Program", below,
    -refers to any such program or work, and a "work based on the Program"
    -means either the Program or any derivative work under copyright law:
    -that is to say, a work containing the Program or a portion of it,
    -either verbatim or with modifications and/or translated into another
    -language.  (Hereinafter, translation is included without limitation in
    -the term "modification".)  Each licensee is addressed as "you".
    -
    -Activities other than copying, distribution and modification are not
    -covered by this License; they are outside its scope.  The act of
    -running the Program is not restricted, and the output from the Program
    -is covered only if its contents constitute a work based on the
    -Program (independent of having been made by running the Program).
    -Whether that is true depends on what the Program does.
    -
    -  1. You may copy and distribute verbatim copies of the Program's
    -source code as you receive it, in any medium, provided that you
    -conspicuously and appropriately publish on each copy an appropriate
    -copyright notice and disclaimer of warranty; keep intact all the
    -notices that refer to this License and to the absence of any warranty;
    -and give any other recipients of the Program a copy of this License
    -along with the Program.
    -
    -You may charge a fee for the physical act of transferring a copy, and
    -you may at your option offer warranty protection in exchange for a fee.
    -
    -  2. You may modify your copy or copies of the Program or any portion
    -of it, thus forming a work based on the Program, and copy and
    -distribute such modifications or work under the terms of Section 1
    -above, provided that you also meet all of these conditions:
    -
    -    a) You must cause the modified files to carry prominent notices
    -    stating that you changed the files and the date of any change.
    -
    -    b) You must cause any work that you distribute or publish, that in
    -    whole or in part contains or is derived from the Program or any
    -    part thereof, to be licensed as a whole at no charge to all third
    -    parties under the terms of this License.
    -
    -    c) If the modified program normally reads commands interactively
    -    when run, you must cause it, when started running for such
    -    interactive use in the most ordinary way, to print or display an
    -    announcement including an appropriate copyright notice and a
    -    notice that there is no warranty (or else, saying that you provide
    -    a warranty) and that users may redistribute the program under
    -    these conditions, and telling the user how to view a copy of this
    -    License.  (Exception: if the Program itself is interactive but
    -    does not normally print such an announcement, your work based on
    -    the Program is not required to print an announcement.)
    -
    -These requirements apply to the modified work as a whole.  If
    -identifiable sections of that work are not derived from the Program,
    -and can be reasonably considered independent and separate works in
    -themselves, then this License, and its terms, do not apply to those
    -sections when you distribute them as separate works.  But when you
    -distribute the same sections as part of a whole which is a work based
    -on the Program, the distribution of the whole must be on the terms of
    -this License, whose permissions for other licensees extend to the
    -entire whole, and thus to each and every part regardless of who wrote it.
    -
    -Thus, it is not the intent of this section to claim rights or contest
    -your rights to work written entirely by you; rather, the intent is to
    -exercise the right to control the distribution of derivative or
    -collective works based on the Program.
    -
    -In addition, mere aggregation of another work not based on the Program
    -with the Program (or with a work based on the Program) on a volume of
    -a storage or distribution medium does not bring the other work under
    -the scope of this License.
    -
    -  3. You may copy and distribute the Program (or a work based on it,
    -under Section 2) in object code or executable form under the terms of
    -Sections 1 and 2 above provided that you also do one of the following:
    -
    -    a) Accompany it with the complete corresponding machine-readable
    -    source code, which must be distributed under the terms of Sections
    -    1 and 2 above on a medium customarily used for software interchange; or,
    -
    -    b) Accompany it with a written offer, valid for at least three
    -    years, to give any third party, for a charge no more than your
    -    cost of physically performing source distribution, a complete
    -    machine-readable copy of the corresponding source code, to be
    -    distributed under the terms of Sections 1 and 2 above on a medium
    -    customarily used for software interchange; or,
    -
    -    c) Accompany it with the information you received as to the offer
    -    to distribute corresponding source code.  (This alternative is
    -    allowed only for noncommercial distribution and only if you
    -    received the program in object code or executable form with such
    -    an offer, in accord with Subsection b above.)
    -
    -The source code for a work means the preferred form of the work for
    -making modifications to it.  For an executable work, complete source
    -code means all the source code for all modules it contains, plus any
    -associated interface definition files, plus the scripts used to
    -control compilation and installation of the executable.  However, as a
    -special exception, the source code distributed need not include
    -anything that is normally distributed (in either source or binary
    -form) with the major components (compiler, kernel, and so on) of the
    -operating system on which the executable runs, unless that component
    -itself accompanies the executable.
    -
    -If distribution of executable or object code is made by offering
    -access to copy from a designated place, then offering equivalent
    -access to copy the source code from the same place counts as
    -distribution of the source code, even though third parties are not
    -compelled to copy the source along with the object code.
    -
    -  4. You may not copy, modify, sublicense, or distribute the Program
    -except as expressly provided under this License.  Any attempt
    -otherwise to copy, modify, sublicense or distribute the Program is
    -void, and will automatically terminate your rights under this License.
    -However, parties who have received copies, or rights, from you under
    -this License will not have their licenses terminated so long as such
    -parties remain in full compliance.
    -
    -  5. You are not required to accept this License, since you have not
    -signed it.  However, nothing else grants you permission to modify or
    -distribute the Program or its derivative works.  These actions are
    -prohibited by law if you do not accept this License.  Therefore, by
    -modifying or distributing the Program (or any work based on the
    -Program), you indicate your acceptance of this License to do so, and
    -all its terms and conditions for copying, distributing or modifying
    -the Program or works based on it.
    -
    -  6. Each time you redistribute the Program (or any work based on the
    -Program), the recipient automatically receives a license from the
    -original licensor to copy, distribute or modify the Program subject to
    -these terms and conditions.  You may not impose any further
    -restrictions on the recipients' exercise of the rights granted herein.
    -You are not responsible for enforcing compliance by third parties to
    -this License.
    -
    -  7. If, as a consequence of a court judgment or allegation of patent
    -infringement or for any other reason (not limited to patent issues),
    -conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot
    -distribute so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you
    -may not distribute the Program at all.  For example, if a patent
    -license would not permit royalty-free redistribution of the Program by
    -all those who receive copies directly or indirectly through you, then
    -the only way you could satisfy both it and this License would be to
    -refrain entirely from distribution of the Program.
    -
    -If any portion of this section is held invalid or unenforceable under
    -any particular circumstance, the balance of the section is intended to
    -apply and the section as a whole is intended to apply in other
    -circumstances.
    -
    -It is not the purpose of this section to induce you to infringe any
    -patents or other property right claims or to contest validity of any
    -such claims; this section has the sole purpose of protecting the
    -integrity of the free software distribution system, which is
    -implemented by public license practices.  Many people have made
    -generous contributions to the wide range of software distributed
    -through that system in reliance on consistent application of that
    -system; it is up to the author/donor to decide if he or she is willing
    -to distribute software through any other system and a licensee cannot
    -impose that choice.
    -
    -This section is intended to make thoroughly clear what is believed to
    -be a consequence of the rest of this License.
    -
    -  8. If the distribution and/or use of the Program is restricted in
    -certain countries either by patents or by copyrighted interfaces, the
    -original copyright holder who places the Program under this License
    -may add an explicit geographical distribution limitation excluding
    -those countries, so that distribution is permitted only in or among
    -countries not thus excluded.  In such case, this License incorporates
    -the limitation as if written in the body of this License.
    -
    -  9. The Free Software Foundation may publish revised and/or new versions
    -of the General Public License from time to time.  Such new versions will
    -be similar in spirit to the present version, but may differ in detail to
    -address new problems or concerns.
    -
    -Each version is given a distinguishing version number.  If the Program
    -specifies a version number of this License which applies to it and "any
    -later version", you have the option of following the terms and conditions
    -either of that version or of any later version published by the Free
    -Software Foundation.  If the Program does not specify a version number of
    -this License, you may choose any version ever published by the Free Software
    -Foundation.
    -
    -  10. If you wish to incorporate parts of the Program into other free
    -programs whose distribution conditions are different, write to the author
    -to ask for permission.  For software which is copyrighted by the Free
    -Software Foundation, write to the Free Software Foundation; we sometimes
    -make exceptions for this.  Our decision will be guided by the two goals
    -of preserving the free status of all derivatives of our free software and
    -of promoting the sharing and reuse of software generally.
    -
    -                            NO WARRANTY
    -
    -  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    -REPAIR OR CORRECTION.
    -
    -  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGES.
    -
    -                     END OF TERMS AND CONDITIONS
    -
    -            How to Apply These Terms to Your New Programs
    -
    -  If you develop a new program, and you want it to be of the greatest
    -possible use to the public, the best way to achieve this is to make it
    -free software which everyone can redistribute and change under these terms.
    -
    -  To do so, attach the following notices to the program.  It is safest
    -to attach them to the start of each source file to most effectively
    -convey the exclusion of warranty; and each file should have at least
    -the "copyright" line and a pointer to where the full notice is found.
    -
    -    <one line to give the program's name and a brief idea of what it does.>
    -    Copyright (C) <year>  <name of author>
    -
    -    This program is free software; you can redistribute it and/or modify
    -    it under the terms of the GNU General Public License as published by
    -    the Free Software Foundation; either version 2 of the License, or
    -    (at your option) any later version.
    -
    -    This program is distributed in the hope that it will be useful,
    -    but WITHOUT ANY WARRANTY; without even the implied warranty of
    -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -    GNU General Public License for more details.
    -
    -    You should have received a copy of the GNU General Public License along
    -    with this program; if not, write to the Free Software Foundation, Inc.,
    -    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
    -
    -Also add information on how to contact you by electronic and paper mail.
    -
    -If the program is interactive, make it output a short notice like this
    -when it starts in an interactive mode:
    -
    -    Gnomovision version 69, Copyright (C) year name of author
    -    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    -    This is free software, and you are welcome to redistribute it
    -    under certain conditions; type `show c' for details.
    -
    -The hypothetical commands `show w' and `show c' should show the appropriate
    -parts of the General Public License.  Of course, the commands you use may
    -be called something other than `show w' and `show c'; they could even be
    -mouse-clicks or menu items--whatever suits your program.
    -
    -You should also get your employer (if you work as a programmer) or your
    -school, if any, to sign a "copyright disclaimer" for the program, if
    -necessary.  Here is a sample; alter the names:
    -
    -  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
    -  `Gnomovision' (which makes passes at compilers) written by James Hacker.
    -
    -  <signature of Ty Coon>, 1 April 1989
    -  Ty Coon, President of Vice
    -
    -This General Public License does not permit incorporating your program into
    -proprietary programs.  If your program is a subroutine library, you may
    -consider it more useful to permit linking proprietary applications with the
    -library.  If this is what you want to do, use the GNU Lesser General
    -Public License instead of this License.
    -
    -
    -
    -
    - -
    -

    12.2. History

    - -

    A long time ago, there was the Internet - Junkbuster, by Anonymous Coders and Junkbusters Corporation. - This saved many users a lot of pain in the early days of web - advertising and user tracking.

    - -

    But the web, its protocols and standards, and with it, the - techniques for forcing ads on users, give up autonomy over their - browsing, and for tracking them, keeps evolving. Unfortunately, the - Internet Junkbuster did not. Version - 2.0.2, published in 1998, was the last official release, available from - Junkbusters Corporation. Fortunately, it had been released under the - GNU GPL, which allowed further development by others.

    - -

    So Stefan Waldherr started maintaining an improved version of the - software, to which eventually a number of people contributed patches. - It could already replace banners with a transparent image, and had a - first version of pop-up killing, but it was still very closely based on - the original, with all its limitations, such as the lack of HTTP/1.1 - support, flexible per-site configuration, or content modification. The - last release from this effort was version 2.0.2-10, published in - 2000.

    - -

    Then, some developers picked up the thread, and started turning the - software inside out, upside down, and then reassembled it, adding many - new features along the way.

    - -

    The result of this is Privoxy, - whose first stable version, 3.0, was released August, 2002.

    - -

    As of 2012 the Junkbusters Corporation's website - (http://www.junkbusters.com/) has been shut down, but Privoxy is still - actively maintained.

    -
    - -
    -

    12.3. Authors

    - -

    Current Privoxy Team:

    - -

    -  Fabian Keil, lead developer
    -  David Schmidt
    -  Hal Burgiss
    -  Lee Rian
    -  Roland Rosenfeld
    -  Ian Silvester

    - -

    Former Privoxy Team Members:

    - -

     Johny Agotnes
    -  Rodrigo Barbosa
    -  Moritz Barsnick
    -  Ian Cummings
    -  Brian Dessent
    -  Jon Foster
    -  Karsten Hopp
    -  Alexander Lazic
    -  Daniel Leite
    -  Gábor Lipták
    -  Adam Lock
    -  Guy Laroche
    -  Justin McMurtry
    -  Mark Miller
    -  Gerry Murphy
    -  Andreas Oesterhelt
    -  Haroon Rafique
    -  Georg Sauthoff
    -  Thomas Steudten
    -  Jörg Strohmayer
    -  Rodney Stromlund
    -  Sviatoslav Sviridov
    -  Sarantis Paskalis
    -  Stefan Waldherr

    - -

    Thanks to the many people who have tested Privoxy, reported bugs, - provided patches, made suggestions or contributed in some way. These - include (in alphabetical order):

    - -

     Ken Arromdee
    -  Natxo Asenjo
    -  Devin Bayer
    -  Havard Berland
    -  David Bo
    -  Gergely Bor
    -  Francois Botha
    -  Reiner Buehl
    -  Andrew J. Caines
    -  Clifford Caoile
    -  Wan-Teh Chang
    -  Ramkumar Chinchani
    -  Billy Crook
    -  Frédéric Crozat
    -  Michael T. Davis
    -  Markus Dittrich
    -  Mattes Dolak
    -  Matthias Drochner
    -  Peter E.
    -  Florian Effenberger
    -  Markus Elfring
    -  Ryan Farmer
    -  Matthew Fischer
    -  Dean Gaudet
    -  Stephen Gildea
    -  Lizik Grelier
    -  Daniel Griscom
    -  Felix Gröbert
    -  Jeff H.
    -  Tim H.
    -  Aaron Hamid
    -  Darel Henman
    -  Magnus Holmgren
    -  Eric M. Hopper
    -  Ralf Horstmann
    -  Stefan Huehner
    -  Peter Hyman
    -  Derek Jennings
    -  Andrew Jones
    -  Julien Joubert
    -  Ralf Jungblut
    -  Petr Kadlec
    -  Steven Kolins
    -  Zeno Kugy
    -  David Laight
    -  Bert van Leeuwen
    -  Don Libes
    -  Paul Lieverse
    -  Han Liu
    -  Toby Lyward
    -  Wil Mahan
    -  Jindrich Makovicka
    -  Raphael Marichez
    -  Francois Marier
    -  Angelina Matson
    -  David Mediavilla
    -  Raphael Moll
    -  Amuro Namie
    -  Adam Piggott
    -  Petr Písar
    -  Dan Price
    -  Roberto Ragusa
    -  Félix Rauch
    -  Maynard Riley
    -  Andreas Rutkauskas
    -  Bart Schelstraete
    -  Chung-chieh Shan
    -  Simon South
    -  Dan Stahlke
    -  Oliver Stoeneberg
    -  Rick Sykes
    -  Spinor S.
    -  Peter Thoenen
    -  Martin Thomas
    -  Bobby G. Vinyard
    -  Jochen Voss
    -  Glenn Washburn
    -  Song Weijia
    -  Jörg Weinmann
    -  Darren Wiebe
    -  Anduin Withers
    -  Oliver Yeoh
    -  Jamie Zawinski

    - -

    Privoxy is based in part on code originally developed by Junkbusters - Corp. and Anonymous Coders.

    - -

    Privoxy heavily relies on Philip Hazel's PCRE.

    - -

    The code to filter compressed content makes use of zlib which is - written by Jean-loup Gailly and Mark Adler.

    - -

    On systems that lack snprintf(), Privoxy is using a version written - by Mark Martinec. On systems that lack strptime(), Privoxy is using the - one from the GNU C Library written by Ulrich Drepper.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/files-in-use.jpg b/pkg content/usr/local/share/doc/privoxy/user-manual/files-in-use.jpg deleted file mode 100644 index 207b6f7..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/user-manual/files-in-use.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/filter-file.html b/pkg content/usr/local/share/doc/privoxy/user-manual/filter-file.html deleted file mode 100644 index f01f689..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/filter-file.html +++ /dev/null @@ -1,857 +0,0 @@ - - - - - Filter Files - - - - - - - - - - - - -
    -

    9. Filter - Files

    - -

    On-the-fly text substitutions need to be defined in a "filter file". Once defined, they can then be invoked as - an "action".

    - -

    Privoxy supports three different - filter actions: filter to rewrite the content that is - send to the client, client-header-filter to - rewrite headers that are send by the client, and server-header-filter to - rewrite headers that are send by the server.

    - -

    Privoxy also supports two tagger - actions: client-header-tagger - and server-header-tagger. - Taggers and filters use the same syntax in the filter files, the - difference is that taggers don't modify the text they are filtering, but - use a rewritten version of the filtered text as tag. The tags can then be - used to change the applying actions through sections with tag-patterns.

    - -

    Multiple filter files can be defined through the filterfile config - directive. The filters as supplied by the developers are located in - default.filter. It is recommended that any - locally defined or modified filters go in a separately defined file such - as user.filter.

    - -

    Common tasks for content filters are to eliminate common annoyances in - HTML and JavaScript, such as pop-up windows, exit consoles, crippled - windows without navigation tools, the infamous <BLINK> tag etc, to - suppress images with certain width and height attributes (standard banner - sizes or web-bugs), or just to have fun.

    - -

    Enabled content filters are applied to any content whose "Content Type" header is recognised as a sign of - text-based content, with the exception of text/plain. Use the force-text-mode action to also - filter other content.

    - -

    Substitutions are made at the source level, so if you want to - "roll your own" filters, you should first be - familiar with HTML syntax, and, of course, regular expressions.

    - -

    Just like the actions files, the - filter file is organized in sections, which are called filters here. Each filter - consists of a heading line, that starts with one of the keywords FILTER:, CLIENT-HEADER-FILTER: or - SERVER-HEADER-FILTER: followed by the filter's - name, and a short - (one line) description of what it does. Below that line come - the jobs, i.e. - lines that define the actual text substitutions. By convention, the name - of a filter should describe what the filter eliminates. The comment is used - in the web-based user - interface.

    - -

    Once a filter called name has been - defined in the filter file, it can be invoked by using an action of the - form +filter{name} in any actions file.

    - -

    Filter definitions start with a header line that contains the filter - type, the filter name and the filter description. A content filter header - line for a filter called "foo" could look like - this:

    - - - - - -
    -
    -FILTER: foo Replace all "foo" with "bar"
    -
    -
    - -

    Below that line, and up to the next header line, come the jobs that - define what text replacements the filter executes. They are specified in - a syntax that imitates Perl's s/// operator. If you are - familiar with Perl, you will find this to be quite intuitive, and may - want to look at the PCRS documentation for the subtle differences to Perl - behaviour. Most notably, the non-standard option letter U is supported, which turns the default to ungreedy - matching.

    - -

    If you are new to "Regular Expressions", you might - want to take a look at the Appendix on - regular expressions, and see the Perl manual for - the - s/// operator's syntax and Perl-style regular - expressions in general. The below examples might also help to get you - started.

    - -
    -

    9.1. Filter File - Tutorial

    - -

    Now, let's complete our "foo" content - filter. We have already defined the heading, but the jobs are still - missing. Since all it does is to replace "foo" with "bar", there is - only one (trivial) job needed:

    - - - - - -
    -
    -s/foo/bar/
    -
    -
    - -

    But wait! Didn't the comment say that all occurrences of - "foo" should be replaced? Our current job - will only take care of the first "foo" on - each page. For global substitution, we'll need to add the g option:

    - - - - - -
    -
    -s/foo/bar/g
    -
    -
    - -

    Our complete filter now looks like this:

    - - - - - -
    -
    -FILTER: foo Replace all "foo" with "bar"
    -s/foo/bar/g
    -
    -
    - -

    Let's look at some real filters for more interesting examples. Here - you see a filter that protects against some common annoyances that - arise from JavaScript abuse. Let's look at its jobs one after the - other:

    - - - - - -
    -
    -FILTER: js-annoyances Get rid of particularly annoying JavaScript abuse
    -
    -# Get rid of JavaScript referrer tracking. Test page: http://www.randomoddness.com/untitled.htm
    -#
    -s|(<script.*)document\.referrer(.*</script>)|$1"Not Your Business!"$2|Usg
    -
    -
    - -

    Following the header line and a comment, you see the job. Note that - it uses | as the delimiter instead of - /, because the pattern contains a forward - slash, which would otherwise have to be escaped by a backslash - (\).

    - -

    Now, let's examine the pattern: it starts with the text <script.* enclosed in parentheses. Since the dot - matches any character, and * means: - "Match an arbitrary number of the element left of - myself", this matches "<script", - followed by any - text, i.e. it matches the whole page, from the start of the first - <script> tag.

    - -

    That's more than we want, but the pattern continues: document\.referrer matches only the exact string - "document.referrer". The dot needed to be - escaped, i.e. - preceded by a backslash, to take away its special meaning as a joker, - and make it just a regular dot. So far, the meaning is: Match from the - start of the first <script> tag in a the page, up to, and - including, the text "document.referrer", if - both are present - in the page (and appear in that order).

    - -

    But there's still more pattern to go. The next element, again - enclosed in parentheses, is .*</script>. - You already know what .* means, so the whole - pattern translates to: Match from the start of the first <script> - tag in a page to the end of the last <script> tag, provided that - the text "document.referrer" appears - somewhere in between.

    - -

    This is still not the whole story, since we have ignored the options - and the parentheses: The portions of the page matched by sub-patterns - that are enclosed in parentheses, will be remembered and be available - through the variables $1, $2, ... in the - substitute. The U option switches to ungreedy - matching, which means that the first .* in the - pattern will only "eat up" all text in - between "<script" and the first occurrence of - "document.referrer", and that the second - .* will only span the text up to the - first - "</script>" tag. Furthermore, the - s option says that the match may span multiple - lines in the page, and the g option again - means that the substitution is global.

    - -

    So, to summarize, the pattern means: Match all scripts that contain - the text "document.referrer". Remember the - parts of the script from (and including) the start tag up to (and - excluding) the string "document.referrer" as - $1, and the part following that string, up to - and including the closing tag, as $2.

    - -

    Now the pattern is deciphered, but wasn't this about substituting - things? So lets look at the substitute: $1"Not Your - Business!"$2 is easy to read: The text remembered as $1, followed by "Not Your - Business!" (including the quotation marks!), followed by the - text remembered as $2. This produces an exact - copy of the original string, with the middle part (the "document.referrer") replaced by "Not Your Business!".

    - -

    The whole job now reads: Replace "document.referrer" by "Not Your - Business!" wherever it appears inside a <script> tag. Note - that this job won't break JavaScript syntax, since both the original - and the replacement are syntactically valid string objects. The script - just won't have access to the referrer information anymore.

    - -

    We'll show you two other jobs from the JavaScript taming department, - but this time only point out the constructs of special interest:

    - - - - - -
    -
    -# The status bar is for displaying link targets, not pointless blahblah
    -#
    -s/window\.status\s*=\s*(['"]).*?\1/dUmMy=1/ig
    -
    -
    - -

    \s stands for whitespace characters (space, - tab, newline, carriage return, form feed), so that \s* means: "zero or more - whitespace". The ? in .*? makes this matching of arbitrary text ungreedy. - (Note that the U option is not set). The - ['"] construct means: "a - single or a - double quote". Finally, \1 is a - back-reference to the first parenthesis just like $1 above, with the difference that in the pattern, a backslash - indicates a back-reference, whereas in the substitute, it's the - dollar.

    - -

    So what does this job do? It replaces assignments of single- or - double-quoted strings to the "window.status" - object with a dummy assignment (using a variable name that is hopefully - odd enough not to conflict with real variables in scripts). Thus, it - catches many cases where e.g. pointless descriptions are displayed in - the status bar instead of the link target when you move your mouse over - links.

    - - - - - -
    -
    -# Kill OnUnload popups. Yummy. Test: http://www.zdnet.com/zdsubs/yahoo/tree/yfs.html
    -#
    -s/(<body [^>]*)onunload(.*>)/$1never$2/iU
    -
    -
    - -

    Including the OnUnload event binding in the HTML DOM was a - CRIME. When I - close a browser window, I want it to close and die. Basta. This job - replaces the "onunload" attribute in - "<body>" tags with the dummy word - never. Note that the i option makes the pattern matching case-insensitive. - Also note that ungreedy matching alone doesn't always guarantee a - minimal match: In the first parenthesis, we had to use [^>]* instead of .* to - prevent the match from exceeding the <body> tag if it doesn't - contain "OnUnload", but the page's content - does.

    - -

    The last example is from the fun department:

    - - - - - -
    -
    -FILTER: fun Fun text replacements
    -
    -# Spice the daily news:
    -#
    -s/microsoft(?!\.com)/MicroSuck/ig
    -
    -
    - -

    Note the (?!\.com) part (a so-called - negative lookahead) in the job's pattern, which means: Don't match, if - the string ".com" appears directly following - "microsoft" in the page. This prevents links - to microsoft.com from being trashed, while still replacing the word - everywhere else.

    - - - - - -
    -
    -# Buzzword Bingo (example for extended regex syntax)
    -#
    -s* industry[ -]leading \
    -|  cutting[ -]edge \
    -|  customer[ -]focused \
    -|  market[ -]driven \
    -|  award[ -]winning # Comments are OK, too! \
    -|  high[ -]performance \
    -|  solutions[ -]based \
    -|  unmatched \
    -|  unparalleled \
    -|  unrivalled \
    -*<font color="red"><b>BINGO!</b></font> \
    -*igx
    -
    -
    - -

    The x option in this job turns on extended - syntax, and allows for e.g. the liberal use of (non-interpreted!) - whitespace for nicer formatting.

    - -

    You get the idea?

    -
    - -
    -

    9.2. The Pre-defined Filters

    - -

    The distribution default.filter file - contains a selection of pre-defined filters for your convenience:

    - -
    -
    -
    js-annoyances
    - -
    -

    The purpose of this filter is to get rid of particularly - annoying JavaScript abuse. To that end, it

    - -
      -
    • -

      replaces JavaScript references to the browser's referrer - information with the string "Not Your Business!". This - compliments the hide-referrer - action on the content level.

      -
    • - -
    • -

      removes the bindings to the DOM's unload event which we feel has no right to - exist and is responsible for most "exit - consoles", i.e. nasty windows that pop up when you - close another one.

      -
    • - -
    • -

      removes code that causes new windows to be opened with - undesired properties, such as being full-screen, - non-resizeable, without location, status or menu bar etc.

      -
    • -
    - -

    Use with caution. This is an aggressive filter, and can break - sites that rely heavily on JavaScript.

    -
    - -
    js-events
    - -
    -

    This is a very radical measure. It removes virtually all - JavaScript event bindings, which means that scripts can not react - to user actions such as mouse movements or clicks, window - resizing etc, anymore. Use with caution!

    - -

    We strongly - discourage using this filter as a default since it - breaks many legitimate scripts. It is meant for use only on - extra-nasty sites (should you really need to go there).

    -
    - -
    html-annoyances
    - -
    -

    This filter will undo many common instances of HTML based - abuse.

    - -

    The BLINK and MARQUEE tags are neutralized (yeah baby!), and - browser windows will be created as resizeable (as of course they - should be!), and will have location, scroll and menu bars -- even - if specified otherwise.

    -
    - -
    content-cookies
    - -
    -

    Most cookies are set in the HTTP dialog, where they can be - intercepted by the crunch-incoming-cookies - and crunch-outgoing-cookies - actions. But web sites increasingly make use of HTML meta tags - and JavaScript to sneak cookies to the browser on the content - level.

    - -

    This filter disables most HTML and JavaScript code that reads - or sets cookies. It cannot detect all clever uses of these types - of code, so it should not be relied on as an absolute fix. Use it - wherever you would also use the cookie crunch actions.

    -
    - -
    refresh-tags
    - -
    -

    Disable any refresh tags if the interval is greater than nine - seconds (so that redirections done via refresh tags are not - destroyed). This is useful for dial-on-demand setups, or for - those who find this HTML feature annoying.

    -
    - -
    unsolicited-popups
    - -
    -

    This filter attempts to prevent only "unsolicited" pop-up windows from opening, yet - still allow pop-up windows that the user has explicitly chosen to - open. It was added in version 3.0.1, as an improvement over - earlier such filters.

    - -

    Technical note: The filter works by redefining the window.open - JavaScript function to a dummy function, PrivoxyWindowOpen(), during the loading and - rendering phase of each HTML page access, and restoring the - function afterward.

    - -

    This is recommended only for browsers that cannot perform this - function reliably themselves. And be aware that some sites - require such windows in order to function normally. Use with - caution.

    -
    - -
    all-popups
    - -
    -

    Attempt to prevent all pop-up windows from opening. Note this - should be used with even more discretion than the above, since it - is more likely to break some sites that require pop-ups for - normal usage. Use with caution.

    -
    - -
    img-reorder
    - -
    -

    This is a helper filter that has no value if used alone. It - makes the banners-by-size and banners-by-link (see below) filters more effective - and should be enabled together with them.

    -
    - -
    banners-by-size
    - -
    -

    This filter removes image tags purely based on what size they - are. Fortunately for us, many ads and banner images tend to - conform to certain standardized sizes, which makes this filter - quite effective for ad stripping purposes.

    - -

    Occasionally this filter will cause false positives on images - that are not ads, but just happen to be of one of the standard - banner sizes.

    - -

    Recommended only for those who require extreme ad blocking. - The default block rules should catch 95+% of all ads without this filter - enabled.

    -
    - -
    banners-by-link
    - -
    -

    This is an experimental filter that attempts to kill any - banners if their URLs seem to point to known or suspected click - trackers. It is currently not of much value and is not - recommended for use by default.

    -
    - -
    webbugs
    - -
    -

    Webbugs are small, invisible images (technically 1X1 GIF - images), that are used to track users across websites, and - collect information on them. As an HTML page is loaded by the - browser, an embedded image tag causes the browser to contact a - third-party site, disclosing the tracking information through the - requested URL and/or cookies for that third-party domain, without - the user ever becoming aware of the interaction with the - third-party site. HTML-ized spam also uses a similar technique to - verify email addresses.

    - -

    This filter removes the HTML code that loads such "webbugs".

    -
    - -
    tiny-textforms
    - -
    -

    A rather special-purpose filter that can be used to enlarge - textareas (those multi-line text boxes in web forms) and turn off - hard word wrap in them. It was written for the sourceforge.net - tracker system where such boxes are a nuisance, but it can be - handy on other sites, too.

    - -

    It is not recommended to use this filter as a default.

    -
    - -
    jumping-windows
    - -
    -

    Many consider windows that move, or resize themselves to be - abusive. This filter neutralizes the related JavaScript code. - Note that some sites might not display or behave as intended when - using this filter. Use with caution.

    -
    - -
    frameset-borders
    - -
    -

    Some web designers seem to assume that everyone in the world - will view their web sites using the same browser brand and - version, screen resolution etc, because only that assumption - could explain why they'd use static frame sizes, yet prevent - their frames from being resized by the user, should they be too - small to show their whole content.

    - -

    This filter removes the related HTML code. It should only be - applied to sites which need it.

    -
    - -
    demoronizer
    - -
    -

    Many Microsoft products that generate HTML use non-standard - extensions (read: violations) of the ISO 8859-1 aka Latin-1 - character set. This can cause those HTML documents to display - with errors on standard-compliant platforms.

    - -

    This filter translates the MS-only characters into Latin-1 - equivalents. It is not necessary when using MS products, and will - cause corruption of all documents that use 8-bit character sets - other than Latin-1. It's mostly worthwhile for Europeans on - non-MS platforms, if weird garbage characters sometimes appear on - some pages, or user agents that don't correct for this on the - fly.

    -
    - -
    shockwave-flash
    - -
    -

    A filter for shockwave haters. As the name suggests, this - filter strips code out of web pages that is used to embed - shockwave flash objects.

    -
    - -
    quicktime-kioskmode
    - -
    -

    Change HTML code that embeds Quicktime objects so that - kioskmode, which prevents saving, is disabled.

    -
    - -
    fun
    - -
    -

    Text replacements for subversive browsing fun. Make fun of - your favorite Monopolist or play buzzword bingo.

    -
    - -
    crude-parental
    - -
    -

    A demonstration-only filter that shows how Privoxy can be used to delete web content on - a keyword basis.

    -
    - -
    ie-exploits
    - -
    -

    An experimental collection of text replacements to disable - malicious HTML and JavaScript code that exploits known security - holes in Internet Explorer.

    - -

    Presently, it only protects against Nimda and a cross-site - scripting bug, and would need active maintenance to provide more - substantial protection.

    -
    - -
    site-specifics
    - -
    -

    Some web sites have very specific problems, the cure for which - doesn't apply anywhere else, or could even cause damage on other - sites.

    - -

    This is a collection of such site-specific cures which should - only be applied to the sites they were intended for, which is - what the supplied default.action file - does. Users shouldn't need to change anything regarding this - filter.

    -
    - -
    google
    - -
    -

    A CSS based block for Google text ads. Also removes a width - limitation and the toolbar advertisement.

    -
    - -
    yahoo
    - -
    -

    Another CSS based block, this time for Yahoo text ads. And - removes a width limitation as well.

    -
    - -
    msn
    - -
    -

    Another CSS based block, this time for MSN text ads. And - removes tracking URLs, as well as a width limitation.

    -
    - -
    blogspot
    - -
    -

    Cleans up some Blogspot blogs. Read the fine print before - using this one!

    - -

    This filter also intentionally removes some navigation stuff - and sets the page width to 100%. As a result, some rounded - "corners" would appear to early or not - at all and as fixing this would require a browser that - understands background-size (CSS3), they are removed instead.

    -
    - -
    xml-to-html
    - -
    -

    Server-header filter to change the Content-Type from xml to - html.

    -
    - -
    html-to-xml
    - -
    -

    Server-header filter to change the Content-Type from html to - xml.

    -
    - -
    no-ping
    - -
    -

    Removes the non-standard ping - attribute from anchor and area HTML tags.

    -
    - -
    hide-tor-exit-notation
    - -
    -

    Client-header filter to remove the Tor - exit node notation found in Host and Referer headers.

    - -

    If Privoxy and Tor are chained and Privoxy is configured to use socks4a, one - can use "http://www.example.org.foobar.exit/" to access - the host "www.example.org" through the - Tor exit node "foobar".

    - -

    As the HTTP client isn't aware of this notation, it treats the - whole string "www.example.org.foobar.exit" as host and uses it - for the "Host" and "Referer" headers. From the server's point of view - the resulting headers are invalid and can cause problems.

    - -

    An invalid "Referer" header can - trigger "hot-linking" protections, an - invalid "Host" header will make it - impossible for the server to find the right vhost (several - domains hosted on the same IP address).

    - -

    This client-header filter removes the "foo.exit" part in those headers to prevent the - mentioned problems. Note that it only modifies the HTTP headers, - it doesn't make it impossible for the server to detect your - Tor exit node based on the IP address the - request is coming from.

    -
    -
    -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/index.html b/pkg content/usr/local/share/doc/privoxy/user-manual/index.html deleted file mode 100644 index 28bf43a..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/index.html +++ /dev/null @@ -1,614 +0,0 @@ - - - - - Privoxy 3.0.21 User Manual - - - - - - - - -
    -
    -

    Privoxy 3.0.21 User - Manual

    - -

    Copyright © - 2001-2013 by Privoxy - Developers

    - -

    $Id: user-manual.sgml,v 2.174 2013/03/02 14:39:24 - fabiankeil Exp $

    - -
    -
    - - -

    The Privoxy User Manual gives users - information on how to install, configure and use Privoxy.

    - -

    Privoxy is a non-caching web proxy with advanced filtering - capabilities for enhancing privacy, modifying web page data and - HTTP headers, controlling access, and removing ads and other - obnoxious Internet junk. Privoxy has a flexible configuration and - can be customized to suit individual needs and tastes. It has - application for both stand-alone systems and multi-user - networks.

    - -

    Privoxy is Free Software and licensed under the GNU GPLv2.

    - -

    Privoxy is an associated project of Software in the Public - Interest (SPI).

    - -

    Helping hands and donations are welcome:

    - - - -

    You can find the latest version of the Privoxy User Manual at http://www.privoxy.org/user-manual/. Please see the - Contact section on how to contact the - developers.

    -
    -
    -
    -
    - -
    -
    -
    Table of Contents
    - -
    1. Introduction
    - -
    -
    -
    1.1. Features
    -
    -
    - -
    2. Installation
    - -
    -
    -
    2.1. Binary - Packages
    - -
    -
    -
    2.1.1. Debian and - Ubuntu
    - -
    2.1.2. Windows
    - -
    2.1.3. OS/2
    - -
    2.1.4. Mac - OS X
    - -
    2.1.5. Installation - from ready-built package
    - -
    2.1.6. Installation - from source
    - -
    2.1.7. FreeBSD
    -
    -
    - -
    2.2. Building - from Source
    - -
    2.3. Keeping your - Installation Up-to-Date
    -
    -
    - -
    3. What's New in this Release
    - -
    -
    -
    3.1. Note to - Upgraders
    -
    -
    - -
    4. Quickstart to Using Privoxy
    - -
    -
    -
    4.1. Quickstart to Ad - Blocking
    -
    -
    - -
    5. Starting Privoxy
    - -
    -
    -
    5.1. Debian
    - -
    5.2. Windows
    - -
    5.3. Solaris, NetBSD, - FreeBSD, HP-UX and others
    - -
    5.4. OS/2
    - -
    5.5. Mac OS X
    - -
    5.6. Command Line - Options
    -
    -
    - -
    6. Privoxy Configuration
    - -
    -
    -
    6.1. Controlling Privoxy - with Your Web Browser
    - -
    6.2. Configuration - Files Overview
    -
    -
    - -
    7. The Main Configuration File
    - -
    -
    -
    7.1. Local Set-up - Documentation
    - -
    -
    -
    7.1.1. user-manual
    - -
    7.1.2. trust-info-url
    - -
    7.1.3. admin-address
    - -
    7.1.4. proxy-info-url
    -
    -
    - -
    7.2. Configuration and Log - File Locations
    - -
    -
    -
    7.2.1. confdir
    - -
    7.2.2. templdir
    - -
    7.2.3. logdir
    - -
    7.2.4. actionsfile
    - -
    7.2.5. filterfile
    - -
    7.2.6. logfile
    - -
    7.2.7. trustfile
    -
    -
    - -
    7.3. Debugging
    - -
    -
    -
    7.3.1. debug
    - -
    7.3.2. single-threaded
    - -
    7.3.3. hostname
    -
    -
    - -
    7.4. Access Control and - Security
    - -
    -
    -
    7.4.1. listen-address
    - -
    7.4.2. toggle
    - -
    7.4.3. enable-remote-toggle
    - -
    7.4.4. enable-remote-http-toggle
    - -
    7.4.5. enable-edit-actions
    - -
    7.4.6. enforce-blocks
    - -
    7.4.7. ACLs: permit-access and - deny-access
    - -
    7.4.8. buffer-limit
    - -
    7.4.9. enable-proxy-authentication-forwarding
    -
    -
    - -
    7.5. Forwarding
    - -
    -
    -
    7.5.1. forward
    - -
    7.5.2. forward-socks4, - forward-socks4a, forward-socks5 and forward-socks5t
    - -
    7.5.3. Advanced - Forwarding Examples
    - -
    7.5.4. forwarded-connect-retries
    -
    -
    - -
    7.6. Miscellaneous
    - -
    -
    -
    7.6.1. accept-intercepted-requests
    - -
    7.6.2. allow-cgi-request-crunching
    - -
    7.6.3. split-large-forms
    - -
    7.6.4. keep-alive-timeout
    - -
    7.6.5. tolerate-pipelining
    - -
    7.6.6. default-server-timeout
    - -
    7.6.7. connection-sharing
    - -
    7.6.8. socket-timeout
    - -
    7.6.9. max-client-connections
    - -
    7.6.10. handle-as-empty-doc-returns-ok
    - -
    7.6.11. enable-compression
    - -
    7.6.12. compression-level
    - -
    7.6.13. client-header-order
    -
    -
    - -
    7.7. Windows GUI - Options
    -
    -
    - -
    8. Actions Files
    - -
    -
    -
    8.1. Finding the Right - Mix
    - -
    8.2. How to Edit
    - -
    8.3. How Actions - are Applied to Requests
    - -
    8.4. Patterns
    - -
    -
    -
    8.4.1. The Domain - Pattern
    - -
    8.4.2. The Path - Pattern
    - -
    8.4.3. The Tag - Pattern
    -
    -
    - -
    8.5. Actions
    - -
    -
    -
    8.5.1. add-header
    - -
    8.5.2. block
    - -
    8.5.3. change-x-forwarded-for
    - -
    8.5.4. client-header-filter
    - -
    8.5.5. client-header-tagger
    - -
    8.5.6. content-type-overwrite
    - -
    8.5.7. crunch-client-header
    - -
    8.5.8. crunch-if-none-match
    - -
    8.5.9. crunch-incoming-cookies
    - -
    8.5.10. crunch-server-header
    - -
    8.5.11. crunch-outgoing-cookies
    - -
    8.5.12. deanimate-gifs
    - -
    8.5.13. downgrade-http-version
    - -
    8.5.14. fast-redirects
    - -
    8.5.15. filter
    - -
    8.5.16. force-text-mode
    - -
    8.5.17. forward-override
    - -
    8.5.18. handle-as-empty-document
    - -
    8.5.19. handle-as-image
    - -
    8.5.20. hide-accept-language
    - -
    8.5.21. hide-content-disposition
    - -
    8.5.22. hide-if-modified-since
    - -
    8.5.23. hide-from-header
    - -
    8.5.24. hide-referrer
    - -
    8.5.25. hide-user-agent
    - -
    8.5.26. limit-connect
    - -
    8.5.27. limit-cookie-lifetime
    - -
    8.5.28. prevent-compression
    - -
    8.5.29. overwrite-last-modified
    - -
    8.5.30. redirect
    - -
    8.5.31. server-header-filter
    - -
    8.5.32. server-header-tagger
    - -
    8.5.33. session-cookies-only
    - -
    8.5.34. set-image-blocker
    - -
    8.5.35. Summary
    -
    -
    - -
    8.6. Aliases
    - -
    8.7. Actions Files - Tutorial
    - -
    -
    -
    8.7.1. match-all.action
    - -
    8.7.2. default.action
    - -
    8.7.3. user.action
    -
    -
    -
    -
    - -
    9. Filter Files
    - -
    -
    -
    9.1. Filter File - Tutorial
    - -
    9.2. The - Pre-defined Filters
    -
    -
    - -
    10. Privoxy's Template Files
    - -
    11. Contacting the Developers, Bug - Reporting and Feature Requests
    - -
    -
    -
    11.1. Please - provide sufficient information
    - -
    11.2. Get - Support
    - -
    11.3. Reporting - Problems
    - -
    -
    -
    11.3.1. Reporting Ads - or Other Configuration Problems
    - -
    11.3.2. Reporting - Bugs
    -
    -
    - -
    11.4. Request New - Features
    - -
    11.5. Mailing - Lists
    -
    -
    - -
    12. Privoxy Copyright, License and - History
    - -
    -
    -
    12.1. License
    - -
    12.2. History
    - -
    12.3. Authors
    -
    -
    - -
    13. See Also
    - -
    14. Appendix
    - -
    -
    -
    14.1. Regular - Expressions
    - -
    14.2. Privoxy's Internal - Pages
    - -
    -
    -
    14.2.1. Bookmarklets
    -
    -
    - -
    14.3. Chain of Events
    - -
    14.4. Troubleshooting: - Anatomy of an Action
    -
    -
    -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/installation.html b/pkg content/usr/local/share/doc/privoxy/user-manual/installation.html deleted file mode 100644 index 021c2e9..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/installation.html +++ /dev/null @@ -1,520 +0,0 @@ - - - - - Installation - - - - - - - - - - - - -
    -

    2. - Installation

    - -

    Privoxy is available both in - convenient pre-compiled packages for a wide range of operating systems, - and as raw source code. For most users, we recommend using the packages, - which can be downloaded from our Privoxy Project - Page.

    - -

    Note: On some platforms, the installer may remove previously installed - versions, if found. (See below for your platform). In any case - be sure to backup your old - configuration if it is valuable to you. See the note to upgraders section below.

    - -
    -

    2.1. Binary Packages

    - -

    How to install the binary packages depends on your operating - system:

    - -
    -

    2.1.1. Debian and Ubuntu

    - -

    DEBs can be installed with apt-get install - privoxy, and will use /etc/privoxy for - the location of configuration files.

    -
    - -
    -

    2.1.2. Windows

    - -

    Just double-click the installer, which will guide you through the - installation process. You will find the configuration files in the - same directory as you installed Privoxy in.

    - -

    Version 3.0.5 beta introduced full Windows service functionality. On Windows only, - the Privoxy program has two new - command line arguments to install and uninstall Privoxy as a service.

    - -
    -
    -
    Arguments:
    - -
    -

    --install[:service_name]

    - -

    --uninstall[:service_name]

    -
    -
    -
    - -

    After invoking Privoxy with - --install, you will need to bring up the - Windows service console to assign - the user you want Privoxy to run - under, and whether or not you want it to run whenever the system - starts. You can start the Windows - services console with the following command: services.msc. If you do not take the manual step of - modifying Privoxy's service - settings, it will not start. Note too that you will need to give - Privoxy a user account that actually exists, or it will not be - permitted to write to its log and configuration files.

    -
    - -
    -

    2.1.3. OS/2

    - -

    First, make sure that no previous installations of Junkbuster and / or Privoxy are left on your system. Check that no - Junkbuster or Privoxy objects are in your startup folder.

    - -

    Then, just double-click the WarpIN self-installing archive, which - will guide you through the installation process. A shadow of the - Privoxy executable will be placed in - your startup folder so it will start automatically whenever OS/2 - starts.

    - -

    The directory you choose to install Privoxy into will contain all of the - configuration files.

    -
    - -
    -

    2.1.4. Mac OS X

    - -

    Installation instructions for the OS X platform depend upon - whether you downloaded a ready-built installation package (.pkg or - .mpkg) or have downloaded the source code.

    -
    - -
    -

    2.1.5. Installation from ready-built - package

    - -

    The downloaded file will either be a .pkg (for OS X 10.5 upwards) - or a bzipped .mpkg file (for OS X 10.4). The former can be - double-clicked as is and the installation will start; double-clicking - the latter will unzip the .mpkg file which can then be double-clicked - to commence the installation.

    - -

    The privoxy service will automatically start after a successful - installation (and thereafter every time your computer starts up) - however you will need to configure your web browser(s) to use it. To - do so, configure them to use a proxy for HTTP and HTTPS at the - address 127.0.0.1:8118.

    - -

    To prevent the privoxy service from automatically starting when - your computer starts up, remove or rename the file /Library/LaunchDaemons/org.ijbswa.privoxy.plist (on OS - X 10.5 and higher) or the folder named /Library/StartupItems/Privoxy (on OS X 10.4 - 'Tiger').

    - -

    To manually start or stop the privoxy service, use the scripts - startPrivoxy.sh and stopPrivoxy.sh supplied in /Applications/Privoxy. - They must be run from an administrator account, using sudo.

    - -

    To uninstall, run /Applications/Privoxy/uninstall.command as sudo - from an administrator account.

    -
    - -
    -

    2.1.6. Installation from source

    - -

    To build and install the Privoxy source code on OS X you will need - to obtain the macsetup module from the Privoxy Sourceforge CVS - repository (refer to Sourceforge help for details of how to set up a - CVS client to have read-only access to the repository). This module - contains scripts that leverage the usual open-source tools (available - as part of Apple's free of charge Xcode distribution or via the usual - open-source software package managers for OS X (MacPorts, Homebrew, - Fink etc.) to build and then install the privoxy binary and - associated files. The macsetup module's README file contains complete - instructions for its use.

    - -

    The privoxy service will automatically start after a successful - installation (and thereafter every time your computer starts up) - however you will need to configure your web browser(s) to use it. To - do so, configure them to use a proxy for HTTP and HTTPS at the - address 127.0.0.1:8118.

    - -

    To prevent the privoxy service from automatically starting when - your computer starts up, remove or rename the file /Library/LaunchDaemons/org.ijbswa.privoxy.plist (on OS - X 10.5 and higher) or the folder named /Library/StartupItems/Privoxy (on OS X 10.4 - 'Tiger').

    - -

    To manually start or stop the privoxy service, use the Privoxy - Utility for Mac OS X (also part of the macsetup module). This - application can start and stop the privoxy service and display its - log and configuration files.

    - -

    To uninstall, run the macsetup module's uninstall.sh as sudo from - an administrator account.

    -
    - -
    -

    2.1.7. FreeBSD

    - -

    Privoxy is part of FreeBSD's Ports Collection, you can build and - install it with cd /usr/ports/www/privoxy; make - install clean.

    -
    -
    - -
    -

    2.2. Building from Source

    - -

    The most convenient way to obtain the Privoxy sources is to download the source tarball - from our project download page.

    - -

    If you like to live on the bleeding edge and are not afraid of using - possibly unstable development versions, you can check out the - up-to-the-minute version directly from the CVS - repository.

    - -

    To build Privoxy from source, - autoconf, GNU make - (gmake), and, of course, a C compiler like gcc are - required.

    - -

    When building from a source tarball, first unpack the source:

    - - - - - -
    -
    - tar xzvf privoxy-3.0.21-stable-src.tar.gz
    - cd privoxy-3.0.21-stable
    -
    -
    - -

    For retrieving the current CVS sources, you'll need a CVS client - installed. Note that sources from CVS are typically development - quality, and may not be stable, or well tested. To download CVS source, - check the Sourceforge documentation, which might give commands - like:

    - - - - - -
    -
    -  cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
    -  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
    -  cd current
    -
    -
    - -

    This will create a directory named current/, which will contain the source tree.

    - -

    You can also check out any Privoxy - "branch", just exchange the current name with the wanted branch name (Example: - v_3_0_branch for the 3.0 cvs tree).

    - -

    It is also strongly recommended to not run Privoxy as root. You should configure/install/run - Privoxy as an unprivileged user, - preferably by creating a "privoxy" user and - group just for this purpose. See your local documentation for the - correct command line to do add new users and groups (something like - adduser, but the command syntax may vary from - platform to platform).

    - -

    /etc/passwd might then look like:

    - - - - - -
    -
    -  privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
    -
    -
    - -

    And then /etc/group, like:

    - - - - - -
    -
    -  privoxy:*:7777:
    -
    -
    - -

    Some binary packages may do this for you.

    - -

    Then, to build from either unpacked tarball or CVS source:

    - - - - - -
    -
    - autoheader
    - autoconf
    - ./configure      # (--help to see options)
    - make             # (the make from GNU, sometimes called gmake)
    - su               # Possibly required
    - make -n install  # (to see where all the files will go)
    - make -s install  # (to really install, -s to silence output)
    -
    -
    - -

    Using GNU make, you can have the first four - steps automatically done for you by just typing:

    - - - - - -
    -
    -  make
    -
    -
    - -

    in the freshly downloaded or unpacked source directory.

    - -

    To build an executable with security enhanced features so that users - cannot easily bypass the proxy (e.g. "Go There - Anyway"), or alter their own configurations, configure like this:

    - - - - - -
    -
    - ./configure  --disable-toggle  --disable-editor  --disable-force
    -
    -
    - -

    Then build as above. In Privoxy 3.0.7 and later, all of these - options can also be disabled through the configuration file.

    - -

    WARNING: If - installing as root, the install will fail unless a non-root user or - group is specified, or a privoxy user and - group already exist on the system. If a non-root user is specified, and - no group, then the installation will try to also use a group of the - same name as "user". If a group is specified - (and no user), then the support files will be installed as writable by - that group, and owned by the user running the installation.

    - -

    configure accepts --with-user and --with-group - options for setting user and group ownership of the configuration files - (which need to be writable by the daemon). The specified user must already exist. When - starting Privoxy, it must be run as - this same user to insure write access to configuration and log - files!

    - -

    Alternately, you can specify user and - group on the make - command line, but be sure both already exist:

    - - - - - -
    -
    - make -s install  USER=privoxy GROUP=privoxy
    -
    -
    - -

    The default installation path for make - install is /usr/local. This may of course - be customized with the various ./configure path - options. If you are doing an install to anywhere besides /usr/local, be sure to set the appropriate paths with - the correct configure options (./configure - --help). Non-privileged users must of course have write access - permissions to wherever the target installation is going.

    - -

    If you do install to /usr/local, the - install will use sysconfdir=$prefix/etc/privoxy by default. All other - destinations, and the direct usage of --sysconfdir flag behave like normal, i.e. will not add - the extra privoxy directory. This is for a - safer install, as there may already exist another program that uses a - file with the "config" name, and thus makes - /usr/local/etc cleaner.

    - -

    If installing to /usr/local, the - documentation will go by default to $prefix/share/doc. But if this directory doesn't exist, - it will then try $prefix/doc and install - there before creating a new $prefix/share/doc - just for Privoxy.

    - -

    Again, if the installs goes to /usr/local, - the localstatedir (ie: var/) will default to /var - instead of $prefix/var so the logs will go to - /var/log/privoxy/, and the pid file will be - created in /var/run/privoxy.pid.

    - -

    make install will attempt to set the correct - values in config (main configuration file). - You should check this to make sure all values are correct. If - appropriate, an init script will be installed, but it is up to the user - to determine how and where to start Privoxy. The init script should be checked for - correct paths and values, if anything other than a default install is - done.

    - -

    If install finds previous versions of local configuration files, - most of these will not be overwritten, and the new ones will be - installed with a "new" extension. - default.action and default.filter will be overwritten. You will then need to - manually update the other installed configuration files as needed. The - default template files will be overwritten. If you have customized, - local templates, these should be stored safely in a separate directory - and defined in config by the "templdir" directive. It is of course wise to always - back-up any important configuration files "just in - case". If a previous version of Privoxy is already running, you will have to - restart it manually.

    - -

    For more detailed instructions on how to build Redhat RPMs, Windows - self-extracting installers, building on platforms with special - requirements etc, please consult the developer manual.

    -
    - -
    -

    2.3. Keeping your Installation - Up-to-Date

    - -

    If you wish to receive an email notification whenever we release - updates of Privoxy or the actions - file, subscribe to our announce mailing list, - ijbswa-announce@lists.sourceforge.net.

    - -

    In order not to lose your personal changes and adjustments when - updating to the latest default.action file we - strongly - recommend that you use user.action - and user.filter for your local customizations - of Privoxy. See the Chapter on actions files for details.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/introduction.html b/pkg content/usr/local/share/doc/privoxy/user-manual/introduction.html deleted file mode 100644 index dcd6e5b..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/introduction.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - Introduction - - - - - - - - - - - - -
    -

    1. - Introduction

    - -

    This documentation is included with the current stable version of - Privoxy, 3.0.21.

    - -
    -

    1.1. - Features

    - -

    In addition to the core features of ad blocking and cookie - management, Privoxy provides many - supplemental features, that give the end-user more control, more - privacy and more freedom:

    - -
      -
    • -

      Supports "Connection: keep-alive". Outgoing connections can be - kept alive independently from the client.

      -
    • - -
    • -

      Supports IPv6, provided the operating system does so too, and - the configure script detects it.

      -
    • - -
    • -

      Supports tagging which allows to change the behaviour based on - client and server headers.

      -
    • - -
    • -

      Can be run as an "intercepting" proxy, which obviates the need - to configure browsers individually.

      -
    • - -
    • -

      Sophisticated actions and filters for manipulating both server - and client headers.

      -
    • - -
    • -

      Can be chained with other proxies.

      -
    • - -
    • -

      Integrated browser-based configuration and control utility at - http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based tracing - of rule and filter effects. Remote toggling.

      -
    • - -
    • -

      Web page filtering (text replacements, removes banners based on - size, invisible "web-bugs" and HTML - annoyances, etc.)

      -
    • - -
    • -

      Modularized configuration that allows for standard settings and - user settings to reside in separate files, so that installing - updated actions files won't overwrite individual user settings.

      -
    • - -
    • -

      Support for Perl Compatible Regular Expressions in the - configuration files, and a more sophisticated and flexible - configuration syntax.

      -
    • - -
    • -

      GIF de-animation.

      -
    • - -
    • -

      Bypass many click-tracking scripts (avoids script - redirection).

      -
    • - -
    • -

      User-customizable HTML templates for most proxy-generated pages - (e.g. "blocked" page).

      -
    • - -
    • -

      Auto-detection and re-reading of config file changes.

      -
    • - -
    • -

      Most features are controllable on a per-site or per-location - basis.

      -
    • - -
    • -

      Many smaller new features added, limitations and bugs - removed.

      -
    • -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/proxy2.jpg b/pkg content/usr/local/share/doc/privoxy/user-manual/proxy2.jpg deleted file mode 100644 index e6c50dc..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/user-manual/proxy2.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/proxy_setup.jpg b/pkg content/usr/local/share/doc/privoxy/user-manual/proxy_setup.jpg deleted file mode 100644 index 9e80f97..0000000 Binary files a/pkg content/usr/local/share/doc/privoxy/user-manual/proxy_setup.jpg and /dev/null differ diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/quickstart.html b/pkg content/usr/local/share/doc/privoxy/user-manual/quickstart.html deleted file mode 100644 index 880d3bd..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/quickstart.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - Quickstart to Using Privoxy - - - - - - - - - - - - -
    -

    4. Quickstart to - Using Privoxy

    - -
      -
    • -

      Install Privoxy. See the Installation Section below for platform - specific information.

      -
    • - -
    • -

      Advanced users and those who want to offer Privoxy service to more than just their local - machine should check the main config file, - especially the security-relevant options. These are - off by default.

      -
    • - -
    • -

      Start Privoxy, if the - installation program has not done this already (may vary according to - platform). See the section Starting - Privoxy.

      -
    • - -
    • -

      Set your browser to use Privoxy - as HTTP and HTTPS (SSL) proxy - by setting the proxy configuration for address of 127.0.0.1 and port 8118. - DO NOT activate - proxying for FTP or any protocols besides - HTTP and HTTPS (SSL) unless you intend to prevent your browser from - using these protocols.

      -
    • - -
    • -

      Flush your browser's disk and memory caches, to remove any cached - ad images. If using Privoxy to - manage cookies, you should remove any currently stored cookies - too.

      -
    • - -
    • -

      A default installation should provide a reasonable starting point - for most. There will undoubtedly be occasions where you will want to - adjust the configuration, but that can be dealt with as the need - arises. Little to no initial configuration is required in most cases, - you may want to enable the web-based action editor though. Be sure to read the - warnings first.

      - -

      See the Configuration section for - more configuration options, and how to customize your installation. - You might also want to look at the next section for a quick - introduction to how Privoxy blocks - ads and banners.

      -
    • - -
    • -

      If you experience ads that slip through, innocent images that are - blocked, or otherwise feel the need to fine-tune Privoxy's behavior, take a look at the actions files. As a quick start, you might - find the richly commented - examples helpful. You can also view and edit the actions files - through the web-based user interface. The Appendix "Troubleshooting: Anatomy - of an Action" has hints on how to understand and debug - actions that "misbehave".

      -
    • - -
    • -

      Please see the section Contacting the - Developers on how to report bugs, problems with websites or to - get help.

      -
    • - -
    • -

      Now enjoy surfing with enhanced control, comfort and privacy!

      -
    • -
    - -
    -

    4.1. Quickstart to Ad Blocking

    - -

    Ad blocking is but one of Privoxy's - array of features. Many of these features are for the technically - minded advanced user. But, ad and banner blocking is surely common - ground for everybody.

    - -

    This section will provide a quick summary of ad blocking so you can - get up to speed quickly without having to read the more extensive - information provided below, though this is highly recommended.

    - -

    First a bit of a warning ... blocking ads is much like blocking - SPAM: the more aggressive you are about it, the more likely you are to - block things that were not intended. And the more likely that some - things may not work as intended. So there is a trade off here. If you - want extreme ad free browsing, be prepared to deal with more - "problem" sites, and to spend more time - adjusting the configuration to solve these unintended consequences. In - short, there is not an easy way to eliminate all ads. Either take the easy - way and settle for most ads blocked with the default configuration, - or jump in and tweak it for your personal surfing habits and - preferences.

    - -

    Secondly, a brief explanation of Privoxy's "actions". - "Actions" in this context, are the - directives we use to tell Privoxy to - perform some task relating to HTTP transactions (i.e. web browsing). We - tell Privoxy to take some "action". Each action has a unique name and function. - While there are many potential actions - in Privoxy's arsenal, only a few are - used for ad blocking. Actions, - and action configuration files, are - explained in depth below.

    - -

    Actions are specified in Privoxy's - configuration, followed by one or more URLs to which the action should - apply. URLs can actually be URL type patterns that use wildcards so they - can apply potentially to a range of similar URLs. The actions, together - with the URL patterns are called a section.

    - -

    When you connect to a website, the full URL will either match one or - more of the sections as defined in Privoxy's configuration, or not. If so, then - Privoxy will perform the respective - actions. If not, then nothing special happens. Furthermore, web pages - may contain embedded, secondary URLs that your web browser will use to - load additional components of the page, as it parses the original - page's HTML content. An ad image for instance, is just an URL embedded - in the page somewhere. The image itself may be on the same server, or a - server somewhere else on the Internet. Complex web pages will have many - such embedded URLs. Privoxy can deal - with each URL individually, so, for instance, the main page text is not - touched, but images from such-and-such server are blocked.

    - -

    The most important actions for basic ad blocking are: block, handle-as-image, - handle-as-empty-document,and - set-image-blocker:

    - -
      -
    • -

      block - this is perhaps the - single most used action, and is particularly important for ad - blocking. This action stops any contact between your browser and - any URL patterns that match this action's configuration. It can be - used for blocking ads, but also anything that is determined to be - unwanted. By itself, it simply stops any communication with the - remote server and sends Privoxy's - own built-in BLOCKED page instead to let you now what has happened - (with some exceptions, see below).

      -
    • - -
    • -

      handle-as-image - - tells Privoxy to treat this URL as - an image. Privoxy's default - configuration already does this for all common image types (e.g. - GIF), but there are many situations where this is not so easy to - determine. So we'll force it in these cases. This is particularly - important for ad blocking, since only if we know that it's an image - of some kind, can we replace it with an image of our choosing, - instead of the Privoxy BLOCKED - page (which would only result in a "broken - image" icon). There are some limitations to this though. For - instance, you can't just brute-force an image substitution for an - entire HTML page in most situations.

      -
    • - -
    • -

      handle-as-empty-document - - sends an empty document instead of Privoxy's normal BLOCKED HTML page. This is - useful for file types that are neither HTML nor images, such as - blocking JavaScript files.

      -
    • - -
    • -

      set-image-blocker - - tells Privoxy what to display in - place of an ad image that has hit a block rule. For this to come - into play, the URL must match a block action somewhere in the - configuration, and, it must also match an handle-as-image - action.

      - -

      The configuration options on what to display instead of the ad - are:

      - - - - - - - -
         pattern - a checkerboard pattern, so - that an ad replacement is obvious. This is the default.
      - - - - - - - -
         blank - A very small empty GIF image is - displayed. This is the so-called "invisible" configuration option.
      - - - - - - - -
         http://<URL> - A redirect to any - image anywhere of the user's choosing (advanced usage).
      -
    • -
    - -

    Advanced users will eventually want to explore Privoxy filters as well. Filters are very - different from blocks. A "block" blocks a site, page, or unwanted contented. - Filters are a way of filtering or modifying what is actually on the - page. An example filter usage: a text replacement of "no-no" for "nasty-word". - That is a very simple example. This process can be used for ad - blocking, but it is more in the realm of advanced usage and has some - pitfalls to be wary off.

    - -

    The quickest way to adjust any of these settings is with your - browser through the special Privoxy - editor at http://config.privoxy.org/show-status (shortcut: http://p.p/show-status). This is an - internal page, and does not require Internet access.

    - -

    Note that as of Privoxy 3.0.7 beta - the action editor is disabled by default. Check the enable-edit-actions - section in the configuration file to learn why and in which cases - it's safe to enable again.

    - -

    If you decided to enable the action editor, select the appropriate - "actions" file, and click "Edit". It is best to put - personal or local preferences in user.action - since this is not meant to be overwritten during upgrades, and will - over-ride the settings in other files. Here you can insert new - "actions", and URLs for ad blocking or other - purposes, and make other adjustments to the configuration. Privoxy will detect these changes - automatically.

    - -

    A quick and simple step by step example:

    - -
      -
    • -

      Right click on the ad image to be blocked, then select - "Copy Link - Location" from the pop-up menu.

      -
    • - -
    • -

      Set your browser to http://config.privoxy.org/show-status

      -
    • - -
    • -

      Find user.action in the top section, - and click on "Edit":

      - -
      - - -

      Figure 1. Actions Files in Use

      - -
      -

      -
      -
      -
    • - -
    • -

      You should have a section with only block listed under "Actions:". If not, click a "Insert new section - below" button, and in the new section that just - appeared, click the Edit button - right under the word "Actions:". This - will bring up a list of all actions. Find block near the - top, and click in the "Enabled" column, - then "Submit" just below the list.

      -
    • - -
    • -

      Now, in the block actions section, click the - "Add" - button, and paste the URL the browser got from "Copy Link - Location". Remove the http:// at the beginning of the URL. Then, click - "Submit" - (or "OK" - if in a pop-up window).

      -
    • - -
    • -

      Now go back to the original page, and press SHIFT-Reload (or flush all browser caches). The image - should be gone now.

      -
    • -
    - -

    This is a very crude and simple example. There might be good reasons - to use a wildcard pattern match to include potentially similar images - from the same site. For a more extensive explanation of "patterns", and the entire actions concept, see the Actions section.

    - -

    For advanced users who want to hand edit their config files, you - might want to now go to the Actions Files Tutorial. The ideas - explained therein also apply to the web-based editor.

    - -

    There are also various filters that can be used for ad blocking - (filters are a special subset of actions). These fall into the - "advanced" usage category, and are explained - in depth in later sections.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/seealso.html b/pkg content/usr/local/share/doc/privoxy/user-manual/seealso.html deleted file mode 100644 index 2621350..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/seealso.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - See Also - - - - - - - - - - - - -
    -

    13. See Also

    - -

    Other references and sites of interest to Privoxy users:

    - - - - - - - -
    http://www.privoxy.org/, the Privoxy Home page.
    - - - - - - - -
    http://www.privoxy.org/faq/, the Privoxy FAQ.
    - - - - - - - -
    http://www.privoxy.org/developer-manual/, the - Privoxy developer manual.
    - - - - - - - -
    https://sourceforge.net/projects/ijbswa/, the Project - Page for Privoxy on SourceForge.
    - - - - - - - -
    http://config.privoxy.org/, the web-based user - interface. Privoxy must be running - for this to work. Shortcut: http://p.p/
    - - - - - - - -
    https://sourceforge.net/tracker/?group_id=11118&atid=460288, - to submit "misses" and other - configuration related suggestions to the developers.
    - - - - - - - -
    http://www.squid-cache.org/, a popular caching proxy, - which is often used together with Privoxy.
    - - - - - - - -
    http://www.pps.jussieu.fr/~jch/software/polipo/, - Polipo is a caching proxy with - advanced features like pipelining, multiplexing and caching of - partial instances. In many setups it can be used as Squid replacement.
    - - - - - - - -
    https://www.torproject.org/, Tor can help anonymize web browsing, web - publishing, instant messaging, IRC, SSH, and other - applications.
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/startup.html b/pkg content/usr/local/share/doc/privoxy/user-manual/startup.html deleted file mode 100644 index c086840..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/startup.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - Starting Privoxy - - - - - - - - - - - - -
    -

    5. Starting - Privoxy

    - -

    Before launching Privoxy for the - first time, you will want to configure your browser(s) to use - Privoxy as a HTTP and HTTPS (SSL) - proxy. The default is 127.0.0.1 (or localhost) for the proxy - address, and port 8118 (earlier versions used port 8000). This is the one - configuration step that must - be done!

    - -

    Please note that Privoxy can only - proxy HTTP and HTTPS traffic. It will not work with FTP or other - protocols.

    - -
    - - -

    Figure 2. Proxy Configuration Showing Mozilla/Netscape HTTP and - HTTPS (SSL) Settings

    - -
    -

    -
    -
    - -

    With Firefox, this is typically set - under:

    - -

     Tools -> Options ->  Advanced -> Network ->Connection -> Settings

    - -

    Or optionally on some platforms:

    - -

     Edit -> Preferences -> General -> Connection Settings -> Manual Proxy Configuration

    - -

    With Netscape (and Mozilla), this can be set under:

    - -

     Edit -> Preferences -> Advanced -> Proxies -> HTTP - Proxy

    - -

    For Internet Explorer v.5-7:

    - -

     Tools -> Internet - Options -> Connections -> LAN Settings

    - -

    Then, check "Use Proxy" and fill in the - appropriate info (Address: 127.0.0.1, Port: 8118). Include HTTPS (SSL), - if you want HTTPS proxy support too (sometimes labeled "Secure"). Make sure any checkboxes like "Use the same proxy server for all protocols" is - UNCHECKED. You want - only HTTP and HTTPS (SSL)!

    - -
    - - -

    Figure 3. Proxy Configuration Showing Internet Explorer HTTP and - HTTPS (Secure) Settings

    - -
    -

    -
    -
    - -

    After doing this, flush your browser's disk and memory caches to force - a re-reading of all pages and to get rid of any ads that may be cached. - Remove any cookies, if you want Privoxy - to manage that. You are now ready to start enjoying the benefits of using - Privoxy!

    - -

    Privoxy itself is typically started - by specifying the main configuration file to be used on the command line. - If no configuration file is specified on the command line, Privoxy will look for a file named config in the current directory. Except on Win32 where it - will try config.txt.

    - -
    -

    5.1. - Debian

    - -

    We use a script. Note that Debian typically starts Privoxy upon booting per default. It will use the - file /etc/privoxy/config as its main - configuration file.

    - - - - - -
    -
    - # /etc/init.d/privoxy start
    -
    -
    -
    - -
    -

    5.2. - Windows

    - -

    Click on the Privoxy Icon to start - Privoxy. If no configuration file is - specified on the command line, Privoxy - will look for a file named config.txt. Note - that Windows will automatically start Privoxy when the system starts if you chose that - option when installing.

    - -

    Privoxy can run with full Windows - service functionality. On Windows only, the Privoxy program has two new command line arguments - to install and uninstall Privoxy as a - service. See the Windows Installation - instructions for details.

    -
    - -
    -

    5.3. - Solaris, NetBSD, FreeBSD, HP-UX and others

    - -

    Example Unix startup command:

    - - - - - -
    -
    - # /usr/sbin/privoxy /etc/privoxy/config
    -
    -
    -
    - -
    -

    5.4. OS/2

    - -

    During installation, Privoxy is - configured to start automatically when the system restarts. You can - start it manually by double-clicking on the Privoxy icon in the Privoxy folder.

    -
    - -
    -

    5.5. Mac OS - X

    - -

    After downloading the privoxy software, unzip the downloaded file by - double-clicking on the zip file icon. Then, double-click on the - installer package icon and follow the installation process.

    - -

    The privoxy service will automatically start after a successful - installation. In addition, the privoxy service will automatically start - every time your computer starts up.

    - -

    To prevent the privoxy service from automatically starting when your - computer starts up, remove or rename the folder named - /Library/StartupItems/Privoxy.

    - -

    A simple application named Privoxy Utility has been created which - enables administrators to easily start and stop the privoxy - service.

    - -

    In addition, the Privoxy Utility presents a simple way for - administrators to edit the various privoxy config files. A method to - uninstall the software is also available.

    - -

    An administrator username and password must be supplied in order for - the Privoxy Utility to perform any of the tasks.

    -
    - -
    -

    5.6. Command - Line Options

    - -

    Privoxy may be invoked with the - following command-line options:

    - -
      -
    • -

      --config-test

      - -

      Exit after loading the configuration files before binding to the - listen address. The exit code signals whether or not the - configuration files have been successfully loaded.

      - -

      If the exit code is 1, at least one of the configuration files - is invalid, if it is 0, all the configuration files have been - successfully loaded (but may still contain errors that can - currently only be detected at run time).

      - -

      This option doesn't affect the log setting, combination with - --no-daemon - is recommended if a configured log file shouldn't be used.

      -
    • - -
    • -

      --version

      - -

      Print version info and exit. Unix only.

      -
    • - -
    • -

      --help

      - -

      Print short usage info and exit. Unix only.

      -
    • - -
    • -

      --no-daemon

      - -

      Don't become a daemon, i.e. don't fork and become process group - leader, and don't detach from controlling tty. Unix only.

      -
    • - -
    • -

      --pidfile - FILE

      - -

      On startup, write the process ID to FILE. Delete the - FILE on exit. - Failure to create or delete the FILE is non-fatal. If no FILE option is given, no - PID file will be used. Unix only.

      -
    • - -
    • -

      --user - USER[.GROUP]

      - -

      After (optionally) writing the PID file, assume the user ID of - USER, and if - included the GID of GROUP. Exit if the privileges are not - sufficient to do so. Unix only.

      -
    • - -
    • -

      --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. Unix only.

      -
    • - -
    • -

      --pre-chroot-nslookup - hostname

      - -

      Specifies a hostname to look up before doing a chroot. On some - systems, initializing the resolver library involves reading config - files from /etc and/or loading additional shared libraries from - /lib. On these systems, doing a hostname lookup before the chroot - reduces the number of files that must be copied into the chroot - tree.

      - -

      For fastest startup speed, a good value is a hostname that is - not in /etc/hosts but that your local name server (listed in - /etc/resolv.conf) can resolve without recursion (that is, without - having to ask any other name servers). The hostname need not exist, - but if it doesn't, an error message (which can be ignored) will be - output.

      -
    • - -
    • -

      configfile

      - -

      If no configfile is included on the command line, - Privoxy will look for a file named - "config" in the current directory - (except on Win32 where it will look for "config.txt" instead). Specify full path to avoid - confusion. If no config file is found, Privoxy will fail to start.

      -
    • -
    - -

    On MS Windows only there are two - additional command-line options to allow Privoxy to install and run as a service. See the Window Installation - section for details.

    -
    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/templates.html b/pkg content/usr/local/share/doc/privoxy/user-manual/templates.html deleted file mode 100644 index 40e3065..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/templates.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - Privoxy's Template Files - - - - - - - - - - - - -
    -

    10. Privoxy's - Template Files

    - -

    All Privoxy built-in pages, i.e. - error pages such as the "404 - No Such Domain" error page, - the "BLOCKED" page and all pages - of its web-based user - interface, are generated from templates. (Privoxy must be running for the above links to work - as intended.)

    - -

    These templates are stored in a subdirectory of the configuration directory called templates. On Unixish platforms, this is typically - /etc/privoxy/templates/.

    - -

    The templates are basically normal HTML files, but with place-holders - (called symbols or exports), which Privoxy fills at run time. It is possible to edit - the templates with a normal text editor, should you want to customize - them. (Not recommended for the - casual user). Should you create your own custom templates, you - should use the config setting templdir to specify an alternate location, so - your templates do not get overwritten during upgrades.

    - -

    Note that just like in configuration files, lines starting with - # are ignored when the templates are filled - in.

    - -

    The place-holders are of the form @name@, and - you will find a list of available symbols, which vary from template to - template, in the comments at the start of each file. Note that these - comments are not always accurate, and that it's probably best to look at - the existing HTML code to find out which symbols are supported and what - they are filled in with.

    - -

    A special application of this substitution mechanism is to make whole - blocks of HTML code disappear when a specific symbol is set. We use this - for many purposes, one of them being to include the beta warning in all - our user interface (CGI) pages when Privoxy is in an alpha or beta development - stage:

    - - - - - -
    -
    -<!-- @if-unstable-start -->
    -
    -  ... beta warning HTML code goes here ...
    -
    -<!-- if-unstable-end@ -->
    -
    -
    - -

    If the "unstable" symbol is set, everything in between and including - @if-unstable-start and if-unstable-end@ will disappear, leaving nothing but an - empty comment:

    - - - - - -
    -
    -<!--  -->
    -
    -
    - -

    There's also an if-then-else construct and an #include mechanism, but you'll sure find out if you are - inclined to edit the templates ;-)

    - -

    All templates refer to a style located at http://config.privoxy.org/send-stylesheet. This is, of - course, locally served by Privoxy and - the source for it can be found and edited in the cgi-style.css template.

    -
    - - - - diff --git a/pkg content/usr/local/share/doc/privoxy/user-manual/whatsnew.html b/pkg content/usr/local/share/doc/privoxy/user-manual/whatsnew.html deleted file mode 100644 index 9d566df..0000000 --- a/pkg content/usr/local/share/doc/privoxy/user-manual/whatsnew.html +++ /dev/null @@ -1,1102 +0,0 @@ - - - - - What's New in this Release - - - - - - - - - - - - -
    -

    3. What's New in this - Release

    - -

    Privoxy 3.0.21 stable is a bug-fix - release for Privoxy 3.0.20 beta. It also addresses two security issues - that affect all previous Privoxy versions. The changes since 3.0.20 beta - are:

    - -
      -
    • -

      Bug fixes:

      - -
        -
      • -

        On POSIX-like platforms, network sockets with file descriptor - values above FD_SETSIZE are properly rejected. Previously they - could cause memory corruption in configurations that allowed the - limit to be reached.

        -
      • - -
      • -

        Proxy authentication headers are removed unless the new - directive enable-proxy-authentication-forwarding is used. - Forwarding the headers potentionally allows malicious sites to - trick the user into providing them with login information. Reported - by Chris John Riley.

        -
      • - -
      • -

        Compiles on OS/2 again now that unistd.h is only included on - platforms that have it.

        -
      • -
      -
    • - -
    • -

      General improvements:

      - -
        -
      • -

        The show-status page shows the FEATURE_STRPTIME_SANITY_CHECKS - status.

        -
      • - -
      • -

        A couple of assert()s that could theoretically dereference - NULL pointers in debug builds have been relocated.

        -
      • - -
      • -

        Added an LSB info block to the generic start script. Based on - a patch from Natxo Asenjo.

        -
      • - -
      • -

        The max-client-connections default has been changed to 128 - which should be more than enough for most setups.

        -
      • -
      -
    • - -
    • -

      Action file improvements:

      - -
        -
      • -

        Block rover.ebay./ar.*\&adtype= instead of - "/.*\&adtype=" which caused too man false positives. Reported - by u302320 in #360284, additional feedback from Adam Piggott.

        -
      • - -
      • -

        Unblock '.advrider.com/' and '/.*ADVrider'. Anonymously - reported in #3603636.

        -
      • - -
      • -

        Stop blocking '/js/slider\.js'. Reported by Adam Piggott in - #3606635 and _lvm in #2791160.

        -
      • -
      -
    • - -
    • -

      Filter file improvements:

      - -
        -
      • -

        Added an iframes filter.

        -
      • -
      -
    • - -
    • -

      Documentation improvements:

      - -
        -
      • -

        The whole GPLv2 text is included in the user manual now, so - Privoxy can serve it itself and the user can read it without - having to wade through GPLv3 ads first.

        -
      • - -
      • -

        Properly numbered and underlined a couple of section titles in - the config that where previously overlooked due to a flaw in the - conversion script. Reported by Ralf Jungblut.

        -
      • - -
      • -

        Improved the support instruction to hopefully make it harder - to unintentionally provide insufficient information when - requesting support. Previously it wasn't obvious that the - information we need in bug reports is usually also required in - support requests.

        -
      • - -
      • -

        Removed documentation about packages that haven't been - provided in years.

        -
      • -
      -
    • - -
    • -

      Privoxy-Regression-Test:

      - -
        -
      • -

        Only log the test number when not running in verbose mode The - position of the test is rarely relevant and it previously wasn't - exactly obvious which one of the numbers was useful to repeat the - test with --test-number.

        -
      • -
      -
    • - -
    • -

      GNUmakefile improvements:

      - -
        -
      • -

        Factor generate-config-file out of config-file to make testing - more convenient.

        -
      • - -
      • -

        The clean target now also takes care of patch leftovers.

        -
      • -
      -
    • -
    - -

    Privoxy 3.0.20 beta contained the - following changes compared to the previous stable release:

    - -
      -
    • -

      Bug fixes:

      - -
        -
      • -

        Client sockets are now properly shutdown and drained before - being closed. This fixes page truncation issues with clients that - aggressively pipeline data on platforms that otherwise discard - already written data. The issue mainly affected Opera users and - was initially reported by Kevin in #3464439, szotsaki provided - additional information to track down the cause.

        -
      • - -
      • -

        Fix latency calculation for shared connections (disabled by - default). It was broken since their introduction in 2009. The - calculated latency for most connections would be 0 in which case - the timeout detection failed to account for the real latency.

        -
      • - -
      • -

        Reject URLs with invalid port. Previously they were parsed - incorrectly and characters between the port number and the first - slash were silently dropped as shown by curl test 187.

        -
      • - -
      • -

        The default-server-timeout and socket-timeout directives - accept 0 as valid value.

        -
      • - -
      • -

        Fix a race condition on Windows that could cause Privoxy to - become unresponsive after toggling it on or off through the - taskbar icon. Reported by Tim H. in #3525694.

        -
      • - -
      • -

        Fix the compilation on Windows when configured without IPv6 - support.

        -
      • - -
      • -

        Fix an assertion that could cause debug builds to abort() in - case of socks5 connection failures with "debug 2" enabled.

        -
      • - -
      • -

        Fix an assertion that could cause debug builds to abort() if a - filter contained nul bytes in the replacement text.

        -
      • -
      -
    • - -
    • -

      General improvements:

      - -
        -
      • -

        Significantly improved keep-alive support for both client and - server connections.

        -
      • - -
      • -

        New debug log level 65536 which logs all actions that were - applied to the request.

        -
      • - -
      • -

        New directive client-header-order to forward client headers in - a different order than the one in which they arrived.

        -
      • - -
      • -

        New directive tolerate-pipelining to allow client-side - pipelining. If enabled (3.0.20 beta enables it by default), - Privoxy will keep pipelined client requests around to deal with - them once the current request has been served.

        -
      • - -
      • -

        New --config-test option to let Privoxy exit after checking - whether or not the configuration seems valid. The limitations - noted in TODO #22 and #23 still apply. Based on a patch by - Ramkumar Chinchani.

        -
      • - -
      • -

        New limit-cookie-lifetime{} action to let cookies expire - before the end of the session. Suggested by Rick Sykes in - #1049575.

        -
      • - -
      • -

        Increase the hard-coded maximum number of actions and filter - files from 10 to 30 (each). It doesn't significantly affect - Privoxy's memory usage and recompiling wasn't an option for all - Privoxy users that reached the limit.

        -
      • - -
      • -

        Add support for chunk-encoded client request bodies. - Previously chunk-encoded request bodies weren't guaranteed to be - forwarded correctly, so this can also be considered a bug fix - although chunk-encoded request bodies aren't commonly used in the - real world.

        -
      • - -
      • -

        Add support for Tor's optimistic-data SOCKS extension, which - can reduce the latency for requests on newly created connections. - Currently only the headers are sent optimistically and only if - the client request has already been read completely which rules - out requests with large bodies.

        -
      • - -
      • -

        After preventing the client from pipelining, don't signal - keep-alive intentions. When looking at the response headers - alone, it previously wasn't obvious from the client's perspective - that no additional responses should be expected.

        -
      • - -
      • -

        Stop considering client sockets tainted after receiving a - request with body. It hasn't been necessary for a while now and - unnecessarily causes test failures when using curl's test - suite.

        -
      • - -
      • -

        Allow HTTP/1.0 clients to signal interest in keep-alive - through the Proxy-Connection header. While such client are rare - in the real world, it doesn't hurt and couple of curl tests rely - on it.

        -
      • - -
      • -

        Only remove duplicated Content-Type headers when filters are - enabled. If they are not it doesn't cause ill effects and the - user might not want it. Downgrade the removal message to - LOG_LEVEL_HEADER to clarify that it's not an error in Privoxy and - is unlikely to cause any problems in general. Anonymously - reported in #3599335.

        -
      • - -
      • -

        Set the socket option SO_LINGER for the client socket.

        -
      • - -
      • -

        Move several variable declarations to the beginning of their - code block. It's required when compiling with gcc 2.95 which is - still used on some platforms. Initial patch submitted by Simon - South in #3564815.

        -
      • - -
      • -

        Optionally try to sanity-check strptime() results before - trusting them. Broken strptime() implementations have caused - problems in the past and the most recent offender seems to be - FreeBSD's libc (standards/173421).

        -
      • - -
      • -

        When filtering is enabled, let Range headers pass if the range - starts at the beginning. This should work around (or at least - reduce) the video playback issues with various Apple clients as - reported by Duc in #3426305.

        -
      • - -
      • -

        Do not confuse a client hanging up with a connection time out. - If a client closes its side of the connection without sending a - request line, do not send the CLIENT_CONNECTION_TIMEOUT_RESPONSE, - but report the condition properly.

        -
      • - -
      • -

        Allow closing curly braces as part of action values as long as - they are escaped.

        -
      • - -
      • -

        On Windows, the logfile is now written before showing the GUI - error message which blocks until the user acknowledges it. - Reported by Adriaan in #3593603.

        -
      • - -
      • -

        Remove an unreasonable parameter limit in the CGI interface. - The new parameter limit depends on the memory available and is - currently unlikely to be reachable, due to other limits in both - Privoxy and common clients. Reported by Andrew on - ijbswa-users@.

        -
      • - -
      • -

        Decrease the chances of parse failures after requests with - unsupported methods were sent to the CGI interface.

        -
      • -
      -
    • - -
    • -

      Action file improvements:

      - -
        -
      • -

        Remove the comment that indicated that updated default.action - versions are released on their own.

        -
      • - -
      • -

        Block 'optimize.indieclick.com/' and - 'optimized-by.rubiconproject.com/'

        -
      • - -
      • -

        Unblock 'adjamblog.wordpress.com/' and - 'adjamblog.files.wordpress.com/'. Reported by Ryan Farmer in - #3496116.

        -
      • - -
      • -

        Unblock '/.*Bugtracker'. Reported by pwhk in #3522341.

        -
      • - -
      • -

        Add test URLs for '.freebsd.org' and '.watson.org'.

        -
      • - -
      • -

        Unblock '.urbandictionary.com/popular'.

        -
      • - -
      • -

        Block '.adnxs.com/'.

        -
      • - -
      • -

        Block 'farm.plista.com/widgetdata.php'.

        -
      • - -
      • -

        Block 'rotation.linuxnewmedia.com/'.

        -
      • - -
      • -

        Block 'reklamy.sfd.pl/'. Reported by kacperdominik in - #3399948.

        -
      • - -
      • -

        Block 'g.adspeed.net/'.

        -
      • - -
      • -

        Unblock 'websupport.wdc.com/'. Reported by Adam Piggot in - #3577851.

        -
      • - -
      • -

        Block '/openx/www/delivery/'.

        -
      • - -
      • -

        Disable fast-redirects for '.googleapis.com/'.

        -
      • - -
      • -

        Block 'imp.double.net/'. Reported by David Bo in #3070411.

        -
      • - -
      • -

        Block 'gm-link.com/' which is used for email tracking. - Reported by David Bo in #1812733.

        -
      • - -
      • -

        Verify that requests to "bwp." are blocked. URL taken from - #1736879 submitted by Francois Marier.

        -
      • - -
      • -

        Block '/.*bannerid='. Reported by Adam Piggott in - #2975779.

        -
      • - -
      • -

        Block 'cltomedia.info/delivery/' and '.adexprt.com/'. - Anonymously reported in #2965254.

        -
      • - -
      • -

        Block 'de17a.com/'. Reported by David Bo in #3061472.

        -
      • - -
      • -

        Block 'oskar.tradera.com/'. Reported by David Bo in - #3060596.

        -
      • - -
      • -

        Block '/scripts/webtrends\.js'. Reported by johnd16 in - #3002729.

        -
      • - -
      • -

        Block requests for 'pool.*.adhese.com/'. Reported by johnd16 - in #3002716.

        -
      • - -
      • -

        Update path pattern for Coremetrics and add tests. Pattern and - URLs submitted by Adam Piggott #3168443.

        -
      • - -
      • -

        Enable +fast-redirects{check-decoded-url} for 'tr.anp.se/'. - Reported by David Bo in #3268832.

        -
      • - -
      • -

        Unblock '.conrad.se/newsletter/banners/'. Reported by David Bo - in #3413824.

        -
      • - -
      • -

        Block '.tynt.com/'. Reported by Dan Stahlke in #3421767.

        -
      • - -
      • -

        Unblock '.bbci.co.uk/radio/'. Reported by Adam Piggott in - #3569603.

        -
      • - -
      • -

        Block requests to 'service.maxymiser.net/'. Reported by - johnd16 in #3118401 (with a previous URL).

        -
      • - -
      • -

        Disable fast-redirects for Google's "let's pretend your - computer is infected" page.

        -
      • - -
      • -

        Unblock '/.*download' to resolve actionsfile feedback - #3498129. Submitted by Steven Kolins (soundcloud.com not - working).

        -
      • - -
      • -

        Unblock '.wlxrs.com/' which is required by hotmail.com. Fixes - #3413827 submitted by David Bo.

        -
      • - -
      • -

        Add two unblock patterns for popup radio and TV players. - Submitted by Adam Piggott in #3596089.

        -
      • -
      -
    • - -
    • -

      Filter file improvements & bug fixes:

      - -
        -
      • -

        Add a referer tagger.

        -
      • - -
      • -

        Reduce the likelihood that the google filter messes up - HTML-generating JavaScript. Reported by Zeno Kugy in - #3520260.

        -
      • -
      -
    • - -
    • -

      Documentation improvements:

      - -
        -
      • -

        Revised all OS X sections due to new packaging module - (OSXPackageBuilder).

        -
      • - -
      • -

        Update the list of supported operating systems to clarify that - all Windows versions after 95 are expected to work and note that - the platform-specific code for AmigaOS and QNX currently isn't - maintained.

        -
      • - -
      • -

        Update 'Signals' section, the only explicitly handled signals - are SIGINT, SIGTERM and SIGHUP.

        -
      • - -
      • -

        Add Haiku to the list of operating systems on which Privoxy is - known to run.

        -
      • - -
      • -

        Add DragonFly to the list of BSDs on which Privoxy is known to - run.

        -
      • - -
      • -

        Removed references to redhat-specific documentation set since - it no longer exists.

        -
      • - -
      • -

        Removed references to building PDFs since we no longer do - so.

        -
      • - -
      • -

        Multiple listen-address directives are supported since 3.0.18, - correct the documentation to say so.

        -
      • - -
      • -

        Remove bogus section about long and short being preferable to - int.

        -
      • - -
      • -

        Corrected some Internet JunkBuster references to Privoxy.

        -
      • - -
      • -

        Removed references to www.junkbusters.com since it is no - longer maintained. Reported by Angelina Matson.

        -
      • - -
      • -

        Various grammar and spelling corrections

        -
      • - -
      • -

        Add a client-header-tagger{} example for disabling filtering - for range requests.

        -
      • - -
      • -

        Correct a URL in the "Privoxy with Tor" FAQ.

        -
      • - -
      • -

        Spell 'refresh-tags' correctly. Reported by Don in - #3571927.

        -
      • - -
      • -

        Sort manpage options alphabetically.

        -
      • - -
      • -

        Remove an incorrect sentence in the toggle section. The toggle - state doesn't affect whether or not the Windows version uses the - tray icon. Reported by Zeno Kugy in #3596395.

        -
      • - -
      • -

        Add new contributors since 3.0.19.

        -
      • -
      -
    • - -
    • -

      Log message improvements:

      - -
        -
      • -

        When stopping to watch a client socket due to pipelining, - additionally log the socket number.

        -
      • - -
      • -

        Log the client socket and its condition before closing it. - This makes it more obvious that the socket actually gets closed - and should help when diagnosing problems like #3464439.

        -
      • - -
      • -

        In case of SOCKS5 failures, do not explicitly log the server's - response. It hasn't helped so far and the response can already be - logged by enabling "debug 32768" anyway. This reverts v1.81 and - the follow-up bug fix v1.84.

        -
      • - -
      • -

        Relocate the connection-accepted message from listen_loop() to - serve(). This way it's printed by the thread that is actually - serving the connection which is nice when grepping for thread ids - in log files.

        -
      • -
      -
    • - -
    • -

      Code cleanups:

      - -
        -
      • -

        Remove compatibility layer for versions prior to 3.0 since it - has been obsolete for more than 10 years now.

        -
      • - -
      • -

        Remove the ijb_isupper() and ijb_tolower() macros from - parsers.c since they aren't used in this file.

        -
      • - -
      • -

        Removed the 'Functions declared include:' comment sections - since they tend to be incomplete, incorrect and out of date and - the benefit seems questionable.

        -
      • - -
      • -

        Various comment grammar and comprehensibility - improvements.

        -
      • - -
      • -

        Remove a pointless fflush() call in chat(). Flushing all - streams pretty much all the time for no obvious reason is - ridiculous.

        -
      • - -
      • -

        Relocate ijb_isupper()'s definition to project.h and get the - ijb_tolower() definition from there, too.

        -
      • - -
      • -

        Relocate ijb_isdigit()'s definition to project.h.

        -
      • - -
      • -

        Rename ijb_foo macros to privoxy_foo.

        -
      • - -
      • -

        Add malloc_or_die() which will allow to simplify code paths - where malloc() failures don't need to be handled gracefully.

        -
      • - -
      • -

        Add strdup_or_die() which will allow to simplify code paths - where strdup() failures don't need to be handled gracefully.

        -
      • - -
      • -

        Replace strdup() calls with strdup_or_die() calls where it's - safe and simplifies the code.

        -
      • - -
      • -

        Fix white-space around parentheses.

        -
      • - -
      • -

        Add missing white-space behind if's and the following - parentheses.

        -
      • - -
      • -

        Unwrap a memcpy() call in resolve_hostname_to_ip().

        -
      • - -
      • -

        Declare pcrs_get_delimiter()'s delimiters[] static const.

        -
      • - -
      • -

        Various optimisations to remove dead code and merge - inefficient code structures for improved clarity, performance or - code compactness.

        -
      • - -
      • -

        Various data type corrections.

        -
      • - -
      • -

        Change visibility of several code segments when compiling - without FEATURE_CONNECTION_KEEP_ALIVE enabled for clarity.

        -
      • - -
      • -

        In pcrs_get_delimiter(), do not use delimiters outside the - ASCII range. Fixes a clang complaint.

        -
      • - -
      • -

        Fix an error message in get_last_url() nobody is supposed to - see. Reported by Matthew Fischer in #3507301.

        -
      • - -
      • -

        Fix a typo in the no-zlib-support complaint. Patch submitted - by Matthew Fischer in #3507304.

        -
      • - -
      • -

        Shorten ssplit()'s prototype by removing the last two - arguments. We always want to skip empty fields and ignore leading - delimiters, so having parameters for this only complicates the - API.

        -
      • - -
      • -

        Use an enum for the type of the action value.

        -
      • - -
      • -

        Rename action_name's member takes_value to value_type as it - isn't used as boolean.

        -
      • - -
      • -

        Turn family mismatches in match_sockaddr() into fatal - errors.

        -
      • - -
      • -

        Let enlist_unique_header() verify that the caller didn't pass - a header containing either \r or \n.

        -
      • - -
      • -

        Change the hashes used in load_config() to unsigned int. - That's what hash_string() actually returns and using a - potentially larger type is at best useless.

        -
      • - -
      • -

        Use privoxy_tolower() instead of vanilla tolower() with manual - casting of the argument.

        -
      • - -
      • -

        Catch ssplit() failures in parse_cgi_parameters().

        -
      • -
      -
    • - -
    • -

      Privoxy-Regression-Test:

      - -
        -
      • -

        Add an 'Overwrite condition' directive to skip any matching - tests before it. As it has a global scope, using it is more - convenient than clowning around with the Ignore directive.

        -
      • - -
      • -

        Log to STDOUT instead of STDERR.

        -
      • - -
      • -

        Include the Privoxy version in the output.

        -
      • - -
      • -

        Various grammar and spelling corrections in documentation and - code.

        -
      • - -
      • -

        Additional tests for range requests with filtering - enabled.

        -
      • - -
      • -

        Tests with mostly invalid range request.

        -
      • - -
      • -

        Add a couple of hide-if-modified-since{} tests with different - date formats.

        -
      • - -
      • -

        Cleaned up the format of the regression-tests.action file to - match the format of default.action.

        -
      • - -
      • -

        Remove the "Copyright" line from print_version(). When using - --help, every line of screen space matters and thus shouldn't be - wasted on things the user doesn't care about.

        -
      • -
      -
    • - -
    • -

      Privoxy-Log-Parser:

      - -
        -
      • -

        Improve the --statistics performance by skipping sanity checks - for input that shouldn't affect the results anyway. Add a - --strict-checks option that enables some of the checks again, - just in case anybody cares.

        -
      • - -
      • -

        The distribution of client requests per connection is included - in the --statistic output.

        -
      • - -
      • -

        The --accept-unknown-messages option has been removed and the - behavior is now the default.

        -
      • - -
      • -

        Accept and (mostly) highlight new log messages introduced with - Privoxy 3.0.20.

        -
      • -
      -
    • - -
    • -

      uagen:

      - -
        -
      • -

        Bump generated Firefox version to 17.

        -
      • -
      -
    • - -
    • -

      GNUmakefile improvements:

      - -
        -
      • -

        The dok-tidy target no longer taints documents with a - tidy-mark

        -
      • - -
      • -

        Change RA_MODE from 0664 to 0644. Suggested by Markus Dittrich - in #3505445.

        -
      • - -
      • -

        Remove tidy's clean flag as it changes the scope of - attributes. Link-specific colors end up being applied to all - text. Reported by Adam Piggott in #3569551.

        -
      • - -
      • -

        Leave it up to the user whether or not smart tags are - inserted.

        -
      • - -
      • -

        Let w3m itself do the line wrapping for the config file. It - works better than fmt as it can honour pre tags causing less - unintentional line breaks.

        -
      • - -
      • -

        Ditch a pointless '-r' passed to rm to delete files.

        -
      • - -
      • -

        The config-file target now requires less manual intervention - and updates the original config.

        -
      • - -
      • -

        Change WDUMP to generate ASCII. Add WDUMP_UTF8 to allow UTF-8 - in the AUTHORS file so the names are right.

        -
      • - -
      • -

        Stop pretending that lynx and links are supported for the - documentation.

        -
      • -
      -
    • - -
    • -

      configure improvements:

      - -
        -
      • -

        On Haiku, do not pass -lpthread to the compiler. Haiku's - pthreads implementation is contained in its system library, - libroot, so no additional library needs to be searched. Patch - submitted by Simon South in #3564815.

        -
      • - -
      • -

        Additional Haiku-specific improvements. Disable checks - intended for multi-user systems as Haiku is presently - single-user. Group Haiku-specific settings in their own section, - following the pattern for Solaris, OS/2 and AmigaOS. Add - additional library-related settings to remove the need for - providing configure with custom LDFLAGS. Submitted by Simon South - in #3574538.

        -
      • -
      -
    • -
    - -
    -

    3.1. Note - to Upgraders

    - -

    A quick list of things to be aware of before upgrading from earlier - versions of Privoxy:

    - -
      -
    • -

      The recommended way to upgrade Privoxy is to backup your old configuration - files, install the new ones, verify that Privoxy is working correctly and finally merge - back your changes using diff and - maybe patch.

      - -

      There are a number of new features in each Privoxy release and most of them have to be - explicitly enabled in the configuration files. Old configuration - files obviously don't do that and due to syntax changes using old - configuration files with a new Privoxy isn't always possible anyway.

      -
    • - -
    • -

      Note that some installers remove earlier versions completely, - including configuration files, therefore you should really save any - important configuration files!

      -
    • - -
    • -

      On the other hand, other installers don't overwrite existing - configuration files, thinking you will want to do that - yourself.

      -
    • - -
    • -

      In the default configuration only fatal errors are logged now. - You can change that in the debug - section of the configuration file. You may also want to enable - more verbose logging until you verified that the new Privoxy version is working as expected.

      -
    • - -
    • -

      Three other config file settings are now off by default: - enable-remote-toggle, - enable-remote-http-toggle, - and enable-edit-actions. If you - use or want these, you will need to explicitly enable them, and be - aware of the security issues involved.

      -
    • -
    -
    -
    - - - - diff --git a/pkg content/usr/local/share/man/man1/privoxy.1 b/pkg content/usr/local/share/man/man1/privoxy.1 deleted file mode 100644 index a9292c1..0000000 --- a/pkg content/usr/local/share/man/man1/privoxy.1 +++ /dev/null @@ -1,232 +0,0 @@ -.\" This manpage has been automatically generated by docbook2man -.\" from a DocBook document. This tool can be found at: -.\" -.\" Please send any bug reports, improvements, comments, patches, -.\" etc. to Steve Cheng . -.TH "PRIVOXY" "1" "02 March 2013" "Privoxy 3.0.21" "" -.SH NAME -privoxy \- Privacy Enhancing Proxy -.SH SYNOPSIS - -\fBprivoxy\fR [\fB\-\-chroot\fR ] [\fB\-\-config-test\fR ] [\fB\-\-help\fR ] [\fB\-\-no-daemon\fR ] [\fB\-\-pidfile \fIpidfile\fB\fR ] [\fB\-\-pre-chroot-nslookup \fIhostname\fB\fR ] [\fB\-\-user \fIuser[.group]\fB\fR ] [\fB\-\-version\fR ] [\fB\fIconfigfile\fB\fR ] - -.SH "OPTIONS" -.PP -\fBPrivoxy\fR may be invoked with the following command line -options: -.TP -\fB\-\-chroot\fR -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 -\fBPrivoxy\fR process that the directory tree starts -there. If set up carefully, this can limit the impact of possible -vulnerabilities in \fBPrivoxy\fR to the files contained in -that hierarchy. -.TP -\fB\-\-config-test\fR -Exit after loading the configuration files before binding to -the listen address. The exit code signals whether or not the -configuration files have been successfully loaded. - -If the exit code is 1, at least one of the configuration files -is invalid, if it is 0, all the configuration files have been -successfully loaded (but may still contain errors that can -currently only be detected at run time). - -This option doesn't affect the log setting, combination with -"--no-daemon" is recommended if a configured log file shouldn't -be used. -.TP -\fB\-\-help\fR -Print brief usage info and exit. -.TP -\fB\-\-no-daemon\fR -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. -.TP -\fB\-\-pidfile \fIpidfile\fB\fR -On startup, write the process ID to \fIpidfile\fR. -Delete the \fIpidfile\fR on exit. -Failure to create or delete the \fIpidfile\fR -is non-fatal. If no \fB\-\-pidfile\fR option is given, no PID file will be used. -.TP -\fB\-\-pre-chroot-nslookup \fIhostname\fB\fR -Initialize the resolver library using \fIhostname\fR -before chroot'ing. On some systems this reduces the number of files -that must be copied into the chroot tree. -.TP -\fB\-\-user \fIuser[.group]\fB\fR -After (optionally) writing the PID file, assume the user ID of -\fIuser\fR and the GID of -\fIgroup\fR, or, if the optional -\fIgroup\fR was not given, the default group of -\fIuser\fR. Exit if the privileges are not -sufficient to do so. -.TP -\fB\-\-version\fR -Print version info and exit. -.PP -If the \fIconfigfile\fR is not specified on the command line, -\fBPrivoxy\fR will look for a file named -\fIconfig\fR in the current directory. If no -\fIconfigfile\fR is found, \fBPrivoxy\fR will -fail to start. -.SH "DESCRIPTION" -.PP -Privoxy is a non-caching web proxy with advanced filtering capabilities -for enhancing privacy, modifying web page data and HTTP headers, controlling -access, and removing ads and other obnoxious Internet junk. Privoxy has a -flexible configuration and can be customized to suit individual needs and tastes. -It has application for both stand-alone systems and multi-user networks. -.PP -Privoxy is Free Software and licensed under the GNU GPLv2. -.PP -Privoxy is an associated project of Software in the Public Interest (SPI). -.PP -Helping hands and donations are welcome: -.TP 0.2i -\(bu -http://www.privoxy.org/faq/general.html#PARTICIPATE -.TP 0.2i -\(bu -http://www.privoxy.org/faq/general.html#DONATE -.SH "INSTALLATION AND USAGE" -.PP -Browsers can either be individually configured to use -\fBPrivoxy\fR as a HTTP proxy (recommended), -or \fBPrivoxy\fR can be combined with a packet -filter to build an intercepting proxy -(see \fIconfig\fR). The default setting is for -localhost, on port 8118 (configurable in the main config file). To set the -HTTP proxy in Firefox, go through: \fBTools\fR; -\fBOptions\fR; \fBGeneral\fR; -\fBConnection Settings\fR; -\fBManual Proxy Configuration\fR. -.PP -For Internet Explorer, go through: \fBTools\fR; -\fBInternet Properties\fR; \fBConnections\fR; -\fBLAN Settings\fR. -.PP -The Secure (SSL) Proxy should also be set to the same values, otherwise -https: URLs will not be proxied. Note: \fBPrivoxy\fR 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. -.PP -For other browsers, check the documentation. -.SH "CONFIGURATION" -.PP -\fBPrivoxy\fR can be configured with the various configuration -files. The default configuration files are: \fIconfig\fR, -\fIdefault.filter\fR, \fIdefault.action\fR and -\fIdefault.action\fR. \fIuser.action\fR should -be used for locally defined exceptions to the default rules in -\fImatch-all.action\fR and \fIdefault.action\fR, -and \fIuser.filter\fR for locally defined filters. These are -well commented. On Unix and Unix-like systems, these are located in -\fI/etc/privoxy/\fR by default. -.PP -\fBPrivoxy\fR uses the concept of \fBactions\fR -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. -.PP -The actions list (ad blocks, etc) can also be configured with your -web browser at http://config.privoxy.org/ -(assuming the configuration allows it). -\fBPrivoxy's\fR configuration parameters can also be viewed at -the same page. In addition, \fBPrivoxy\fR can be toggled on/off. -This is an internal page, and does not require Internet access. -.PP -See the \fIUser Manual\fR for a detailed -explanation of installation, general usage, all configuration options, new -features and notes on upgrading. -.SH "FILES" - -.nf - \fI/usr/sbin/privoxy\fR - \fI/etc/privoxy/config\fR - \fI/etc/privoxy/match-all.action\fR - \fI/etc/privoxy/default.action\fR - \fI/etc/privoxy/user.action\fR - \fI/etc/privoxy/default.filter\fR - \fI/etc/privoxy/user.filter\fR - \fI/etc/privoxy/trust\fR - \fI/etc/privoxy/templates/*\fR - \fI/var/log/privoxy/logfile\fR -.fi -.PP -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. -.SH "SIGNALS" -.PP -\fBPrivoxy\fR terminates on the \fBSIGINT\fR -and \fBSIGTERM\fR signals. Log -rotation scripts may cause a re-opening of the logfile by sending a -\fBSIGHUP\fR to \fBPrivoxy\fR. Note that unlike -other daemons, \fBPrivoxy\fR does not need to be made aware of -config file changes by \fBSIGHUP\fR -- it will detect them -automatically. Signals other than the ones listed above aren't explicitly -handled and result in the default action defined by the operating system. -.SH "NOTES" -.PP -Please see the \fIUser Manual\fR on how to contact the -developers, for feature requests, reporting problems, and other questions. -.SH "SEE ALSO" -.PP -Other references and sites of interest to \fBPrivoxy\fR -users: -.PP - -http://www.privoxy.org/, -the \fBPrivoxy\fR Home page. - -http://www.privoxy.org/faq/, -the \fBPrivoxy\fR FAQ. - -http://www.privoxy.org/developer-manual/, -the \fBPrivoxy\fR developer manual. - -https://sourceforge.net/projects/ijbswa/, -the Project Page for \fBPrivoxy\fR on -SourceForge. - -http://config.privoxy.org/, -the web-based user interface. \fBPrivoxy\fR must be -running for this to work. Shortcut: http://p.p/ - -https://sourceforge.net/tracker/?group_id=11118&atid=460288, to submit ``misses'' and other -configuration related suggestions to the developers. -.SH "DEVELOPMENT TEAM" - -.nf - Fabian Keil, lead developer - David Schmidt - Hal Burgiss - Lee Rian - Roland Rosenfeld - Ian Silvester -.fi -.SH "COPYRIGHT AND LICENSE" -.SS "COPYRIGHT" -.PP -Copyright (C) 2001-2013 by Privoxy Developers -.PP -Some source code is based on code Copyright (C) 1997 by Anonymous Coders -and Junkbusters, Inc. and licensed under the \fIGNU General Public -License\fR. -.SS "LICENSE" -.PP -\fBPrivoxy\fR is free software; you can -redistribute it and/or modify it under the terms of the -\fIGNU General Public License\fR, version 2, -as published by the Free Software Foundation. -.PP -\fBPrivoxy\fR is distributed in the hope that -it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -See the \fIlicense\fR for details.