<link rel="NEXT" title="Testing Guidelines" href="testing.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- table.c3 {background-color: #E0E0E0}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<h3 class="SECT3"><a name="S3" id="S3">4.2.1. Comment, Comment,
Comment</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Comment as much as possible without commenting the obvious. For
example do not comment "variable_a is equal to variable_b". Instead
comment describes something different than what the code is doing
then maybe a programming error is occurring.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S4" id="S4">4.2.2. Use blocks for
comments</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Comments can help or they can clutter. They help when they are
differentiated from the code they describe. One line comments do not
identifiers do, by surrounding the code with a clear, definable
pattern.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Exception:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Exception:</i></span></p>
<p>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
<h3 class="SECT3"><a name="S5" id="S5">4.2.3. Keep Comments on their
own line</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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
freely and often: during the definition of variables, at the end of
closing braces, when used to comment parameters.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S6" id="S6">4.2.4. Comment each logical
step</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Logical steps should be commented to help others follow the intent
of the written code and comments will make the code more
<h3 class="SECT3"><a name="S7" id="S7">4.2.5. Comment All Functions
Thoroughly</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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
<h3 class="SECT3"><a name="S8" id="S8">4.2.6. Comment at the end of
braces if the content is more than one screen length</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Each closing brace should be followed on the same line by a
comment that describes the origination of the brace if the original
<p>use following a closing brace: } /* -END- if() or while () or
etc... */</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S10" id="S10">4.3.1. Variable
Names</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Use all lowercase, and separate words via an underscore ('_'). Do
not start an identifier with an underscore. (ANSI C reserves these
which are reserved in ANSI C++. (E.g. template, class, true, false,
...). This is in case we ever decide to port Privoxy to C++.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S11" id="S11">4.3.2. Function
Names</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Use all lowercase, and separate words via an underscore ('_'). Do
not start an identifier with an underscore. (ANSI C reserves these
which are reserved in ANSI C++. (E.g. template, class, true, false,
...). This is in case we ever decide to port Privoxy to C++.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S12" id="S12">4.3.3. Header file
prototypes</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S13" id="S13">4.3.4. Enumerations, and
#defines</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.)</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<div class="SECT3">
<h3 class="SECT3"><a name="S14" id="S14">4.3.5. Constants</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Spell common words out entirely (do not remove vowels).</p>
<p>Use underscore (_) to separate adjacent acronyms and
abbreviations. Never terminate a name with an underscore.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S16" id="S16">4.4.1. Put braces on a line
by themselves.</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
<p>if ( this == that ) { ... }</p>
<p>if ( this == that ) { ... }</p>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span>
developer-discretion.</p>
- <p><span class="emphasis EMPHASIS c2">Example exception:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example
+ exception:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S17" id="S17">4.4.2. ALL control
statements should have a block</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
<p>if ( this == that ) do_something(); do_something_else();</p>
<p>if ( this == that ) do_something();</p>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S18" id="S18">4.4.3. Do not
belabor/blow-up boolean expressions</a></h3>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
<p>if ( condition ) { structure->flag = 1; } else {
structure->flag = 0; }</p>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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-)</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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-)</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S19" id="S19">4.4.4. Use white space
freely because it is free</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Make it readable. The notable exception to using white space
freely is listed in the next guideline.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S20" id="S20">4.4.5. Don't use white space
around structure operators</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>- structure pointer operator ( "->" ) - member operator ( "." )
- functions and parentheses</p>
function parentheses next to names. With spaces, the connection
between the object and variable/function name is not as clear.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span> a_struct
- -> a_member; a_struct . a_member; function_name ();</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
+ a_struct -> a_member; a_struct . a_member; function_name ();</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S21" id="S21">4.4.6. Make the last brace
of a function stand out</a></h3>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
<p>int function1( ... ) { ...code... return( ret_code ); } int
function2( ... ) { }</p>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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!</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span>
developer-discretion on the number of blank lines. Enforced is the
end of function comments.</p>
</div>
<h3 class="SECT3"><a name="S22" id="S22">4.4.7. Use 3 character
indentions</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S24" id="S24">4.5.1. Initialize all
variables</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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].</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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].</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span>
developer-discretion if and only if the variable is assigned a value
"shortly after" declaration.</p>
</div>
<h3 class="SECT3"><a name="S26" id="S26">4.6.1. Name functions that
return a boolean as a question.</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Value should be phrased as a question that would logically be
answered as a true or false statement</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S27" id="S27">4.6.2. Always specify a
return type for a function.</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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
<h3 class="SECT3"><a name="S28" id="S28">4.6.3. Minimize function
calls when iterating by using variables</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>It is easy to write the following code, and a clear argument can
be made that the code is easy to understand:</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span>
+ 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.</p>
<p>Instead of using a function call during the iterations, assign the
value to a variable, and evaluate using the variable.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Exceptions:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Exceptions:</i></span>
+ 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.</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S29" id="S29">4.6.4. Pass and Return by
Const Reference</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>This allows a developer to define a const pointer and call your
function. If your function does not have the const keyword, we may
<h3 class="SECT3"><a name="S30" id="S30">4.6.5. Pass and Return by
Value</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Most structures cannot fit onto a normal stack entry (i.e. they
are not 4 bytes or less). Aka, a function declaration like: int
<h3 class="SECT3"><a name="S31" id="S31">4.6.6. Names of include
files</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Your include statements should contain the file name without a
path. The path should be listed in the Makefile, using -I as
path to distinguish their header files from system or other header
files.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Exception:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Exception:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> Please! do not add
- "-I." to the Makefile without a _very_ good reason. This duplicates
- the #include "file.h" behavior.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span>
+ Please! do not add "-I." to the Makefile without a _very_ good
+ reason. This duplicates the #include "file.h" behavior.</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S32" id="S32">4.6.7. Provide multiple
inclusion protection</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Prevents compiler and linker errors resulting from redefinition of
items.</p>
multiple inclusions of the file. Of course, replace PROJECT_H with
your file name, with "." Changed to "_", and make it uppercase.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S33" id="S33">4.6.8. Use `extern "C"` when
appropriate</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S34" id="S34">4.6.9. Where Possible, Use
Forward Struct Declaration Instead of Includes</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Useful in headers that include pointers to other struct's.
Modifications to excess header files may cause needless compiles.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span> Use with
- discretion.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span> Use
+ with discretion.</p>
</div>
</div>
<h3 class="SECT3"><a name="S36" id="S36">4.7.1. Turn on
warnings</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation</i></span></p>
<p>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
<h3 class="SECT3"><a name="S37" id="S37">4.7.2. Provide a default
case for all switch statements</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
- <p><span class="emphasis EMPHASIS c2">Another Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Another
+ Note:</i></span> 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.</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span> Programmer
- discretion is advised.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span>
+ Programmer discretion is advised.</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S38" id="S38">4.7.3. Try to avoid falling
through cases in a switch statement.</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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
<h3 class="SECT3"><a name="S39" id="S39">4.7.4. Use 'long' or 'short'
Instead of 'int'</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>On 32-bit platforms, int usually has the range of long. On 16-bit
platforms, int has the range of short.</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span> open-to-debate.
- In the case of most FSF projects (including X/GNU-Emacs), there are
- typedefs to int4, int8, int16, (or equivalence ... I forget the exact
- typedefs now). Should we add these to IJB now that we have a
- "configure" script?</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span>
+ open-to-debate. In the case of most FSF projects (including
+ X/GNU-Emacs), there are typedefs to int4, int8, int16, (or
+ equivalence ... I forget the exact typedefs now). Should we add these
+ to IJB now that we have a "configure" script?</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S40" id="S40">4.7.5. Don't mix size_t and
other types</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>The type of size_t varies across platforms. Do not make
assumptions about whether it is signed or unsigned, or about how long
<h3 class="SECT3"><a name="S41" id="S41">4.7.6. Declare each variable
and struct on its own line.</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>It can be tempting to declare a series of variables all on one
line. Don't.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Instead
+ of:</i></span></p>
<p>long a, b, c;</p>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span> - 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</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Explanation:</i></span>
+ - 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</p>
- <p><span class="emphasis EMPHASIS c2">Exceptions:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Exceptions:</i></span>
+ 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.</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span>
developer-discretion.</p>
</div>
<h3 class="SECT3"><a name="S42" id="S42">4.7.7. Use malloc/zalloc
sparingly</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>Create a local struct (on the stack) if the variable will live and
die within the context of one function call.</p>
<p>Only "malloc" a struct (on the heap) if the variable's life will
extend beyond the context of one function call.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="S43" id="S43">4.7.8. The Programmer Who
Uses 'malloc' is Responsible for Ensuring 'free'</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>If you have to "malloc" an instance, you are responsible for
insuring that the instance is `free'd, even if the deallocation event
You may need to offer a free/unload/destructor type function to
accommodate this.</p>
- <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Exceptions:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Exceptions:</i></span></p>
<p>The developer cannot be expected to provide `free'ing functions
for C run-time library functions ... such as `strdup'.</p>
- <p><span class="emphasis EMPHASIS c2">Status:</span>
+ <p><span class="emphasis"><i class="EMPHASIS">Status:</i></span>
developer-discretion. The "main" use of this standard is for
allocating and freeing data structures (complex or nested).</p>
</div>
<h3 class="SECT3"><a name="S44" id="S44">4.7.9. Add loaders to the
`file_list' structure and in order</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>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.</p>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="S45" id="S45">4.7.10. "Uncertain" new code
and/or changes to existing code, use FIXME or XXX</a></h3>
- <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Explanation:</i></span></p>
<p>If you have enough confidence in new code or confidence in your
changes, but are not *quite* sure of the repercussions, add this:</p>
<p>/* FIXME: new code that *may* break something else... */ ...new
code here...</p>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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).</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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).</p>
</div>
</div>
<h2 class="SECT2"><a name="S46" id="S46">4.8. Addendum: Template for
files and function comment blocks:</a></h2>
- <p><span class="emphasis EMPHASIS c2">Example for file
- comments:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example for file
+ comments:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
- <p><span class="emphasis EMPHASIS c2">Note:</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> 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.</p>
- <p><span class="emphasis EMPHASIS c2">Example for file header
- comments:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example for file header
+ comments:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Example for function
- comments:</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Example for function
+ comments:</i></span></p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Note:</span> If we all follow
- this practice, we should be able to parse our code to create a
- "self-documenting" web page.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Note:</i></span> If we
+ all follow this practice, we should be able to parse our code to create
+ a "self-documenting" web page.</p>
</div>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"copyright.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"copyright.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
<p>Before doing so, please make sure that the bug has <span class=
- "emphasis EMPHASIS c2">not already been submitted</span> and observe
- the additional hints at the top of the <a href=
+ "emphasis"><i class="EMPHASIS">not already been submitted</i></span>
+ and observe the additional hints at the top of the <a href=
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
target="_top">submit form</a>. If already submitted, please feel free
to add any info to the original report that might help to solve the
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="See also" href="seealso.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- a.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
"CITETITLE">GNU General Public License</i>.</p>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN1248" id="AEN1248">9.1. License</a></h2>
+ <h2 class="SECT2"><a name="AEN1231" id="AEN1231">9.1. License</a></h2>
<p><span class="APPLICATION">Privoxy</span> is free software; you can
redistribute it and/or modify it under the terms of the <i class=
<p>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 <a class=
- "CITETITLE c2" href=
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a href=
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
- "_top">GNU General Public License</a> for details.</p>
+ "_top"><i class="CITETITLE">GNU General Public License</i></a> for
+ details.</p>
<p>You should have received a copy of the <i class="CITETITLE">GNU
GPL</i> along with this program; if not, write to the</p>
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN1264" id="AEN1264">9.2. History</a></h2>
+ <h2 class="SECT2"><a name="AEN1247" id="AEN1247">9.2. History</a></h2>
<p>A long time ago, there was the <a href=
"http://www.junkbusters.com/ijb.html" target="_top"><span class=
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"documentation.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"documentation.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
(e.g. 3.0.x), a branch is created just for stable series releases (e.g.
3.0.0 -> 3.0.1 -> 3.0.2, etc). Once the initial stable release of
any stable branch has taken place, this branch is <span class=
- "emphasis EMPHASIS c2">only used for bugfixes</span>, which have had
- prior testing before being committed to CVS. (See <a href=
+ "emphasis"><i class="EMPHASIS">only used for bugfixes</i></span>, which
+ have had prior testing before being committed to CVS. (See <a href=
"newrelease.html#VERSIONNUMBERS">Version Numbers</a> below for details
on versioning.)</p>
<li>
<p>Your commit message should give a concise overview of
- <span class="emphasis EMPHASIS c2">what you changed</span> (no big
- details) and <span class="emphasis EMPHASIS c2">why you changed
- it</span> Just check previous messages for good examples.</p>
+ <span class="emphasis"><i class="EMPHASIS">what you
+ changed</i></span> (no big details) and <span class=
+ "emphasis"><i class="EMPHASIS">why you changed it</i></span> Just
+ check previous messages for good examples.</p>
</li>
<li>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Coding Guidelines" href="coding.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c3 {font-style: italic}
- a.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
DTD's and the Docbook modular stylesheets (or comparable alternatives),
and either <span class="APPLICATION">jade</span> or <span class=
"APPLICATION">openjade</span> (recommended) installed in order to build
- docs from source. Currently there is <a class="CITETITLE c2" href=
- "../user-manual/index.html" target="_top">user-manual</a>, <a class=
- "CITETITLE c2" href="../faq/index.html" target="_top">FAQ</a>, and, of
- course this, the <i class="CITETITLE">developer-manual</i> in this
+ docs from source. Currently there is <a href="../user-manual/index.html"
+ target="_top"><i class="CITETITLE">user-manual</i></a>, <a href=
+ "../faq/index.html" target="_top"><i class="CITETITLE">FAQ</i></a>, and,
+ of course this, the <i class="CITETITLE">developer-manual</i> in this
format. The <i class="CITETITLE">README</i>, <i class=
"CITETITLE">AUTHORS</i>, <i class="CITETITLE">INSTALL</i>, <i class=
"CITETITLE">privoxy.1</i> (man page), and <i class="CITETITLE">config</i>
"FILENAME">index.html</tt> (and a variation on this file, <tt class=
"FILENAME">privoxy-index.html</tt>, meant for inclusion with doc
packages), are maintained as SGML as well. <span class=
- "emphasis EMPHASIS c3">DO NOT edit these directly</span>. Edit the SGML
- source, or contact someone involved in the documentation.</p>
+ "emphasis"><i class="EMPHASIS">DO NOT edit these directly</i></span>.
+ Edit the SGML source, or contact someone involved in the
+ documentation.</p>
<p><tt class="FILENAME">config</tt> requires some special handling. The
reason it is maintained this way is so that the extensive comments in the
"FILENAME">doc/webserver/*/*.html</tt>) 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 <span class=
- "emphasis EMPHASIS c3">after</span> the <tt class="LITERAL">$VERSION</tt>
- and other release specific data in <tt class="FILENAME">configure.in</tt>
- has been updated (this is done just prior to a new release).</p>
+ "emphasis"><i class="EMPHASIS">after</i></span> the <tt class=
+ "LITERAL">$VERSION</tt> and other release specific data in <tt class=
+ "FILENAME">configure.in</tt> has been updated (this is done just prior to
+ a new release).</p>
<div class="SECT2">
<h2 class="SECT2"><a name="SGML" id="SGML">3.1. Quickstart to Docbook
<table border="0">
<tbody>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><para></para></span>,
- paragraph delimiter. Most text needs to be within paragraph
- elements (there are some exceptions).</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><para></para></i></span>, paragraph
+ delimiter. Most text needs to be within paragraph elements (there
+ are some exceptions).</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><emphasis></emphasis></span>,
- the stylesheets make this italics.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><emphasis></emphasis></i></span>, the
+ stylesheets make this italics.</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><filename></filename></span>,
- files and directories.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><filename></filename></i></span>, files
+ and directories.</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><command></command></span>,
- command examples.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><command></command></i></span>, command
+ examples.</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><literallayout></literallayout></span>,
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><literallayout></literallayout></i></span>,
like <tt class="LITERAL"><pre></tt>, more or less.</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><itemizedlist></itemizedlist></span>,
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><itemizedlist></itemizedlist></i></span>,
list with bullets.</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><listitem></listitem></span>,
- member of the above.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><listitem></listitem></i></span>, member
+ of the above.</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><screen></screen></span>,
- screen output, implies <tt class=
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><screen></screen></i></span>, screen
+ output, implies <tt class=
"LITERAL"><literallayout></tt>.</td>
</tr>
<tr>
- <td><span class="emphasis EMPHASIS c3"><ulink
- url="example.com"></ulink></span>, like HTML <tt class=
- "LITERAL"><a></tt> tag.</td>
+ <td><span class="emphasis"><i class="EMPHASIS"><ulink
+ url="example.com"></ulink></i></span>, like HTML
+ <tt class="LITERAL"><a></tt> tag.</td>
</tr>
<tr>
- <td><span class=
- "emphasis EMPHASIS c3"><quote></quote></span>, for,
- doh, quoting text.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS"><quote></quote></i></span>, for, doh,
+ quoting text.</td>
</tr>
</tbody>
</table>
</li>
<li>
- <p>Tags delimiting a <span class=
- "emphasis EMPHASIS c3">block</span> of text (even small blocks)
- should be on their own line. Like:</p>
+ <p>Tags delimiting a <span class="emphasis"><i class=
+ "EMPHASIS">block</i></span> of text (even small blocks) should be
+ on their own line. Like:</p>
<p class="LITERALLAYOUT"> <para><br>
Some text goes here.<br>
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 <span class="emphasis EMPHASIS c3">generic</span>.
- That is the purpose; so it can be used in varying contexts without
- additional modifications.</p>
+ that it should be <span class="emphasis"><i class=
+ "EMPHASIS">generic</i></span>. That is the purpose; so it can be used
+ in varying contexts without additional modifications.</p>
<p>We are also using what <span class="APPLICATION">Docbook</span>
calls <span class="QUOTE">"internal entities"</span>. These are like
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c3">p-version</span>: the
- <span class="APPLICATION">Privoxy</span> version string, e.g.
- <span class="QUOTE">"3.0.20"</span>.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS">p-version</i></span>: the <span class=
+ "APPLICATION">Privoxy</span> version string, e.g.
+ <span class="QUOTE">"3.0.19"</span>.</td>
</tr>
<tr>
- <td><span class="emphasis EMPHASIS c3">p-status</span>: the
- project status, either <span class="QUOTE">"alpha"</span>,
- <span class="QUOTE">"beta"</span>, or <span class=
+ <td><span class="emphasis"><i class=
+ "EMPHASIS">p-status</i></span>: the project status, either
+ <span class="QUOTE">"alpha"</span>, <span class=
+ "QUOTE">"beta"</span>, or <span class=
"QUOTE">"stable"</span>.</td>
</tr>
<tr>
- <td><span class="emphasis EMPHASIS c3">p-not-stable</span>:
- use to conditionally include text in <span class="QUOTE">"not
- stable"</span> releases (e.g. <span class=
- "QUOTE">"beta"</span>).</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS">p-not-stable</i></span>: use to conditionally
+ include text in <span class="QUOTE">"not stable"</span>
+ releases (e.g. <span class="QUOTE">"beta"</span>).</td>
</tr>
<tr>
- <td><span class="emphasis EMPHASIS c3">p-stable</span>: just
- the opposite.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS">p-stable</i></span>: just the opposite.</td>
</tr>
<tr>
- <td><span class="emphasis EMPHASIS c3">p-text</span>: this
- doc is only generated as text.</td>
+ <td><span class="emphasis"><i class=
+ "EMPHASIS">p-text</i></span>: this doc is only generated as
+ text.</td>
</tr>
</tbody>
</table>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Introduction" href="introduction.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c2 {text-align: left}
- dt.c1 {font-weight: bold}
- </style>
</head>
-<body class="ARTICLE">
+<body class="ARTICLE" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
<h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy Developer
2001-2009 by <a href="http://www.privoxy.org/" target="_top">Privoxy
Developers</a></sub><br></p>
- <p class="PUBDATE">$Id: developer-manual.sgml,v 2.39 2012/03/18
- 01:16:35 diem Exp $<br></p>
-
- <div class="ABSTRACT">
- <a name="AEN9" id="AEN9"></a>
-
- <p>The developer manual provides guidance on coding, testing,
- packaging, documentation and other issues of importance to those
- involved with <span class="APPLICATION">Privoxy</span> 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.</p>
-
- <p>Please note that this document is constantly evolving. This copy
- represents the state at the release of version 3.0.20. You can find
- the latest version of the this manual at <a href=
- "http://www.privoxy.org/developer-manual/" target=
- "_top">http://www.privoxy.org/developer-manual/</a>. Please see
- <a href="contact.html">the Contact section</a> on how to contact the
- developers.</p>
+ <p class="PUBDATE">$Id: developer-manual.sgml,v 2.38 2011/12/26
+ 17:05:40 fabiankeil Exp $<br></p>
+
+ <div>
+ <div class="ABSTRACT">
+ <a name="AEN9" id="AEN9"></a>
+
+ <p>The developer manual provides guidance on coding, testing,
+ packaging, documentation and other issues of importance to those
+ involved with <span class="APPLICATION">Privoxy</span> 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.</p>
+
+ <p>Please note that this document is constantly evolving. This copy
+ represents the state at the release of version 3.0.19. You can find
+ the latest version of the this manual at <a href=
+ "http://www.privoxy.org/developer-manual/" target=
+ "_top">http://www.privoxy.org/developer-manual/</a>. Please see
+ <a href="contact.html">the Contact section</a> on how to contact
+ the developers.</p>
+ </div>
</div>
<hr>
</div>
<div class="TOC">
<dl>
- <dt class="c1">Table of Contents</dt>
+ <dt><b>Table of Contents</b></dt>
<dt>1. <a href="introduction.html">Introduction</a></dt>
<dd>
<dl>
- <dt>9.1. <a href="copyright.html#AEN1248">License</a></dt>
+ <dt>9.1. <a href="copyright.html#AEN1231">License</a></dt>
- <dt>9.2. <a href="copyright.html#AEN1264">History</a></dt>
+ <dt>9.2. <a href="copyright.html#AEN1247">History</a></dt>
</dl>
</dd>
</div>
<div class="NAVFOOTER">
- <hr class="c2" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="The CVS Repository" href="cvs.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Update the Webserver" href="webserver-update.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- tt.c5 {font-style: italic}
- td.c4 {font-weight: bold}
- table.c3 {background-color: #E0E0E0}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"webserver-update.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
being committed. Stable branches will then have their version
reported as <tt class="LITERAL">0.0.0</tt>, during that period
between releases when changes are being added. This is to denote
- that this code is <span class="emphasis EMPHASIS c2">not for
- release</span>. Then as the release nears, the version is bumped
- according: e.g. <tt class="LITERAL">3.0.1 -> 0.0.0 ->
+ that this code is <span class="emphasis"><i class="EMPHASIS">not
+ for release</i></span>. Then as the release nears, the version is
+ bumped according: e.g. <tt class="LITERAL">3.0.1 -> 0.0.0 ->
3.0.2</tt>.</p>
</li>
</ul>
-> 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
- <span class="emphasis EMPHASIS c2">before</span> committing to a stable
- branch!</p>
+ <span class="emphasis"><i class="EMPHASIS">before</i></span> committing
+ to a stable branch!</p>
<p>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, <span class=
- "emphasis EMPHASIS c2">and</span> the stable release branch, which is
+ separate check outs (i.e main trunk, <span class="emphasis"><i class=
+ "EMPHASIS">and</i></span> the stable release branch, which is
<tt class="LITERAL">v_3_0_branch</tt> at the moment).</p>
</div>
<h2 class="SECT2"><a name="BEFORERELEASE" id="BEFORERELEASE">6.2.
Before the Release: Freeze</a></h2>
- <p>The following <span class="emphasis EMPHASIS c2">must be done by one
- of the developers</span> prior to each new release.</p>
+ <p>The following <span class="emphasis"><i class="EMPHASIS">must be
+ done by one of the developers</i></span> prior to each new release.</p>
<ul>
<li>
last release (i.e. software release or standalone actions file
release), bump up its version info to A.B in this line:</p>
- <table class="c3" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">Commit all files that were
- changed in the above steps!</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">Commit all files that
+ were changed in the above steps!</i></span></p>
</li>
<li>
GPL reasons the first package to be released is always the source
tarball.</p>
- <p>For <span class="emphasis EMPHASIS c2">all</span> types of packages,
- including the source tarball, <span class="emphasis EMPHASIS c2">you
- must make sure that you build from clean sources by exporting the right
- version from CVS into an empty directory</span> (just press return when
- asked for a password):</p>
+ <p>For <span class="emphasis"><i class="EMPHASIS">all</i></span> types
+ of packages, including the source tarball, <span class=
+ "emphasis"><i class="EMPHASIS">you must make sure that you build from
+ clean sources by exporting the right version from CVS into an empty
+ directory</i></span> (just press return when asked for a password):</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Do NOT change</span> 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Do NOT change</i></span>
+ 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.</p>
<div class="WARNING">
<table class="WARNING" border="1" width="100%">
<tr>
- <td class="c4" align="center">Warning</td>
+ <td align="center"><b>Warning</b></td>
</tr>
<tr>
"PACK-GUIDELINES">6.3.1. Note on Privoxy Packaging</a></h3>
<p>Please keep these general guidelines in mind when putting together
- your package. These apply to <span class=
- "emphasis EMPHASIS c2">all</span> platforms!</p>
+ your package. These apply to <span class="emphasis"><i class=
+ "EMPHASIS">all</i></span> platforms!</p>
<ul>
<li>
<p><span class="APPLICATION">Privoxy</span> <span class=
- "emphasis EMPHASIS c2">requires</span> write access to: all
- <tt class="FILENAME">*.action</tt> files, all logfiles, and the
- <tt class="FILENAME">trust</tt> file. You will need to determine
- the best way to do this for your platform.</p>
+ "emphasis"><i class="EMPHASIS">requires</i></span> write access
+ to: all <tt class="FILENAME">*.action</tt> files, all logfiles,
+ and the <tt class="FILENAME">trust</tt> file. You will need to
+ determine the best way to do this for your platform.</p>
</li>
<li>
<h3 class="SECT3"><a name="NEWRELEASE-TARBALL" id=
"NEWRELEASE-TARBALL">6.3.2. Source Tarball</a></h3>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above). Then run:</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Then do:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>To upload the package to Sourceforge, simply issue</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="NEWRELEASE-RPM" id="NEWRELEASE-RPM">6.3.3.
SuSE, Conectiva or Red Hat RPM</a></h3>
- <p>In following text, replace <tt class="REPLACEABLE c5">dist</tt>
- with either <span class="QUOTE">"rh"</span> for Red Hat or
- <span class="QUOTE">"suse"</span> for SuSE.</p>
+ <p>In following text, replace <tt class=
+ "REPLACEABLE"><i>dist</i></tt> with either <span class=
+ "QUOTE">"rh"</span> for Red Hat or <span class="QUOTE">"suse"</span>
+ for SuSE.</p>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above).</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages"
+ above).</p>
<p>As the only exception to not changing anything after export from
CVS, now examine the file <tt class=
- "FILENAME">privoxy-</tt><tt class="REPLACEABLE c5">dist</tt><tt class="FILENAME">.spec</tt>
+ "FILENAME">privoxy-</tt><tt class="REPLACEABLE"><i>dist</i></tt><tt class="FILENAME">.spec</tt>
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 <tt class=
- "REPLACEABLE c5">dist</tt> which is built from version X.Y.Z. Check
- the <a href=
+ "REPLACEABLE"><i>dist</i></tt> which is built from version X.Y.Z.
+ Check the <a href=
"http://sourceforge.net/project/showfiles.php?group_id=11118" target=
"_top">file list</a> if unsure. Else, it must be set to the highest
already available RPM release number for that version plus one.</p>
<p>Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Then do</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
- make <tt class="REPLACEABLE c5">dist</tt>-dist
+ make <tt class="REPLACEABLE"><i>dist</i></tt>-dist
</pre>
</td>
</tr>
<p>To upload the package to Sourceforge, simply issue</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
- make <tt class="REPLACEABLE c5">dist</tt>-upload <tt class=
-"REPLACEABLE c5">rpm_packagerev</tt>
+ make <tt class="REPLACEABLE"><i>dist</i></tt>-upload <tt class=
+"REPLACEABLE"><i>rpm_packagerev</i></tt>
</pre>
</td>
</tr>
</table>
- <p>where <tt class="REPLACEABLE c5">rpm_packagerev</tt> is the RPM
- release number as determined above. Go to the displayed URL and
+ <p>where <tt class="REPLACEABLE"><i>rpm_packagerev</i></tt> 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.</p>
</div>
<h3 class="SECT3"><a name="NEWRELEASE-OS2" id="NEWRELEASE-OS2">6.3.4.
OS/2</a></h3>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above). Then get the OS/2
- Setup module:</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then get the OS/2 Setup module:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
directory. Edit the os2build.cmd file to set the final executable
filename. For example,</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
release number matches in the <tt class="FILENAME">PACKAGEID</tt>
section:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>You're now ready to build. Run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Login to Sourceforge's compilefarm via ssh:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</table>
<p>Choose the right operating system (not the Debian one). When
- logged in, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above). Then run:</p>
+ logged in, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Then run</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
"_top">http://www.cygwin.com/</a>). Run the following commands from
within a Cygwin bash shell.</p>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above). Then get the Windows
- setup module:</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then get the Windows setup module:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
controlled by <tt class="FILENAME">winsetup/GNUmakefile</tt>. All you
need to do is:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="NEWRELEASE-DEBIAN" id=
"NEWRELEASE-DEBIAN">6.3.7. Debian</a></h3>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above). Then add a log entry
- to <tt class="FILENAME">debian/changelog</tt>, if it is not already
- there, for example by running:</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then add a log entry to <tt class="FILENAME">debian/changelog</tt>,
+ if it is not already there, for example by running:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
- debchange -v 3.0.20-UNRELEASED-1 "New upstream version"
+ debchange -v 3.0.19-stable-1 "New upstream version"
</pre>
</td>
</tr>
<p>Then, run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</table>
<p>This will create <tt class=
- "FILENAME">../privoxy_3.0.20-UNRELEASED-1_i386.deb</tt> which can be
+ "FILENAME">../privoxy_3.0.19-stable-1_i386.deb</tt> which can be
uploaded. To upload the package to Sourceforge, simply issue</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="NEWRELEASE-MACOSX" id=
"NEWRELEASE-MACOSX">6.3.8. Mac OS X</a></h3>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above).</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then get the Mac OS X setup module:</p>
- <p>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).</p>
-
- <div class="SECT4">
- <h4 class="SECT4"><a name="OS-X-OSXPACKAGEBUILDER-MODULE" id=
- "OS-X-OSXPACKAGEBUILDER-MODULE">6.3.8.1. OSXPackageBuilder
- module</a></h4>
-
- <p>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:</p>
-
- <table class="c3" border="0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder
-</pre>
- </td>
- </tr>
- </table>
-
- <p>The module contains complete instructions on its usage in the
- file <tt class="FILENAME">OS X Package Builder HOWTO.txt</tt>.</p>
-
- <p>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.</p>
- </div>
-
- <div class="SECT4">
- <h4 class="SECT4"><a name="OS-X-OSXSETUP-MODULE" id=
- "OS-X-OSXSETUP-MODULE">6.3.8.2. osxsetup module
- (DEPRECATED)</a></h4>
-
- <p><span class="emphasis EMPHASIS c2">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.</span></p>
-
- <p>Check out the module from CVS as follows into a folder parallel
- to the exported privoxy source:</p>
-
- <table class="c3" border="0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
+ <tr>
+ <td>
+ <pre class="PROGRAMLISTING">
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
</pre>
- </td>
- </tr>
- </table>
+ </td>
+ </tr>
+ </table>
- <p>Then run:</p>
+ <p>Then run:</p>
- <table class="c3" border="0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
+ <tr>
+ <td>
+ <pre class="PROGRAMLISTING">
cd osxsetup
build
</pre>
- </td>
- </tr>
- </table>
+ </td>
+ </tr>
+ </table>
- <p>This will run <tt class="FILENAME">autoheader</tt>, <tt class=
- "FILENAME">autoconf</tt> and <tt class="FILENAME">configure</tt> as
- well as <tt class="FILENAME">make</tt>. Finally, it will copy over
- the necessary files to the ./osxsetup/files directory for further
- processing by <tt class="FILENAME">PackageMaker</tt>.</p>
+ <p>This will run <tt class="FILENAME">autoheader</tt>, <tt class=
+ "FILENAME">autoconf</tt> and <tt class="FILENAME">configure</tt> as
+ well as <tt class="FILENAME">make</tt>. Finally, it will copy over
+ the necessary files to the ./osxsetup/files directory for further
+ processing by <tt class="FILENAME">PackageMaker</tt>.</p>
- <p>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:</p>
+ <p>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:</p>
- <table class="c3" border="0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
+ <tr>
+ <td>
+ <pre class="PROGRAMLISTING">
zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
</pre>
- </td>
- </tr>
- </table>
-
- <p>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.</p>
- </div>
-
- <div class="SECT4">
- <h4 class="SECT4"><a name="OS-X-MACSETUP-MODULE" id=
- "OS-X-MACSETUP-MODULE">6.3.8.3. macsetup module</a></h4>
-
- <p>The macsetup module is ideal if you wish to build and install
- Privoxy from source on a single machine.</p>
-
- <p>Check out the module from CVS as follows into a folder parallel
- to the exported privoxy source:</p>
-
- <table class="c3" border="0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co macsetup
-</pre>
- </td>
- </tr>
- </table>
+ </td>
+ </tr>
+ </table>
- <p>The module contains complete instructions on its usage in its
- <tt class="FILENAME">README</tt> file. The end result will be the
- the exported version of Privoxy installed on the build machine.</p>
- </div>
+ <p>You can then upload <tt class=
+ "FILENAME">privoxyosx_setup_x.y.z.zip</tt> anonymously to <tt class=
+ "FILENAME">uploads.sourceforge.net/incoming</tt>, create a release
+ for it, and you're done. Use the release notes and Change Log from
+ the source tarball package.</p>
</div>
<div class="SECT3">
<p>Login to Sourceforge's compile-farm via ssh:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</table>
<p>Choose the right operating system. When logged in, <span class=
- "emphasis EMPHASIS c2">make sure that you have freshly exported the
- right version into an empty directory</span>. (See "Building and
- releasing packages" above). Then run:</p>
+ "emphasis"><i class="EMPHASIS">make sure that you have freshly
+ exported the right version into an empty directory</i></span>. (See
+ "Building and releasing packages" above). Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="NEWRELEASE-HPUX" id=
"NEWRELEASE-HPUX">6.3.10. HP-UX 11</a></h3>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above). Then run:</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<h3 class="SECT3"><a name="NEWRELEASE-AMIGA" id=
"NEWRELEASE-AMIGA">6.3.11. Amiga OS</a></h3>
- <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
- freshly exported the right version into an empty directory</span>.
- (See "Building and releasing packages" above). Then run:</p>
+ <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
+ you have freshly exported the right version into an empty
+ directory</i></span>. (See "Building and releasing packages" above).
+ Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Login to Sourceforge's compilefarm via ssh:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
</table>
<p>Choose the right operating system. When logged in, <span class=
- "emphasis EMPHASIS c2">make sure that you have freshly exported the
- right version into an empty directory</span>. (See "Building and
- releasing packages" above). Then run:</p>
+ "emphasis"><i class="EMPHASIS">make sure that you have freshly
+ exported the right version into an empty directory</i></span>. (See
+ "Building and releasing packages" above). Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Then run:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
column, and click <tt class="LITERAL">Add Release</tt>. You will then
need to create a new release for your package, using the format of
<tt class="LITERAL">$VERSION ($CODE_STATUS)</tt>, e.g. <span class=
- "emphasis EMPHASIS c2">3.0.20 (beta)</span>.</p>
+ "emphasis"><i class="EMPHASIS">3.0.19 (beta)</i></span>.</p>
<p>Now just follow the prompts. Be sure to add any appropriate Release
notes. You should see your freshly uploaded packages in <span class=
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"copyright.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<td width="10%" align="right" valign="bottom"> </td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Releasing a New Version" href="newrelease.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"newrelease.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"contact.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c3 {font-style: italic}
- table.c2 {background-color: #E0E0E0}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<p>If you have changed anything in the stable-branch documentation source
SGML files, do:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Next, commit any changes from the above steps to CVS. All set? If
these are docs in the stable branch, then do:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="PROGRAMLISTING">
"_top">the webserver</a> (www.privoxy.org) and ensure all files and
directories there are group writable.</p>
- <p>Please do <span class="emphasis EMPHASIS c3">NOT</span> 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.</p>
+ <p>Please do <span class="emphasis"><i class="EMPHASIS">NOT</i></span>
+ 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.</p>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Miscellaneous" href="misc.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- a.c4 {font-style: italic}
- span.c3 {font-style: italic}
- table.c2 {background-color: #E0E0E0}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
cookie handling for them in the <tt class="FILENAME">user.action</tt>
file. An example for yahoo might look like:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>These kinds of sites are often quite complex and heavy with <a href=
"http://en.wikipedia.org/wiki/Javascript" target="_top">Javascript</a>
and thus <span class="QUOTE">"fragile"</span>. So if <span class=
- "emphasis EMPHASIS c3">still</span> a problem, we have an <a href=
- "../user-manual/actions-file.html#ALIASES" target="_top">alias</a> just
- for such sticky situations:</p>
+ "emphasis"><i class="EMPHASIS">still</i></span> a problem, we have an
+ <a href="../user-manual/actions-file.html#ALIASES" target=
+ "_top">alias</a> just for such sticky situations:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
default action <span class="QUOTE">"profiles"</span> in the web based
actions file editor at <a href="http://config.privoxy.org/show-status"
target="_top">http://config.privoxy.org/show-status</a>. See the
- <a class="CITETITLE c4" href="../user-manual/actions-file.html" target=
- "_top">User Manual</a> for a list of actions, and how the default
- profiles are set.</p>
+ <a href="../user-manual/actions-file.html" target="_top"><i class=
+ "CITETITLE">User Manual</i></a> for a list of actions, and how the
+ default profiles are set.</p>
<p>Where the defaults are likely to break some sites, exceptions for
known popular <span class="QUOTE">"problem"</span> 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 <span class="QUOTE">"Cautious"</span> setting. This is safest and
- will have the fewest problems. See the <a class="CITETITLE c4" href=
- "../user-manual/index.html" target="_top">User Manual</a> for a more
- detailed discussion.</p>
+ will have the fewest problems. See the <a href=
+ "../user-manual/index.html" target="_top"><i class="CITETITLE">User
+ Manual</i></a> for a more detailed discussion.</p>
<p>It should be noted that the <span class="QUOTE">"Advanced"</span>
profile (formerly known as the <span class=
<p>The <a href="../user-manual/filter-file.html" target=
"_top"><tt class="FILENAME">default.filter</tt></a> file is where
- <span class="emphasis EMPHASIS c3">filters</span> 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 <span class=
- "emphasis EMPHASIS c3">anything</span> in the page source, header
- filters can be applied to either server or client headers. Regular
- expressions are used to accomplish this.</p>
+ <span class="emphasis"><i class="EMPHASIS">filters</i></span> 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 <span class=
+ "emphasis"><i class="EMPHASIS">anything</i></span> in the page source,
+ header filters can be applied to either server or client headers.
+ Regular expressions are used to accomplish this.</p>
<p>There are a number of pre-defined filters to deal with common
annoyances. The filters are only defined here, to invoke them, you need
MIME types, but if you know better than Privoxy what should or should
not be filtered you can filter any content you like.</p>
- <p>Filters should <span class="emphasis EMPHASIS c3">not</span> be
- confused with <a href="../user-manual/actions-file.html#BLOCK" target=
- "_top"><tt class="LITERAL">blocks</tt></a>, which is a completely
- different action, and is more typically used to block ads and unwanted
- sites.</p>
+ <p>Filters should <span class="emphasis"><i class=
+ "EMPHASIS">not</i></span> be confused with <a href=
+ "../user-manual/actions-file.html#BLOCK" target="_top"><tt class=
+ "LITERAL">blocks</tt></a>, which is a completely different action, and
+ is more typically used to block ads and unwanted sites.</p>
<p>If you are familiar with regular expressions, and HTML, you can look
at the provided <tt class="FILENAME">default.filter</tt> with a text
<span class="APPLICATION">Privoxy</span> on port 8118, this line should
look like:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Alternately, you can have <span class="APPLICATION">Privoxy</span>
listen on all available interfaces:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
your choice. Note that this choice only has effect for images which are
blocked as images, i.e. whose URLs match both a <tt class=
"LITERAL"><a href="../user-manual/actions-file.html#HANDLE-AS-IMAGE"
- target="_top">handle-as-image</a></tt> <span class=
- "emphasis EMPHASIS c3">and</span> <tt class="LITERAL"><a href=
+ target="_top">handle-as-image</a></tt> <span class="emphasis"><i class=
+ "EMPHASIS">and</i></span> <tt class="LITERAL"><a href=
"../user-manual/actions-file.html#BLOCK" target="_top">block</a></tt>
action.</p>
navigation aid or otherwise innocent image was erroneously blocked. It
is recommended for new users so they can <span class=
"QUOTE">"see"</span> what is happening. Some people might also enjoy
- seeing how many banners they <span class=
- "emphasis EMPHASIS c3">don't</span> have to see.</p>
+ seeing how many banners they <span class="emphasis"><i class=
+ "EMPHASIS">don't</i></span> have to see.</p>
</div>
<div class="SECT2">
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 <span class=
- "emphasis EMPHASIS c3">need</span> to be there.</p>
+ come, and why they really <span class="emphasis"><i class=
+ "EMPHASIS">need</i></span> to be there.</p>
<p>See the <a href="http://en.wikipedia.org/wiki/Browser_cookie"
target="_top">Wikipedia cookie definition</a> for more.</p>
unrestricted, both in and out, for <tt class=
"LITERAL">example.com</tt>:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Sure. There are a couple of things you can do for simple
white-listing. Here's one real easy one:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<tt class="FILENAME">default.action</tt> 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 <span class=
- "emphasis EMPHASIS c3">all</span> blocking with the following very
- simple rule in your <tt class="FILENAME">user.action</tt>:</p>
+ reasons, you can very easily over-ride <span class="emphasis"><i class=
+ "EMPHASIS">all</i></span> blocking with the following very simple rule
+ in your <tt class="FILENAME">user.action</tt>:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Or even a more comprehensive reversing of various ad related
actions:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<div class="SECT2">
<h3 class="SECT2"><a name="TEMPLATES" id="TEMPLATES">3.29. How can I
- have custom template pages, like the <span class=
- "emphasis EMPHASIS c3">BLOCKED</span> page?</a></h3>
+ have custom template pages, like the <span class="emphasis"><i class=
+ "EMPHASIS">BLOCKED</i></span> page?</a></h3>
<p><span class="APPLICATION">Privoxy</span> <span class=
"QUOTE">"templates"</span> are specialized text files utilized by
<div class="SECT2">
<h3 class="SECT2"><a name="BLOCKALL" id="BLOCKALL">3.30. How can I
remove the <span class="QUOTE">"Go There Anyway"</span> link from the
- <span class="emphasis EMPHASIS c3">BLOCKED</span> page?</a></h3>
+ <span class="emphasis"><i class="EMPHASIS">BLOCKED</i></span>
+ page?</a></h3>
<p>There is more than one way to do it (although Perl is not
involved).</p>
that are available as compile-time options. You should <b class=
"COMMAND">configure</b> the sources as follows:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"copyright.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"copyright.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
<p>Before doing so, please make sure that the bug has <span class=
- "emphasis EMPHASIS c2">not already been submitted</span> and observe
- the additional hints at the top of the <a href=
+ "emphasis"><i class="EMPHASIS">not already been submitted</i></span>
+ and observe the additional hints at the top of the <a href=
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
target="_top">submit form</a>. If already submitted, please feel free
to add any info to the original report that might help to solve the
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"contact.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- a.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<td width="10%" align="right" valign="bottom"> </td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<p>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 <a class=
- "CITETITLE c2" href=
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a href=
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
- "_top">GNU General Public License</a> for details.</p>
+ "_top"><i class="CITETITLE">GNU General Public License</i></a> for
+ details.</p>
<p>You should have received a copy of the <i class="CITETITLE">GNU
GPL</i> along with this program; if not, write to the</p>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Installation" href="installation.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"installation.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
past and make a name in their own right.</p>
<p><span class="APPLICATION">Privoxy</span> is the <span class=
- "QUOTE">"<span class="emphasis EMPHASIS c2">Privacy Enhancing
- Proxy</span>"</span>. Also, its content modification and junk
- suppression gives <span class="emphasis EMPHASIS c2">you</span>, the
- user, more control, more freedom, and allows you to browse your
- personal and <span class="QUOTE">"<span class=
- "emphasis EMPHASIS c2">private</span> edition"</span> of the web.</p>
+ "QUOTE">"<span class="emphasis"><i class="EMPHASIS">Privacy Enhancing
+ Proxy</i></span>"</span>. Also, its content modification and junk
+ suppression gives <span class="emphasis"><i class=
+ "EMPHASIS">you</i></span>, the user, more control, more freedom, and
+ allows you to browse your personal and <span class=
+ "QUOTE">"<span class="emphasis"><i class="EMPHASIS">private</i></span>
+ edition"</span> of the web.</p>
</div>
<div class="SECT2">
is twofold:</p>
<p>First, there are certain patterns in the <span class=
- "emphasis EMPHASIS c2">locations</span> (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 <span class=
+ "emphasis"><i class="EMPHASIS">locations</i></span> (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 <span class=
"QUOTE">"banners"</span>!) and the host (blocking the big banner
hosting services like doublecklick.net already helps a lot).
<span class="APPLICATION">Privoxy</span> takes advantage of this fact
that sound like they would be ads or banners.</p>
<p>Second, banners tend to come in certain <span class=
- "emphasis EMPHASIS c2">sizes</span>. 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, <span class="APPLICATION">Privoxy</span>
- 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.</p>
+ "emphasis"><i class="EMPHASIS">sizes</i></span>. 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, <span class=
+ "APPLICATION">Privoxy</span> 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.</p>
<p>Both of this involves a certain amount of guesswork and is, of
course, freely and readily configurable.</p>
<p>That depends on your expectations. The default installation should
give you a good starting point, and block <span class=
- "emphasis EMPHASIS c2">most</span> ads and unwanted content, but many
- of the more advanced features are off by default, and require you to
- activate them.</p>
+ "emphasis"><i class="EMPHASIS">most</i></span> ads and unwanted
+ content, but many of the more advanced features are off by default, and
+ require you to activate them.</p>
<p>You do have to set up your browser to use <span class=
"APPLICATION">Privoxy</span> (see the <a href=
does the same things as Privoxy. Why should I use Privoxy at
all?</a></h3>
- <p>Modern browsers do indeed have <span class=
- "emphasis EMPHASIS c2">some</span> of the same functionality as
- <span class="APPLICATION">Privoxy</span>. Maybe this is adequate for
- you. But <span class="APPLICATION">Privoxy</span> is very versatile and
+ <p>Modern browsers do indeed have <span class="emphasis"><i class=
+ "EMPHASIS">some</i></span> of the same functionality as <span class=
+ "APPLICATION">Privoxy</span>. Maybe this is adequate for you. But
+ <span class="APPLICATION">Privoxy</span> is very versatile and
powerful, and can probably do a number of things your browser just
can't.</p>
trust Privoxy?</a></h3>
<p>The most important reason is because you have access to <span class=
- "emphasis EMPHASIS c2">everything</span>, 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
+ "emphasis"><i class="EMPHASIS">everything</i></span>, 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 <span class="emphasis EMPHASIS c2">yours</span>.
- In fact, we encourage this level of scrutiny. It is one reason we use
- <span class="APPLICATION">Privoxy</span> ourselves.</p>
+ clean, and that it is <span class="emphasis"><i class=
+ "EMPHASIS">yours</i></span>. In fact, we encourage this level of
+ scrutiny. It is one reason we use <span class=
+ "APPLICATION">Privoxy</span> ourselves.</p>
</div>
<div class="SECT2">
for more information on the license and copyright. Or the <tt class=
"FILENAME">LICENSE</tt> file that should be included.</p>
- <p>There is <span class="emphasis EMPHASIS c2">no warranty</span> of
- any kind, expressed, implied or otherwise. That is something that would
- cost real money ;-) There is no registration either.</p>
+ <p>There is <span class="emphasis"><i class="EMPHASIS">no
+ warranty</i></span> of any kind, expressed, implied or otherwise. That
+ is something that would cost real money ;-) There is no registration
+ either.</p>
</div>
<div class="SECT2">
<h4 class="SECT3"><a name="PARTICIPATE" id="PARTICIPATE">1.17.1.
Would you like to participate?</a></h4>
- <p>Well, we <span class="emphasis EMPHASIS c2">always</span> 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 <span class=
- "emphasis EMPHASIS c2">DO NOT</span> need to be a <span class=
- "QUOTE">"programmer"</span>. 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.</p>
+ <p>Well, we <span class="emphasis"><i class=
+ "EMPHASIS">always</i></span> 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 <span class="emphasis"><i class="EMPHASIS">DO
+ NOT</i></span> need to be a <span class="QUOTE">"programmer"</span>.
+ 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.</p>
<p>So first thing, subscribe to the <a href=
"https://lists.sourceforge.net/lists/listinfo/ijbswa-users" target=
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="General Information" href="general.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c4 {text-align: left}
- span.c3 {font-style: italic}
- dt.c2 {font-weight: bold}
- a.c1 {font-style: italic}
- </style>
</head>
-<body class="ARTICLE">
+<body class="ARTICLE" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
<h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy Frequently Asked
<p class="PUBDATE">$Id: faq.sgml,v 2.85 2011/12/26 17:05:40 fabiankeil
Exp $<br></p>
- <div class="ABSTRACT">
- <a name="AEN9" id="AEN9"></a>
-
- <p>This FAQ gives quick answers to frequently asked questions about
- <a href="http://www.privoxy.org/" target="_top">Privoxy</a>. It is
- not a substitute for the <a class="CITETITLE c1" href=
- "../user-manual/index.html" target="_top">Privoxy User
- Manual</a>.</p>
-
- <p>What is Privoxy?</p>
-
- <p>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.</p>
-
- <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
-
- <p>Privoxy is an associated project of Software in the Public
- Interest (SPI).</p>
-
- <p>Helping hands and donations are welcome:</p>
-
- <ul>
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
- </li>
-
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
- </li>
- </ul>
-
- <p>Please note that this document is a work in progress. This copy
- represents the state at the release of version 3.0.20. You can find
- the latest version of the document at <a href=
- "http://www.privoxy.org/faq/" target=
- "_top">http://www.privoxy.org/faq/</a>. Please see the <a href=
- "contact.html">Contact section</a> if you want to contact the
- developers.</p>
+ <div>
+ <div class="ABSTRACT">
+ <a name="AEN9" id="AEN9"></a>
+
+ <p>This FAQ gives quick answers to frequently asked questions about
+ <a href="http://www.privoxy.org/" target="_top">Privoxy</a>. It is
+ not a substitute for the <a href="../user-manual/index.html"
+ target="_top"><i class="CITETITLE">Privoxy User Manual</i></a>.</p>
+
+ <p>What is Privoxy?</p>
+
+ <p>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.</p>
+
+ <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+ <p>Privoxy is an associated project of Software in the Public
+ Interest (SPI).</p>
+
+ <p>Helping hands and donations are welcome:</p>
+
+ <ul>
+ <li>
+ <p><a href=
+ "http://www.privoxy.org/faq/general.html#PARTICIPATE" target=
+ "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
+ </li>
+
+ <li>
+ <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+ target=
+ "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
+ </li>
+ </ul>
+
+ <p>Please note that this document is a work in progress. This copy
+ represents the state at the release of version 3.0.19. You can find
+ the latest version of the document at <a href=
+ "http://www.privoxy.org/faq/" target=
+ "_top">http://www.privoxy.org/faq/</a>. Please see the <a href=
+ "contact.html">Contact section</a> if you want to contact the
+ developers.</p>
+ </div>
</div>
<hr>
</div>
<div class="TOC">
<dl>
- <dt class="c2">Table of Contents</dt>
+ <dt><b>Table of Contents</b></dt>
<dt>1. <a href="general.html">General Information</a></dt>
off ad-blocking?</a></dt>
<dt>3.29. <a href="configuration.html#TEMPLATES">How can I have
- custom template pages, like the <span class=
- "emphasis EMPHASIS c3">BLOCKED</span> page?</a></dt>
+ custom template pages, like the <span class="emphasis"><i class=
+ "EMPHASIS">BLOCKED</i></span> page?</a></dt>
<dt>3.30. <a href="configuration.html#BLOCKALL">How can I remove
the <span class="QUOTE">"Go There Anyway"</span> link from the
- <span class="emphasis EMPHASIS c3">BLOCKED</span> page?</a></dt>
+ <span class="emphasis"><i class="EMPHASIS">BLOCKED</i></span>
+ page?</a></dt>
</dl>
</dd>
</div>
<div class="NAVFOOTER">
- <hr class="c4" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Configuration" href="configuration.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"configuration.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<span class="QUOTE">"Privoxy is not being used"</span> dummy page
although Privoxy is running and being used.</a></h3>
- <p>First, make sure that Privoxy is <span class=
- "emphasis EMPHASIS c2">really</span> running and being used by visiting
+ <p>First, make sure that Privoxy is <span class="emphasis"><i class=
+ "EMPHASIS">really</i></span> running and being used by visiting
<a href="http://p.p/" target="_top">http://p.p/</a>. You should see the
<span class="APPLICATION">Privoxy</span> main page. If not, see the
<a href="http://www.privoxy.org/user-manual/startup.html" target=
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<link rel="NEXT" title="Troubleshooting" href="trouble.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- table.c3 {background-color: #E0E0E0}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
you get a page saying <span class="QUOTE">"Privoxy is not
working"</span> instead, then your browser didn't use <span class=
"APPLICATION">Privoxy</span> for the request, hence it could not be
- intercepted, and you have accessed the <span class=
- "emphasis EMPHASIS c2">real</span> web site at config.privoxy.org.</p>
+ intercepted, and you have accessed the <span class="emphasis"><i class=
+ "EMPHASIS">real</i></span> web site at config.privoxy.org.</p>
</div>
<div class="SECT2">
assume that everything you do on the Web can be traced back to you.</p>
<p><span class="APPLICATION">Privoxy</span> can remove various
- information about you, and allows <span class=
- "emphasis EMPHASIS c2">you</span> 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 <span class=
+ information about you, and allows <span class="emphasis"><i class=
+ "EMPHASIS">you</i></span> 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 <span class=
"APPLICATION">Privoxy</span> configuration and chained it with
<span class="APPLICATION">Tor</span>.</p>
"../user-manual/config.html#FORWARDING" target="_top">forwarding
section</a> and uncomment the line:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
want to uncomment the following forward rules, to make sure your local
network is still reachable through Privoxy:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
network by using their names, you will need additional exceptions that
look like this:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
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 <span class="QUOTE">"<span class=
- "emphasis EMPHASIS c2">Turn off <tt class="LITERAL">fast-redirects</tt>
- or else!</span> "</span></p>
+ message that says <span class="QUOTE">"<span class="emphasis"><i class=
+ "EMPHASIS">Turn off <tt class="LITERAL">fast-redirects</tt> or
+ else!</i></span> "</span></p>
<p>Similar thoughts apply to modifying JavaScript, and, to a lesser
degree, HTML elements.</p>
they can. <span class="APPLICATION">Privoxy</span> can help protect
your privacy, but can't protect your system from intrusion attempts. It
is, of course, perfectly possible to use <span class=
- "emphasis EMPHASIS c2">both</span>.</p>
+ "emphasis"><i class="EMPHASIS">both</i></span>.</p>
</div>
<div class="SECT2">
<p>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 <span class="APPLICATION">Privoxy's</span> filters, and
- eliminating the <span class="emphasis EMPHASIS c2">entire</span> image
- references from the HTML page source.</p>
+ eliminating the <span class="emphasis"><i class=
+ "EMPHASIS">entire</i></span> image references from the HTML page
+ source.</p>
<p>But, this would consume considerably more CPU resources (IOW, slow
things down), would likely destroy the layout of some web pages which
<p>Since secure HTTP connections are encrypted SSL sessions between
your browser and the secure site, and are meant to be reliably
- <span class="emphasis EMPHASIS c2">secure</span>, there is little that
- <span class="APPLICATION">Privoxy</span> can do but hand the raw
- gibberish data though from one end to the other unprocessed.</p>
+ <span class="emphasis"><i class="EMPHASIS">secure</i></span>, there is
+ little that <span class="APPLICATION">Privoxy</span> can do but hand
+ the raw gibberish data though from one end to the other
+ unprocessed.</p>
<p>The only exception to this is blocking by host patterns, as the
client needs to tell <span class="APPLICATION">Privoxy</span> the name
<p>A <span class="QUOTE">"crunch"</span> simply means <span class=
"APPLICATION">Privoxy</span> intercepted <span class=
- "emphasis EMPHASIS c2">something</span>, nothing more. Often this is
- indeed ads or banners, but <span class="APPLICATION">Privoxy</span>
- uses the same mechanism for trapping requests for its own internal
- pages. For instance, a request for <span class=
- "APPLICATION">Privoxy's</span> configuration page at: <a href=
- "http://config.privoxy.org" target=
+ "emphasis"><i class="EMPHASIS">something</i></span>, nothing more.
+ Often this is indeed ads or banners, but <span class=
+ "APPLICATION">Privoxy</span> uses the same mechanism for trapping
+ requests for its own internal pages. For instance, a request for
+ <span class="APPLICATION">Privoxy's</span> configuration page at:
+ <a href="http://config.privoxy.org" target=
"_top">http://config.privoxy.org</a>, 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 <span class=
<span class="QUOTE">"good"</span> content that we do want. <span class=
"APPLICATION">Privoxy</span> is blind to the differences, and can only
distinguish <span class="QUOTE">"good from bad"</span> by the
- configuration parameters <span class="emphasis EMPHASIS c2">we</span>
- give it.</p>
+ configuration parameters <span class="emphasis"><i class=
+ "EMPHASIS">we</i></span> give it.</p>
<p><span class="APPLICATION">Privoxy</span> knows the differences in
files according to the <span class="QUOTE">"Content Type"</span> as
<p>In short, filtering is <span class="QUOTE">"ON"</span> if a) the
content type as reported by the webserver is appropriate <span class=
- "emphasis EMPHASIS c2">and</span> 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 <span class="QUOTE">"good"</span> and this is
- <span class="QUOTE">"bad"</span>. It's the configuration that lets it
- all happen or not.</p>
+ "emphasis"><i class="EMPHASIS">and</i></span> 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 <span class="QUOTE">"good"</span>
+ and this is <span class="QUOTE">"bad"</span>. It's the configuration
+ that lets it all happen or not.</p>
<p>If you download text files, you probably do not want these to be
filtered, particularly if the content is source code, or other critical
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
<tt class="FILENAME">user.action</tt> file. And also, for any site or
- page where making <span class="emphasis EMPHASIS c2">any</span> changes
- at all to the content is to be avoided.</p>
+ page where making <span class="emphasis"><i class=
+ "EMPHASIS">any</i></span> changes at all to the content is to be
+ avoided.</p>
<p><span class="APPLICATION">Privoxy</span> does not do FTP at all,
only HTTP and HTTPS (SSL) protocols.</p>
adding your list to your <tt class="FILENAME">user.action</tt>
file:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
"contact.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c3 {font-style: italic}
- table.c2 {background-color: #E0E0E0}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
(meaning caught and BLOCKED) quite a few items in this example, but
perhaps missed a few as well.</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
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 <span class="emphasis EMPHASIS c3">required</span>. Now, armed
- with this information, go to <a href=
- "http://config.privoxy.org/show-status" target=
+ might be <span class="emphasis"><i class=
+ "EMPHASIS">required</i></span>. Now, armed with this information, go to
+ <a href="http://config.privoxy.org/show-status" target=
"_top">http://config.privoxy.org/show-status</a> and select the
appropriate actions files for editing.</p>
<p><span class="APPLICATION">Privoxy</span> cannot act as a proxy for
FTP traffic, so do not configure your browser to use <span class=
"APPLICATION">Privoxy</span> as an FTP proxy. The same is true for
- <span class="emphasis EMPHASIS c3">any protocol other than HTTP or
- HTTPS (SSL)</span>.</p>
+ <span class="emphasis"><i class="EMPHASIS">any protocol other than HTTP
+ or HTTPS (SSL)</i></span>.</p>
<p>Most browsers understand FTP as well as HTTP. If you connect to a
site, with a URL like <tt class="LITERAL">ftp://ftp.example.com</tt>,
<p>To complicate matters, some systems may have a generic <span class=
"QUOTE">"proxy"</span> setting, which will enable various protocols,
- including <span class="emphasis EMPHASIS c3">both</span> HTTP and FTP
- proxying! So it is possible to accidentally enable FTP proxying in
- these cases. And of course, if this happens, <span class=
+ including <span class="emphasis"><i class="EMPHASIS">both</i></span>
+ HTTP and FTP proxying! So it is possible to accidentally enable FTP
+ proxying in these cases. And of course, if this happens, <span class=
"APPLICATION">Privoxy</span> 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
the site to a <tt class="LITERAL">-prevent-compression</tt> section in
<tt class="FILENAME">user.action</tt>:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p><span class="APPLICATION">Privoxy</span> 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 <tt class="FILENAME">config</tt>
- file <span class="emphasis EMPHASIS c3">listen-address</span> setting).
- If the system cannot supply this information, <span class=
- "APPLICATION">Privoxy</span> logs this condition.</p>
+ file <span class="emphasis"><i class=
+ "EMPHASIS">listen-address</i></span> setting). If the system cannot
+ supply this information, <span class="APPLICATION">Privoxy</span> logs
+ this condition.</p>
<p>Typically, this would be considered a minor system configuration
error. It is not a fatal error to <span class=
<p>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 <span class=
- "emphasis EMPHASIS c3">should not be on</span>.</p>
+ "emphasis"><i class="EMPHASIS">should not be on</i></span>.</p>
<p>On the other hand, if you use non-Microsoft products, and you
occasionally notice weird characters on pages, you might want to try
by <span class="APPLICATION">Privoxy</span> and add the hosts (no path
patterns) to a section like this:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<meta name="description" content=
"Privoxy helps users to protect their privacy.">
<meta name="MSSmartTagsPreventParsing" content="TRUE">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- col.c1 {text-align: center}
- </style>
</head>
-<body class="ARTICLE">
+<body class="ARTICLE" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
<h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - Home Page</a></h1>
- <div class="ABSTRACT">
- <a name="AEN28" id="AEN28"></a>
-
- <p>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.</p>
-
- <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
-
- <p>Privoxy is an associated project of Software in the Public
- Interest (SPI).</p>
-
- <p>Helping hands and donations are welcome:</p>
-
- <ul>
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
- </li>
-
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
- </li>
- </ul>
-
- <p>The most recent release is <a href="announce.txt" target=
- "_top">3.0.20 (UNRELEASED)</a>.</p>
+ <div>
+ <div class="ABSTRACT">
+ <a name="AEN28" id="AEN28"></a>
+
+ <p>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.</p>
+
+ <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+ <p>Privoxy is an associated project of Software in the Public
+ Interest (SPI).</p>
+
+ <p>Helping hands and donations are welcome:</p>
+
+ <ul>
+ <li>
+ <p><a href=
+ "http://www.privoxy.org/faq/general.html#PARTICIPATE" target=
+ "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
+ </li>
+
+ <li>
+ <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+ target=
+ "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
+ </li>
+ </ul>
+
+ <p>The most recent release is <a href="announce.txt" target=
+ "_top">3.0.19 (stable)</a>.</p>
+ </div>
</div>
<hr>
</div>
<table border="0" frame="void" rules="all" width="100%" class=
"CALSTABLE">
- <col class="c1" width="100%" title="C1">
+ <col width="100%" align="center" title="C1">
<tbody>
<tr>
<html>
<head>
<meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
+ "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
<title>Privoxy Man page</title>
<link rel="stylesheet" type="text/css" href="../p_web.css">
<meta name="description" content=
"Privoxy helps users to protect their privacy.">
<meta name="MSSmartTagsPreventParsing" content="TRUE">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- </style>
</head>
-<body class="ARTICLE">
+<body class="ARTICLE" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
<h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - The Privacy
Enhancing Proxy</a></h1>
- <h2 class="SUBTITLE">Project Index Page v3.0.20</h2>
-
- <div class="ABSTRACT">
- <a name="AEN29" id="AEN29"></a>
-
- <p>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.</p>
-
- <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
-
- <p>Privoxy is an associated project of Software in the Public
- Interest (SPI).</p>
-
- <p>Helping hands and donations are welcome:</p>
-
- <ul>
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
- </li>
-
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
- </li>
- </ul>
+ <h2 class="SUBTITLE">Project Index Page v3.0.19</h2>
+
+ <div>
+ <div class="ABSTRACT">
+ <a name="AEN29" id="AEN29"></a>
+
+ <p>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.</p>
+
+ <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+ <p>Privoxy is an associated project of Software in the Public
+ Interest (SPI).</p>
+
+ <p>Helping hands and donations are welcome:</p>
+
+ <ul>
+ <li>
+ <p><a href=
+ "http://www.privoxy.org/faq/general.html#PARTICIPATE" target=
+ "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
+ </li>
+
+ <li>
+ <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+ target=
+ "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
+ </li>
+ </ul>
+ </div>
</div>
<hr>
</div>
<html>
<head>
<meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
+ "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<title>Privoxy - Team Photos</title>
<title>Actions Files</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="The Main Configuration File" href=
"config.html">
<link rel="NEXT" title="Filter Files" href="filter-file.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- td.c6 {font-weight: bold}
- tt.c5 {font-style: italic}
- table.c4 {background-color: #E0E0E0}
- p.c3 {font-weight: bold}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
"filter-file.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
Files</a></h1>
<p>The actions files are used to define what <span class=
- "emphasis EMPHASIS c2">actions</span> <span class=
+ "emphasis"><i class="EMPHASIS">actions</i></span> <span class=
"APPLICATION">Privoxy</span> 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).
<span class="GUIBUTTON">Set to Advanced</span></p>
<p>These have increasing levels of aggressiveness <span class=
- "emphasis EMPHASIS c2">and have no influence on your browsing unless
- you select them explicitly in the editor</span>. A default
+ "emphasis"><i class="EMPHASIS">and have no influence on your browsing
+ unless you select them explicitly in the editor</i></span>. A default
installation should be pre-set to <tt class="LITERAL">Cautious</tt>.
New users should try this for a while before adjusting the settings
to more aggressive levels. The more aggressive the settings, then the
in <tt class="FILENAME">default.action</tt> are:</p>
<div class="TABLE">
- <a name="AEN2799" id="AEN2799"></a>
+ <a name="AEN2780" id="AEN2780"></a>
- <p class="c3">Table 1. Default Configurations</p>
+ <p><b>Table 1. Default Configurations</b></p>
<table border="1" frame="border" rules="all" class="CALSTABLE">
<col width="1*" title="C1">
<tt class="FILENAME">default.action</tt>), followed by any exceptions
(typically also in <tt class="FILENAME">default.action</tt>), which are
then followed lastly by any local preferences (typically in <span class=
- "emphasis EMPHASIS c2">user</span><tt class="FILENAME">.action</tt>).
- Generally, <tt class="FILENAME">user.action</tt> has the last word.</p>
+ "emphasis"><i class="EMPHASIS">user</i></span><tt class=
+ "FILENAME">.action</tt>). Generally, <tt class=
+ "FILENAME">user.action</tt> has the last word.</p>
<p>An actions file typically has multiple sections. If you want to use
<span class="QUOTE">"aliases"</span> in an actions file, you have to
place the (optional) <a href="actions-file.html#ALIASES">alias
section</a> at the top of that file. Then comes the default set of rules
which will apply universally to all sites and pages (be <span class=
- "emphasis EMPHASIS c2">very careful</span> with using such a universal
- set in <tt class="FILENAME">user.action</tt> or any other actions file
- after <tt class="FILENAME">default.action</tt>, because it will override
- the result from consulting any previous file). And then below that,
- exceptions to the defined universal policies. You can regard <tt class=
- "FILENAME">user.action</tt> as an appendix to <tt class=
+ "emphasis"><i class="EMPHASIS">very careful</i></span> with using such a
+ universal set in <tt class="FILENAME">user.action</tt> or any other
+ actions file after <tt class="FILENAME">default.action</tt>, because it
+ will override the result from consulting any previous file). And then
+ below that, exceptions to the defined universal policies. You can regard
+ <tt class="FILENAME">user.action</tt> as an appendix to <tt class=
"FILENAME">default.action</tt>, with the advantage that it is a separate
file, which makes preserving your personal settings across <span class=
"APPLICATION">Privoxy</span> upgrades easier.</p>
actions</a>.</p>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN2898" id="AEN2898">8.1. Finding the Right
+ <h2 class="SECT2"><a name="AEN2879" id="AEN2879">8.1. Finding the Right
Mix</a></h2>
<p>Note that some <a href="actions-file.html#ACTIONS">actions</a>, like
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN2905" id="AEN2905">8.2. How to
+ <h2 class="SECT2"><a name="AEN2886" id="AEN2886">8.2. How to
Edit</a></h2>
<p>The easiest way to edit the actions files is with a browser by using
+<a href="actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a>
}</tt>, then later another one with just <tt class="LITERAL">{
+<a href="actions-file.html#BLOCK">block</a> }</tt>, resulting in
- <span class="emphasis EMPHASIS c2">both</span> actions to apply. And
- there may well be cases where you will want to combine actions
- together. Such a section then might look like:</p>
+ <span class="emphasis"><i class="EMPHASIS">both</i></span> actions to
+ apply. And there may well be cases where you will want to combine
+ actions together. Such a section then might look like:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>As mentioned, <span class="APPLICATION">Privoxy</span> uses
<span class="QUOTE">"patterns"</span> to determine what <span class=
- "emphasis EMPHASIS c2">actions</span> might apply to which sites and
- pages your browser attempts to access. These <span class=
+ "emphasis"><i class="EMPHASIS">actions</i></span> might apply to which
+ sites and pages your browser attempts to access. These <span class=
"QUOTE">"patterns"</span> use wild card type <span class=
- "emphasis EMPHASIS c2">pattern</span> matching to achieve a high degree
- of flexibility. This allows one expression to be expanded and
- potentially match against many similar patterns.</p>
+ "emphasis"><i class="EMPHASIS">pattern</i></span> matching to achieve a
+ high degree of flexibility. This allows one expression to be expanded
+ and potentially match against many similar patterns.</p>
<p>Generally, an URL pattern has the form <tt class=
"LITERAL"><domain><port>/<path></tt>, where the
"LITERAL"><path></tt> are optional. (This is why the special
<tt class="LITERAL">/</tt> pattern matches all URLs). Note that the
protocol portion of the URL pattern (e.g. <tt class=
- "LITERAL">http://</tt>) should <span class=
- "emphasis EMPHASIS c2">not</span> be included in the pattern. This is
- assumed already!</p>
+ "LITERAL">http://</tt>) should <span class="emphasis"><i class=
+ "EMPHASIS">not</i></span> be included in the pattern. This is assumed
+ already!</p>
<p>The pattern matching syntax is different for the domain and path
parts of the URL. The domain part uses a simple globbing type matching
<dd>
<p>matches the document <tt class="LITERAL">/index.html</tt>,
regardless of the domain, i.e. on <span class=
- "emphasis EMPHASIS c2">any</span> web server anywhere.</p>
+ "emphasis"><i class="EMPHASIS">any</i></span> web server
+ anywhere.</p>
</dd>
<dt><tt class="LITERAL">/</tt></dt>
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN3017" id="AEN3017">8.4.1. The Domain
+ <h3 class="SECT3"><a name="AEN2998" id="AEN2998">8.4.1. The Domain
Pattern</a></h3>
<p>The matching of the domain part offers some flexible options: if
<dt><tt class="LITERAL">www.</tt></dt>
<dd>
- <p>matches any domain that <span class=
- "emphasis EMPHASIS c2">STARTS</span> with <tt class=
- "LITERAL">www.</tt> (It also matches the domain <tt class=
- "LITERAL">www</tt> but most of the time that doesn't
- matter.)</p>
+ <p>matches any domain that <span class="emphasis"><i class=
+ "EMPHASIS">STARTS</i></span> with <tt class="LITERAL">www.</tt>
+ (It also matches the domain <tt class="LITERAL">www</tt> but
+ most of the time that doesn't matter.)</p>
</dd>
<dt><tt class="LITERAL">.example.</tt></dt>
<dd>
- <p>matches any domain that <span class=
- "emphasis EMPHASIS c2">CONTAINS</span> <tt class=
+ <p>matches any domain that <span class="emphasis"><i class=
+ "EMPHASIS">CONTAINS</i></span> <tt class=
"LITERAL">.example.</tt>. 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
<tt class="LITERAL">www4.example.cc</tt>, <tt class=
"LITERAL">wwwd.example.cy</tt>, <tt class=
"LITERAL">wwwz.example.com</tt> etc., but <span class=
- "emphasis EMPHASIS c2">not</span> <tt class=
+ "emphasis"><i class="EMPHASIS">not</i></span> <tt class=
"LITERAL">wwww.example.com</tt>.</p>
</dd>
</dl>
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN3093" id="AEN3093">8.4.2. The Path
+ <h3 class="SECT3"><a name="AEN3074" id="AEN3074">8.4.2. The Path
Pattern</a></h3>
<p><span class="APPLICATION">Privoxy</span> uses <span class=
the beginning of a line).</p>
<p>Please also note that matching in the path is <span class=
- "emphasis EMPHASIS c2">CASE INSENSITIVE</span> by default, but you
- can switch to case sensitive at any point in the pattern by using the
- <span class="QUOTE">"(?-i)"</span> switch: <tt class=
- "LITERAL">www.example.com/(?-i)PaTtErN.*</tt> will match only
- documents whose path starts with <tt class="LITERAL">PaTtErN</tt> in
- <span class="emphasis EMPHASIS c2">exactly</span> this
- capitalization.</p>
+ "emphasis"><i class="EMPHASIS">CASE INSENSITIVE</i></span> by
+ default, but you can switch to case sensitive at any point in the
+ pattern by using the <span class="QUOTE">"(?-i)"</span> switch:
+ <tt class="LITERAL">www.example.com/(?-i)PaTtErN.*</tt> will match
+ only documents whose path starts with <tt class=
+ "LITERAL">PaTtErN</tt> in <span class="emphasis"><i class=
+ "EMPHASIS">exactly</i></span> this capitalization.</p>
<div class="VARIABLELIST">
<dl>
"QUOTE">"enabled"</span> or <span class="QUOTE">"disabled"</span>.
Syntax:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
- +<tt class="REPLACEABLE c5">name</tt> # enable action <tt class=
-"REPLACEABLE c5">name</tt>
- -<tt class="REPLACEABLE c5">name</tt> # disable action <tt class=
-"REPLACEABLE c5">name</tt>
+ +<tt class="REPLACEABLE"><i>name</i></tt> # enable action <tt class=
+"REPLACEABLE"><i>name</i></tt>
+ -<tt class=
+"REPLACEABLE"><i>name</i></tt> # disable action <tt class="REPLACEABLE"><i>name</i></tt>
</pre>
</td>
</tr>
<p>Parameterized, where some value is required in order to enable
this type of action. Syntax:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
- +<tt class="REPLACEABLE c5">name</tt>{<tt class=
-"REPLACEABLE c5">param</tt>} # enable action and set parameter to <tt class=
-"REPLACEABLE c5">param</tt>,
+ +<tt class="REPLACEABLE"><i>name</i></tt>{<tt class=
+"REPLACEABLE"><i>param</i></tt>} # enable action and set parameter to <tt class="REPLACEABLE"><i>param</i></tt>,
# overwriting parameter from previous match if necessary
-<tt class=
-"REPLACEABLE c5">name</tt> # disable action. The parameter can be omitted
+"REPLACEABLE"><i>name</i></tt> # disable action. The parameter can be omitted
</pre>
</td>
</tr>
<p>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, <span class=
- "emphasis EMPHASIS c2">all</span> the parameters from <span class=
- "emphasis EMPHASIS c2">all</span> 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:</p>
+ "emphasis"><i class="EMPHASIS">all</i></span> the parameters from
+ <span class="emphasis"><i class="EMPHASIS">all</i></span> 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:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
- +<tt class="REPLACEABLE c5">name</tt>{<tt class=
-"REPLACEABLE c5">param</tt>} # enable action and add <tt class=
-"REPLACEABLE c5">param</tt> to the list of parameters
- -<tt class="REPLACEABLE c5">name</tt>{<tt class=
-"REPLACEABLE c5">param</tt>} # remove the parameter <tt class=
-"REPLACEABLE c5">param</tt> from the list of parameters
+ +<tt class="REPLACEABLE"><i>name</i></tt>{<tt class=
+"REPLACEABLE"><i>param</i></tt>} # enable action and add <tt class=
+"REPLACEABLE"><i>param</i></tt> to the list of parameters
+ -<tt class="REPLACEABLE"><i>name</i></tt>{<tt class=
+"REPLACEABLE"><i>param</i></tt>} # remove the parameter <tt class=
+"REPLACEABLE"><i>param</i></tt> from the list of parameters
# If it was the last one left, disable the action.
<tt class=
-"REPLACEABLE c5">-name</tt> # disable this action completely and remove all parameters from the list
+"REPLACEABLE"><i>-name</i></tt> # disable this action completely and remove all parameters from the list
</pre>
</td>
</tr>
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
force feature is available and enabled).</p>
<p>A very important exception occurs if <span class=
- "emphasis EMPHASIS c2">both</span> <tt class=
+ "emphasis"><i class="EMPHASIS">both</i></span> <tt class=
"LITERAL">block</tt> and <tt class="LITERAL"><a href=
"actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>,
apply to the same request: it will then be replaced by an
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (sections):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
every client header that contains the string you supplied as
parameter.</p>
- <p>Regular expressions are <span class=
- "emphasis EMPHASIS c2">not supported</span> and you can't use
- this action to block different headers in the same request,
- unless they contain the same string.</p>
+ <p>Regular expressions are <span class="emphasis"><i class=
+ "EMPHASIS">not supported</i></span> and you can't use this
+ action to block different headers in the same request, unless
+ they contain the same string.</p>
<p><tt class="LITERAL">crunch-client-header</tt> is only meant
for quick tests. If you have to block several different
<div class="WARNING">
<table class="WARNING" border="1" width="90%">
<tr>
- <td class="c6" align="center">Warning</td>
+ <td align="center"><b>Warning</b></td>
</tr>
<tr>
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dd>
<p>This action is only concerned with <span class=
- "emphasis EMPHASIS c2">incoming</span> HTTP cookies. For
- <span class="emphasis EMPHASIS c2">outgoing</span> HTTP
- cookies, use <tt class="LITERAL"><a href=
+ "emphasis"><i class="EMPHASIS">incoming</i></span> HTTP
+ cookies. For <span class="emphasis"><i class=
+ "EMPHASIS">outgoing</i></span> HTTP cookies, use <tt class=
+ "LITERAL"><a href=
"actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>.
- Use <span class="emphasis EMPHASIS c2">both</span> to disable
- HTTP cookies completely.</p>
+ Use <span class="emphasis"><i class="EMPHASIS">both</i></span>
+ to disable HTTP cookies completely.</p>
- <p>It makes <span class="emphasis EMPHASIS c2">no sense at
- all</span> to use this action in conjunction with the
+ <p>It makes <span class="emphasis"><i class="EMPHASIS">no sense
+ at all</i></span> to use this action in conjunction with the
<tt class="LITERAL"><a href=
"actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></tt>
action, since it would prevent the session cookies from being
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
every server header that contains the string you supplied as
parameter.</p>
- <p>Regular expressions are <span class=
- "emphasis EMPHASIS c2">not supported</span> and you can't use
- this action to block different headers in the same request,
- unless they contain the same string.</p>
+ <p>Regular expressions are <span class="emphasis"><i class=
+ "EMPHASIS">not supported</i></span> and you can't use this
+ action to block different headers in the same request, unless
+ they contain the same string.</p>
<p><tt class="LITERAL">crunch-server-header</tt> is only meant
for quick tests. If you have to block several different
<div class="WARNING">
<table class="WARNING" border="1" width="90%">
<tr>
- <td class="c6" align="center">Warning</td>
+ <td align="center"><b>Warning</b></td>
</tr>
<tr>
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dd>
<p>This action is only concerned with <span class=
- "emphasis EMPHASIS c2">outgoing</span> HTTP cookies. For
- <span class="emphasis EMPHASIS c2">incoming</span> HTTP
- cookies, use <tt class="LITERAL"><a href=
+ "emphasis"><i class="EMPHASIS">outgoing</i></span> HTTP
+ cookies. For <span class="emphasis"><i class=
+ "EMPHASIS">incoming</i></span> HTTP cookies, use <tt class=
+ "LITERAL"><a href=
"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>.
- Use <span class="emphasis EMPHASIS c2">both</span> to disable
- HTTP cookies completely.</p>
+ Use <span class="emphasis"><i class="EMPHASIS">both</i></span>
+ to disable HTTP cookies completely.</p>
- <p>It makes <span class="emphasis EMPHASIS c2">no sense at
- all</span> to use this action in conjunction with the
+ <p>It makes <span class="emphasis"><i class="EMPHASIS">no sense
+ at all</i></span> to use this action in conjunction with the
<tt class="LITERAL"><a href=
"actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></tt>
action, since it would prevent the session cookies from being
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
"FILENAME">user.filter</tt>.</p>
<p>When used in its negative form, and without parameters,
- <span class="emphasis EMPHASIS c2">all</span> filtering is
- completely disabled.</p>
+ <span class="emphasis"><i class="EMPHASIS">all</i></span>
+ filtering is completely disabled.</p>
</dd>
<dt>Notes:</dt>
<p><a name="FILTER-JS-ANNOYANCES" id=
"FILTER-JS-ANNOYANCES"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-JS-EVENTS" id="FILTER-JS-EVENTS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-HTML-ANNOYANCES" id=
"FILTER-HTML-ANNOYANCES"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-CONTENT-COOKIES" id=
"FILTER-CONTENT-COOKIES"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-REFRESH-TAGS" id=
"FILTER-REFRESH-TAGS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-UNSOLICITED-POPUPS" id=
"FILTER-UNSOLICITED-POPUPS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-ALL-POPUPS" id="FILTER-ALL-POPUPS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-IMG-REORDER" id=
"FILTER-IMG-REORDER"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-BANNERS-BY-SIZE" id=
"FILTER-BANNERS-BY-SIZE"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-BANNERS-BY-LINK" id=
"FILTER-BANNERS-BY-LINK"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-WEBBUGS" id="FILTER-WEBBUGS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-TINY-TEXTFORMS" id=
"FILTER-TINY-TEXTFORMS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-JUMPING-WINDOWS" id=
"FILTER-JUMPING-WINDOWS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-FRAMESET-BORDERS" id=
"FILTER-FRAMESET-BORDERS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-DEMORONIZER" id=
"FILTER-DEMORONIZER"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-SHOCKWAVE-FLASH" id=
"FILTER-SHOCKWAVE-FLASH"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-QUICKTIME-KIOSKMODE" id=
"FILTER-QUICKTIME-KIOSKMODE"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-FUN" id="FILTER-FUN"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-CRUDE-PARENTAL" id=
"FILTER-CRUDE-PARENTAL"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-IE-EXPLOITS" id=
"FILTER-IE-EXPLOITS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-SITE-SPECIFICS" id=
"FILTER-SITE-SPECIFICS"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-NO-PING" id="FILTER-NO-PING"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-GOOGLE" id="FILTER-GOOGLE"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-YAHOO" id="FILTER-YAHOO"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-MSN" id="FILTER-MSN"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p><a name="FILTER-BLOGSPOT" id="FILTER-BLOGSPOT"></a></p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dd>
<p>Force <span class="APPLICATION">Privoxy</span> to treat a
document as if it was in some kind of <span class=
- "emphasis EMPHASIS c2">text</span> format.</p>
+ "emphasis"><i class="EMPHASIS">text</i></span> format.</p>
</dd>
<dt>Effect:</dt>
<div class="WARNING">
<table class="WARNING" border="1" width="90%">
<tr>
- <td class="c6" align="center">Warning</td>
+ <td align="center"><b>Warning</b></td>
</tr>
<tr>
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<div class="WARNING">
<table class="WARNING" border="1" width="90%">
<tr>
- <td class="c6" align="center">Warning</td>
+ <td align="center"><b>Warning</b></td>
</tr>
<tr>
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dd>
<p>Mark URLs that should be replaced by empty documents
- <span class="emphasis EMPHASIS c2">if they get
- blocked</span></p>
+ <span class="emphasis"><i class="EMPHASIS">if they get
+ blocked</i></span></p>
</dd>
<dt>Effect:</dt>
<p>This action alone doesn't do anything noticeable. It just
marks URLs. If the <tt class="LITERAL"><a href=
"actions-file.html#BLOCK">block</a></tt> action <span class=
- "emphasis EMPHASIS c2">also applies</span>, the presence or
- absence of this mark decides whether an HTML <span class=
- "QUOTE">"BLOCKED"</span> page, or an empty document will be
- sent to the client as a substitute for the blocked content. The
- <span class="emphasis EMPHASIS c2">empty</span> document isn't
- literally empty, but actually contains a single space.</p>
+ "emphasis"><i class="EMPHASIS">also applies</i></span>, the
+ presence or absence of this mark decides whether an HTML
+ <span class="QUOTE">"BLOCKED"</span> page, or an empty document
+ will be sent to the client as a substitute for the blocked
+ content. The <span class="emphasis"><i class=
+ "EMPHASIS">empty</i></span> document isn't literally empty, but
+ actually contains a single space.</p>
</dd>
<dt>Type:</dt>
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dd>
<p>Mark URLs as belonging to images (so they'll be replaced by
- images <span class="emphasis EMPHASIS c2">if they do get
- blocked</span>, rather than HTML pages)</p>
+ images <span class="emphasis"><i class="EMPHASIS">if they do
+ get blocked</i></span>, rather than HTML pages)</p>
</dd>
<dt>Effect:</dt>
<p>This action alone doesn't do anything noticeable. It just
marks URLs as images. If the <tt class="LITERAL"><a href=
"actions-file.html#BLOCK">block</a></tt> action <span class=
- "emphasis EMPHASIS c2">also applies</span>, the presence or
- absence of this mark decides whether an HTML <span class=
- "QUOTE">"blocked"</span> page, or a replacement image (as
- determined by the <tt class="LITERAL"><a href=
+ "emphasis"><i class="EMPHASIS">also applies</i></span>, the
+ presence or absence of this mark decides whether an HTML
+ <span class="QUOTE">"blocked"</span> page, or a replacement
+ image (as determined by the <tt class="LITERAL"><a href=
"actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
action) will be sent to the client as a substitute for the
blocked content.</p>
<dt>Example usage (sections):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
default.</p>
<p>In most browsers that understand this header, it makes it
- impossible to <span class="emphasis EMPHASIS c2">just
- view</span> the document, without downloading it first, even if
- it's just a simple text file or an image.</p>
+ impossible to <span class="emphasis"><i class="EMPHASIS">just
+ view</i></span> the document, without downloading it first,
+ even if it's just a simple text file or an image.</p>
<p>Removing the <span class=
"QUOTE">"Content-Disposition:"</span> header helps to prevent
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
</tr>
</table>or
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
</tr>
</table>or
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<div class="WARNING">
<table class="WARNING" border="1" width="90%">
<tr>
- <td class="c6" align="center">Warning</td>
+ <td align="center"><b>Warning</b></td>
</tr>
<tr>
<p>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
- <span class="emphasis EMPHASIS c2">NOT</span> the right
- thing to do: good web sites work
- browser-independently).</p>
+ <span class="emphasis"><i class=
+ "EMPHASIS">NOT</i></span> the right thing to do: good
+ web sites work browser-independently).</p>
</td>
</tr>
</table>
<p>Using this action in multi-user setups or wherever different
types of browsers will access the same <span class=
"APPLICATION">Privoxy</span> is <span class=
- "emphasis EMPHASIS c2">not recommended</span>. In single-user,
- single-browser setups, you might use it to delete your OS
- version information from the headers, because it is an
+ "emphasis"><i class="EMPHASIS">not recommended</i></span>. 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
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usages:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (sections):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usages:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dt>Example usage (section):</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dd>
<p>Allow only temporary <span class="QUOTE">"session"</span>
cookies (for the current browser session <span class=
- "emphasis EMPHASIS c2">only</span>).</p>
+ "emphasis"><i class="EMPHASIS">only</i></span>).</p>
</dd>
<dt>Effect:</dt>
generally turned on for all sites, and is the recommended
setting.</p>
- <p>It makes <span class="emphasis EMPHASIS c2">no sense at
- all</span> to use <tt class="LITERAL">session-cookies-only</tt>
- together with <tt class="LITERAL"><a href=
+ <p>It makes <span class="emphasis"><i class="EMPHASIS">no sense
+ at all</i></span> to use <tt class=
+ "LITERAL">session-cookies-only</tt> together with <tt class=
+ "LITERAL"><a href=
"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>
or <tt class="LITERAL"><a href=
"actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>.
<dt>Example usage:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<dd>
<p>This action alone doesn't do anything noticeable. If
- <span class="emphasis EMPHASIS c2">both</span> <tt class=
- "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>
- <span class="emphasis EMPHASIS c2">and</span> <tt class=
+ <span class="emphasis"><i class="EMPHASIS">both</i></span>
+ <tt class="LITERAL"><a href=
+ "actions-file.html#BLOCK">block</a></tt> <span class=
+ "emphasis"><i class="EMPHASIS">and</i></span> <tt class=
"LITERAL"><a href=
"actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
- <span class="emphasis EMPHASIS c2">also</span> apply, i.e. if
- the request is to be blocked as an image, <span class=
- "emphasis EMPHASIS c2">then</span> the parameter of this action
- decides what will be sent as a replacement.</p>
+ <span class="emphasis"><i class="EMPHASIS">also</i></span>
+ apply, i.e. if the request is to be blocked as an image,
+ <span class="emphasis"><i class="EMPHASIS">then</i></span> the
+ parameter of this action decides what will be sent as a
+ replacement.</p>
</dd>
<dt>Type:</dt>
<li>
<p><span class="QUOTE">"<tt class=
- "REPLACEABLE c5">target-url</tt>"</span> to send a redirect
- to <tt class="REPLACEABLE c5">target-url</tt>. You can
- redirect to any image anywhere, even in your local
+ "REPLACEABLE"><i>target-url</i></tt>"</span> to send a
+ redirect to <tt class="REPLACEABLE"><i>target-url</i></tt>.
+ You can redirect to any image anywhere, even in your local
filesystem via <span class="QUOTE">"file:///"</span> URL.
(But note that not all browsers support redirecting to a
local file system).</p>
<p>A good application of redirects is to use special
<span class="APPLICATION">Privoxy</span>-built-in URLs,
which send the built-in images, as <tt class=
- "REPLACEABLE c5">target-url</tt>. This has the same visual
- effect as specifying <span class="QUOTE">"blank"</span> or
- <span class="QUOTE">"pattern"</span> in the first place,
- but enables your browser to cache the replacement image,
- instead of requesting it over and over again.</p>
+ "REPLACEABLE"><i>target-url</i></tt>. This has the same
+ visual effect as specifying <span class=
+ "QUOTE">"blank"</span> or <span class=
+ "QUOTE">"pattern"</span> in the first place, but enables
+ your browser to cache the replacement image, instead of
+ requesting it over and over again.</p>
</li>
</ul>
</dd>
<dd>
<p>The URLs for the built-in images are <span class=
"QUOTE">"http://config.privoxy.org/send-banner?type=<tt class=
- "REPLACEABLE c5">type</tt>"</span>, where <tt class=
- "REPLACEABLE c5">type</tt> is either <span class=
+ "REPLACEABLE"><i>type</i></tt>"</span>, where <tt class=
+ "REPLACEABLE"><i>type</i></tt> is either <span class=
"QUOTE">"blank"</span> or <span class=
"QUOTE">"pattern"</span>.</p>
<p>There is a third (advanced) type, called <span class=
- "QUOTE">"auto"</span>. It is <span class=
- "emphasis EMPHASIS c2">NOT</span> to be used in <tt class=
+ "QUOTE">"auto"</span>. It is <span class="emphasis"><i class=
+ "EMPHASIS">NOT</i></span> to be used in <tt class=
"LITERAL">set-image-blocker</tt>, but meant for use from
<a href="filter-file.html">filters</a>. Auto will select the
type of image that would have applied to the referring page,
<dd>
<p>Built-in pattern:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p>Redirect to the BSD daemon:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p>Redirect to the built-in pattern for better caching:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN4725" id="AEN4725">8.5.34.
+ <h3 class="SECT3"><a name="AEN4706" id="AEN4706">8.5.34.
Summary</a></h3>
<p>Note that many of these actions have the potential to cause a page
just like the built-in actions. Currently, an alias name can contain
any character except space, tab, <span class="QUOTE">"="</span>,
<span class="QUOTE">"{"</span> and <span class="QUOTE">"}"</span>, but
- we <span class="emphasis EMPHASIS c2">strongly recommend</span> that
- you only use <span class="QUOTE">"a"</span> to <span class=
- "QUOTE">"z"</span>, <span class="QUOTE">"0"</span> to <span class=
- "QUOTE">"9"</span>, <span class="QUOTE">"+"</span>, and <span class=
- "QUOTE">"-"</span>. Alias names are not case sensitive, and are not
- required to start with a <span class="QUOTE">"+"</span> or <span class=
- "QUOTE">"-"</span> sign, since they are merely textually expanded.</p>
+ we <span class="emphasis"><i class="EMPHASIS">strongly
+ recommend</i></span> that you only use <span class="QUOTE">"a"</span>
+ to <span class="QUOTE">"z"</span>, <span class="QUOTE">"0"</span> to
+ <span class="QUOTE">"9"</span>, <span class="QUOTE">"+"</span>, and
+ <span class="QUOTE">"-"</span>. Alias names are not case sensitive, and
+ are not required to start with a <span class="QUOTE">"+"</span> or
+ <span class="QUOTE">"-"</span> sign, since they are merely textually
+ expanded.</p>
<p>Aliases can be used throughout the actions file, but they
- <span class="emphasis EMPHASIS c2">must be defined in a special section
- at the top of the file!</span> 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.</p>
+ <span class="emphasis"><i class="EMPHASIS">must be defined in a special
+ section at the top of the file!</i></span> 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.</p>
<p>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 <span class="QUOTE">"shop"</span>, you can
- later change your policy on shops in <span class=
- "emphasis EMPHASIS c2">one</span> place, and your changes will take
- effect everywhere in the actions file where the <span class=
+ later change your policy on shops in <span class="emphasis"><i class=
+ "EMPHASIS">one</i></span> place, and your changes will take effect
+ everywhere in the actions file where the <span class=
"QUOTE">"shop"</span> alias is used. Calling aliases by their purpose
also makes your actions files more readable.</p>
<p>Now let's define some aliases...</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
(as specified further up for the <span class="QUOTE">"/"</span>
pattern):</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
together:</p>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN4789" id="AEN4789">8.7.1.
+ <h3 class="SECT3"><a name="AEN4770" id="AEN4770">8.7.1.
match-all.action</a></h3>
- <p>Remember <span class="emphasis EMPHASIS c2">all actions are
- disabled when matching starts</span>, so we have to explicitly enable
- the ones we want.</p>
+ <p>Remember <span class="emphasis"><i class="EMPHASIS">all actions
+ are disabled when matching starts</i></span>, so we have to
+ explicitly enable the ones we want.</p>
<p>While the <tt class="FILENAME">match-all.action</tt> file only
contains a single section, it is probably the most important one. It
"LITERAL">/</tt>"</span>, but this pattern <a href=
"actions-file.html#AF-PATTERNS">matches all URLs</a>. Therefore, the
set of actions used in this <span class="QUOTE">"default"</span>
- section <span class="emphasis EMPHASIS c2">will be applied to all
- requests as a start</span>. It can be partly or wholly overridden by
- other actions files like <tt class="FILENAME">default.action</tt> and
- <tt class="FILENAME">user.action</tt>, but it will still be largely
- responsible for your overall browsing experience.</p>
+ section <span class="emphasis"><i class="EMPHASIS">will be applied to
+ all requests as a start</i></span>. It can be partly or wholly
+ overridden by other actions files like <tt class=
+ "FILENAME">default.action</tt> and <tt class=
+ "FILENAME">user.action</tt>, but it will still be largely responsible
+ for your overall browsing experience.</p>
<p>Again, at the start of matching, all actions are disabled, so
there is no need to disable any actions here. (Remember: a
this long line has been made more readable by splitting it into
multiple lines with line continuation.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN4811" id="AEN4811">8.7.2.
+ <h3 class="SECT3"><a name="AEN4792" id="AEN4792">8.7.2.
default.action</a></h3>
<p>If you aren't a developer, there's no need for you to edit the
use that prevents older <span class="APPLICATION">Privoxy</span>
versions from reading the file:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
"actions-file.html#ALIASES">chapter on aliases</a>, that also
explains why and how aliases are used:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
pre-defined <tt class="LITERAL">fragile</tt> alias instead of stating
the list of actions explicitly:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
cookies to log in, and pop-up windows for shopping carts or item
details. Again, we'll use a pre-defined alias:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
"FILENAME">match-all.action</tt>, breaks some sites. So disable it
for popular sites where we know it misbehaves:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>It is important that <span class="APPLICATION">Privoxy</span>
knows which URLs belong to images, so that <span class=
- "emphasis EMPHASIS c2">if</span> 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
- <tt class="LITERAL"><a href=
+ "emphasis"><i class="EMPHASIS">if</i></span> 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 <tt class="LITERAL"><a href=
"actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt> action,
and marking all URLs that end in a known image file extension is a
good start:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>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 <span class=
- "emphasis EMPHASIS c2">and</span> mark them as images in one go, with
- the help of our <tt class="LITERAL">+block-as-image</tt> alias
- defined above. (We could of course just as well use <tt class=
+ "emphasis"><i class="EMPHASIS">and</i></span> mark them as images in
+ one go, with the help of our <tt class="LITERAL">+block-as-image</tt>
+ alias defined above. (We could of course just as well use <tt class=
"LITERAL">+<a href="actions-file.html#BLOCK">block</a> +<a href=
"actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt> here.)
Remember that the type of the replacement image is chosen by the
"actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a>{pattern}</tt>
action before, it still applies and needn't be repeated:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
comes a list of individual patterns for specific sites, which is
omitted here to keep the example short:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</table>
<p>It's quite remarkable how many advertisers actually call their
- banner servers ads.<tt class="REPLACEABLE c5">company</tt>.com, or
- call the directory in which the banners are stored simply
+ banner servers ads.<tt class="REPLACEABLE"><i>company</i></tt>.com,
+ or call the directory in which the banners are stored simply
<span class="QUOTE">"banners"</span>. So the above generic patterns
are surprisingly effective.</p>
<p>But being very generic, they necessarily also catch URLs that we
don't want to block. The pattern <tt class="LITERAL">.*ads.</tt> e.g.
- catches <span class="QUOTE">"nasty-<span class=
- "emphasis EMPHASIS c2">ads</span>.nasty-corp.com"</span> as intended,
- but also <span class="QUOTE">"downlo<span class=
- "emphasis EMPHASIS c2">ads</span>.sourcefroge.net"</span> or
- <span class="QUOTE">"<span class=
- "emphasis EMPHASIS c2">ads</span>l.some-provider.net."</span> So here
- come some well-known exceptions to the <tt class="LITERAL">+<a href=
+ catches <span class="QUOTE">"nasty-<span class="emphasis"><i class=
+ "EMPHASIS">ads</i></span>.nasty-corp.com"</span> as intended, but
+ also <span class="QUOTE">"downlo<span class="emphasis"><i class=
+ "EMPHASIS">ads</i></span>.sourcefroge.net"</span> or <span class=
+ "QUOTE">"<span class="emphasis"><i class=
+ "EMPHASIS">ads</i></span>l.some-provider.net."</span> So here come
+ some well-known exceptions to the <tt class="LITERAL">+<a href=
"actions-file.html#BLOCK">block</a></tt> section above.</p>
<p>Note that these are exceptions to exceptions from the default!
"LITERAL"><a href="actions-file.html#BLOCK">+block</a></tt> applies.
And now, it'll match <tt class="LITERAL">.*loads.</tt>, where
<tt class="LITERAL"><a href="actions-file.html#BLOCK">-block</a></tt>
- applies, so (unless it matches <span class=
- "emphasis EMPHASIS c2">again</span> further down) it ends up with no
+ applies, so (unless it matches <span class="emphasis"><i class=
+ "EMPHASIS">again</i></span> further down) it ends up with no
<tt class="LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>
action applying.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
exception for our friends at sourceforge.net, and all paths with
<span class="QUOTE">"cvs"</span> in them. Note that <tt class=
"LITERAL">-<a href="actions-file.html#FILTER">filter</a></tt>
- disables <span class="emphasis EMPHASIS c2">all</span> filters in one
- fell swoop!</p>
+ disables <span class="emphasis"><i class="EMPHASIS">all</i></span>
+ filters in one fell swoop!</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN4924" id="AEN4924">8.7.3.
+ <h3 class="SECT3"><a name="AEN4905" id="AEN4905">8.7.3.
user.action</a></h3>
<p>So far we are painting with a broad brush by setting general
is parsed after all other actions files and hence has the last word,
over-riding any previously defined actions. <tt class=
"FILENAME">user.action</tt> is also a <span class=
- "emphasis EMPHASIS c2">safe</span> place for your personal settings,
- since <tt class="FILENAME">default.action</tt> is actively maintained
- by the <span class="APPLICATION">Privoxy</span> developers and you'll
- probably want to install updated versions from time to time.</p>
+ "emphasis"><i class="EMPHASIS">safe</i></span> place for your
+ personal settings, since <tt class="FILENAME">default.action</tt> is
+ actively maintained by the <span class="APPLICATION">Privoxy</span>
+ developers and you'll probably want to install updated versions from
+ time to time.</p>
<p>So let's look at a few examples of things that one might typically
do in <tt class="FILENAME">user.action</tt>:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
from <tt class="FILENAME">default.action</tt>, unless you repeat them
here:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
that, i.e. it disables crunching of cookies in any direction, and the
processing of cookies to make them only temporary.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Your bank is allergic to some filter, but you don't know which, so
you disable them all:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Some file types you may not want to filter for various
reasons:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
in <tt class="LITERAL">.gif</tt> will be tagged as images by the
general rules as set in default.action anyway:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
as a <span class="QUOTE">"broken image"</span> icon by the browser.
Use cautiously.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
culprit, and you were again too lazy to give <a href=
"contact.html">feedback</a>, so you just used the <tt class=
"LITERAL">fragile</tt> alias on the site, and -- <span class=
- "emphasis EMPHASIS c2">whoa!</span> -- it worked. The <tt class=
- "LITERAL">fragile</tt> aliases disables those actions that are most
- likely to break a site. Also, good for testing purposes to see if it
- is <span class="APPLICATION">Privoxy</span> that is causing the
- problem or not. We later find other regular sites that misbehave, and
- add those to our personalized list of troublemakers:</p>
-
- <table class="c4" border="0" width="100%">
+ "emphasis"><i class="EMPHASIS">whoa!</i></span> -- it worked. The
+ <tt class="LITERAL">fragile</tt> aliases disables those actions that
+ are most likely to break a site. Also, good for testing purposes to
+ see if it is <span class="APPLICATION">Privoxy</span> that is causing
+ the problem or not. We later find other regular sites that misbehave,
+ and add those to our personalized list of troublemakers:</p>
+
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
distributed actions file. So you'd like to turn it on in your
private, update-safe config, once and for all:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
to survive. So you might want to specifically allow banners for those
sites that you feel provide value to you:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
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.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<tt class="FILENAME">default.action</tt>. Some actions are safe to
have their default policies set here though. So let's set a default
policy to have a <span class="QUOTE">"blank"</span> image as opposed
- to the checkerboard pattern for <span class=
- "emphasis EMPHASIS c2">ALL</span> sites. <span class=
- "QUOTE">"/"</span> of course matches all URL paths and patterns:</p>
+ to the checkerboard pattern for <span class="emphasis"><i class=
+ "EMPHASIS">ALL</i></span> sites. <span class="QUOTE">"/"</span> of
+ course matches all URL paths and patterns:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Appendix</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="See Also" href="seealso.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- table.c3 {background-color: #E0E0E0}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
<td width="10%" align="right" valign="bottom"> </td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">.</span> - Matches any
- single character, e.g. <span class="QUOTE">"a"</span>,
- <span class="QUOTE">"A"</span>, <span class="QUOTE">"4"</span>,
- <span class="QUOTE">":"</span>, or <span class=
- "QUOTE">"@"</span>.</td>
+ <td><span class="emphasis"><i class="EMPHASIS">.</i></span> -
+ Matches any single character, e.g. <span class=
+ "QUOTE">"a"</span>, <span class="QUOTE">"A"</span>, <span class=
+ "QUOTE">"4"</span>, <span class="QUOTE">":"</span>, or
+ <span class="QUOTE">"@"</span>.</td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">?</span> - The preceding
- character or expression is matched ZERO or ONE times.
+ <td><span class="emphasis"><i class="EMPHASIS">?</i></span> - The
+ preceding character or expression is matched ZERO or ONE times.
Either/or.</td>
</tr>
</tbody>
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">+</span> - The preceding
- character or expression is matched ONE or MORE times.</td>
+ <td><span class="emphasis"><i class="EMPHASIS">+</i></span> - The
+ preceding character or expression is matched ONE or MORE
+ times.</td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">*</span> - The preceding
- character or expression is matched ZERO or MORE times.</td>
+ <td><span class="emphasis"><i class="EMPHASIS">*</i></span> - The
+ preceding character or expression is matched ZERO or MORE
+ times.</td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">\</span> - The
+ <td><span class="emphasis"><i class="EMPHASIS">\</i></span> - The
<span class="QUOTE">"escape"</span> character denotes that the
following character should be taken literally. This is used where
one of the special characters (e.g. <span class=
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">[ ]</span> - Characters
- enclosed in brackets will be matched if any of the enclosed
- characters are encountered. For instance, <span class=
+ <td><span class="emphasis"><i class="EMPHASIS">[ ]</i></span> -
+ Characters enclosed in brackets will be matched if any of the
+ enclosed characters are encountered. For instance, <span class=
"QUOTE">"[0-9]"</span> matches any numeric digit (zero through
nine). As an example, we can combine this with <span class=
"QUOTE">"+"</span> to match any digit one of more times:
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">( )</span> - parentheses
- are used to group a sub-expression, or multiple
+ <td><span class="emphasis"><i class="EMPHASIS">( )</i></span> -
+ parentheses are used to group a sub-expression, or multiple
sub-expressions.</td>
</tr>
</tbody>
<table border="0">
<tbody>
<tr>
- <td><span class="emphasis EMPHASIS c2">|</span> - The
+ <td><span class="emphasis"><i class="EMPHASIS">|</i></span> - The
<span class="QUOTE">"bar"</span> character works like an
<span class="QUOTE">"or"</span> conditional statement. A match is
successful if the sub-expression on either side of <span class=
from a definitive list. This is enough to get us started with a few
simple examples which may be more illuminating:</p>
- <p><span class="emphasis EMPHASIS c2"><tt class=
- "LITERAL">/.*/banners/.*</tt></span> - A simple example that uses the
- common combination of <span class="QUOTE">"."</span> and <span class=
- "QUOTE">"*"</span> 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 (<span class=
+ <p><span class="emphasis"><i class="EMPHASIS"><tt class=
+ "LITERAL">/.*/banners/.*</tt></i></span> - A simple example that uses
+ the common combination of <span class="QUOTE">"."</span> and
+ <span class="QUOTE">"*"</span> 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 (<span class=
"QUOTE">".*"</span>) another literal forward slash, the string
<span class="QUOTE">"banners"</span>, another forward slash, and lastly
another <span class="QUOTE">".*"</span>. We are building a directory
<p>And now something a little more complex:</p>
- <p><span class="emphasis EMPHASIS c2"><tt class=
- "LITERAL">/.*/adv((er)?ts?|ertis(ing|ements?))?/</tt></span> - We have
- several literal forward slashes again (<span class="QUOTE">"/"</span>),
- so we are building another expression that is a file path statement. We
- have another <span class="QUOTE">".*"</span>, so we are matching
- against any conceivable sub-path, just so it matches our expression.
- The only true literal that <span class="emphasis EMPHASIS c2">must
- match</span> our pattern is <span class="APPLICATION">adv</span>,
- together with the forward slashes. What comes after the <span class=
- "QUOTE">"adv"</span> string is the interesting part.</p>
+ <p><span class="emphasis"><i class="EMPHASIS"><tt class=
+ "LITERAL">/.*/adv((er)?ts?|ertis(ing|ements?))?/</tt></i></span> - We
+ have several literal forward slashes again (<span class=
+ "QUOTE">"/"</span>), so we are building another expression that is a
+ file path statement. We have another <span class="QUOTE">".*"</span>,
+ so we are matching against any conceivable sub-path, just so it matches
+ our expression. The only true literal that <span class=
+ "emphasis"><i class="EMPHASIS">must match</i></span> our pattern is
+ <span class="APPLICATION">adv</span>, together with the forward
+ slashes. What comes after the <span class="QUOTE">"adv"</span> string
+ is the interesting part.</p>
<p>Remember the <span class="QUOTE">"?"</span> means the preceding
expression (either a literal character or anything grouped with
"QUOTE">"s"</span>. The <span class="QUOTE">"|"</span> means
<span class="QUOTE">"or"</span>. We have two of those. For instance,
<span class="QUOTE">"(ing|ements?)"</span>, can expand to match either
- <span class="QUOTE">"ing"</span> <span class=
- "emphasis EMPHASIS c2">OR</span> <span class="QUOTE">"ements?"</span>.
- What is being done here, is an attempt at matching as many variations
- of <span class="QUOTE">"advertisement"</span>, and similar, as
- possible. So this would expand to match just <span class=
- "QUOTE">"adv"</span>, or <span class="QUOTE">"advert"</span>, or
- <span class="QUOTE">"adverts"</span>, or <span class=
- "QUOTE">"advertising"</span>, or <span class=
- "QUOTE">"advertisement"</span>, or <span class=
+ <span class="QUOTE">"ing"</span> <span class="emphasis"><i class=
+ "EMPHASIS">OR</i></span> <span class="QUOTE">"ements?"</span>. What is
+ being done here, is an attempt at matching as many variations of
+ <span class="QUOTE">"advertisement"</span>, and similar, as possible.
+ So this would expand to match just <span class="QUOTE">"adv"</span>, or
+ <span class="QUOTE">"advert"</span>, or <span class=
+ "QUOTE">"adverts"</span>, or <span class="QUOTE">"advertising"</span>,
+ or <span class="QUOTE">"advertisement"</span>, or <span class=
"QUOTE">"advertisements"</span>. You get the idea. But it would not
match <span class="QUOTE">"advertizements"</span> (with a <span class=
"QUOTE">"z"</span>). We could fix that by changing our regular
"QUOTE">"/.*/adv((er)?ts?|erti(s|z)(ing|ements?))?/"</span>, which
would then match either spelling.</p>
- <p><span class="emphasis EMPHASIS c2"><tt class=
- "LITERAL">/.*/advert[0-9]+\.(gif|jpe?g)</tt></span> - Again another
+ <p><span class="emphasis"><i class="EMPHASIS"><tt class=
+ "LITERAL">/.*/advert[0-9]+\.(gif|jpe?g)</tt></i></span> - Again another
path statement with forward slashes. Anything in the square brackets
<span class="QUOTE">"[ ]"</span> can be matched. This is using
<span class="QUOTE">"0-9"</span> as a shorthand expression to mean any
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN5814" id="AEN5814">14.2. Privoxy's
+ <h2 class="SECT2"><a name="AEN5795" id="AEN5795">14.2. Privoxy's
Internal Pages</a></h2>
<p>Since <span class="APPLICATION">Privoxy</span> proxies each
<ul>
<li>
- <p>Privoxy main page:</p><a name="AEN5828" id="AEN5828"></a>
+ <p>Privoxy main page:</p><a name="AEN5809" id="AEN5809"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/" target=
<li>
<p>Show information about the current configuration, including
- viewing and editing of actions files:</p><a name="AEN5836" id=
- "AEN5836"></a>
+ viewing and editing of actions files:</p><a name="AEN5817" id=
+ "AEN5817"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/show-status" target=
</li>
<li>
- <p>Show the source code version numbers:</p><a name="AEN5841" id=
- "AEN5841"></a>
+ <p>Show the source code version numbers:</p><a name="AEN5822" id=
+ "AEN5822"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/show-version" target=
</li>
<li>
- <p>Show the browser's request headers:</p><a name="AEN5846" id=
- "AEN5846"></a>
+ <p>Show the browser's request headers:</p><a name="AEN5827" id=
+ "AEN5827"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/show-request" target=
</li>
<li>
- <p>Show which actions apply to a URL and why:</p><a name="AEN5851"
- id="AEN5851"></a>
+ <p>Show which actions apply to a URL and why:</p><a name="AEN5832"
+ id="AEN5832"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/show-url-info" target=
<span class="QUOTE">"off"</span>, <span class=
"QUOTE">"Privoxy"</span> continues to run, but only as a
pass-through proxy, with no actions taking place:</p><a name=
- "AEN5859" id="AEN5859"></a>
+ "AEN5840" id="AEN5840"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/toggle" target=
"_top">http://config.privoxy.org/toggle</a></p>
</blockquote>
- <p>Short cuts. Turn off, then on:</p><a name="AEN5863" id=
- "AEN5863"></a>
+ <p>Short cuts. Turn off, then on:</p><a name="AEN5844" id=
+ "AEN5844"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/toggle?set=disable" target=
"_top">http://config.privoxy.org/toggle?set=disable</a></p>
- </blockquote><a name="AEN5866" id="AEN5866"></a>
+ </blockquote><a name="AEN5847" id="AEN5847"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/toggle?set=enable" target=
"actions-file.html#ACTIONS">actions</a> and <a href=
"actions-file.html#FILTER">filters</a> 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 <span class="emphasis EMPHASIS c2">see</span>
- just what <span class="APPLICATION">Privoxy</span> is doing.
- Especially, if something <span class="APPLICATION">Privoxy</span> 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 <a href="appendix.html#REGEX">regular
- expressions</a> whose consequences are not always so obvious.</p>
+ we need to be able to <span class="emphasis"><i class=
+ "EMPHASIS">see</i></span> just what <span class=
+ "APPLICATION">Privoxy</span> is doing. Especially, if something
+ <span class="APPLICATION">Privoxy</span> 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
+ <a href="appendix.html#REGEX">regular expressions</a> whose
+ consequences are not always so obvious.</p>
<p>One quick test to see if <span class="APPLICATION">Privoxy</span> is
causing a problem or not, is to disable it temporarily. This should be
"_top">google.com</a>, and look at it one section at a time in a sample
configuration (your real configuration may vary):</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<a href="actions-file.html#SESSION-COOKIES-ONLY"><span class=
"QUOTE">"+session-cookies-only"</span></a> (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 <span class=
- "emphasis EMPHASIS c2">off</span> any <a href=
+ this example. The second turns <span class="emphasis"><i class=
+ "EMPHASIS">off</i></span> any <a href=
"actions-file.html#FAST-REDIRECTS"><span class=
"QUOTE">"+fast-redirects"</span></a> action, allowing this to take
place unmolested. Note that there is a leading dot here -- <span class=
its <span class="QUOTE">"actions"</span> to <span class=
"QUOTE">"google.com"</span>:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Now another example, <span class=
"QUOTE">"ad.doubleclick.net"</span>:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
be invisible, it should be defined as <span class=
"QUOTE">"ad.doubleclick.net"</span> is done here -- as both a <a href=
"actions-file.html#BLOCK"><span class="QUOTE">"+block{}"</span></a>
- <span class="emphasis EMPHASIS c2">and</span> an <a href=
+ <span class="emphasis"><i class="EMPHASIS">and</i></span> an <a href=
"actions-file.html#HANDLE-AS-IMAGE"><span class=
"QUOTE">"+handle-as-image"</span></a>. The custom alias <span class=
"QUOTE">"<tt class="LITERAL">+block-as-image</tt>"</span> just
"QUOTE">"http://www.example.net/adsl/HOWTO/"</span>. This one is giving
us problems. We are getting a blank page. Hmmm ...</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
an image. But this is, of course, all wrong. We could now add a new
action below this (or better in our own <tt class=
"FILENAME">user.action</tt> file) that explicitly <span class=
- "emphasis EMPHASIS c2">un</span> blocks ( <a href=
+ "emphasis"><i class="EMPHASIS">un</i></span> blocks ( <a href=
"actions-file.html#BLOCK"><span class="QUOTE">"{-block}"</span></a>)
paths with <span class="QUOTE">"adsl"</span> in them (remember, last
match in the configuration wins). There are various ways to handle such
exceptions. Example:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>But now what about a situation where we get no explicit matches like
we did with:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
"actions-file.html#FILTER"><span class=
"QUOTE">"+filter"</span></a>:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
}</tt>"</span>. Or you could do your own exception to negate
filtering:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<a href="actions-file.html#FILTER-BANNERS-BY-SIZE"><span class=
"QUOTE">"+filter{banners-by-size}"</span></a> rule, which assumes that
images of certain sizes are ad banners (works well <span class=
- "emphasis EMPHASIS c2">most of the time</span> since these tend to be
- standardized).</p>
+ "emphasis"><i class="EMPHASIS">most of the time</i></span> since these
+ tend to be standardized).</p>
<p><span class="QUOTE">"<tt class="LITERAL">{ fragile }</tt>"</span> 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.</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</tr>
</table>
- <p><span class="emphasis EMPHASIS c2">Remember to flush caches!</span>
- Note that the <tt class="LITERAL">mail.google</tt> reference lacks the
- TLD portion (e.g. <span class="QUOTE">".com"</span>). This will
- effectively match any TLD with <tt class="LITERAL">google</tt> in it,
- such as <tt class="LITERAL">mail.google.de.</tt>, just as an
- example.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Remember to flush
+ caches!</i></span> Note that the <tt class="LITERAL">mail.google</tt>
+ reference lacks the TLD portion (e.g. <span class=
+ "QUOTE">".com"</span>). This will effectively match any TLD with
+ <tt class="LITERAL">google</tt> in it, such as <tt class=
+ "LITERAL">mail.google.de.</tt>, just as an example.</p>
<p>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
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>The Main Configuration File</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Privoxy Configuration" href=
"configuration.html">
<link rel="NEXT" title="Actions Files" href="actions-file.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- td.c5 {font-weight: bold}
- table.c4 {background-color: #E0E0E0}
- tt.c3 {font-style: italic}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
"actions-file.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
(any number of spaces or tabs). For example:</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">confdir /etc/privoxy</span></tt></p>
+ "emphasis"><i class="EMPHASIS">confdir /etc/privoxy</i></span></tt></p>
<p>Assigns the value <tt class="LITERAL">/etc/privoxy</tt> to the option
<tt class="LITERAL">confdir</tt> and thus indicates that the
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dd>
<p><a href="http://www.privoxy.org/user-manual/" target=
"_top">http://www.privoxy.org/<tt class=
- "REPLACEABLE c3">version</tt>/user-manual/</a> will be used,
- where <tt class="REPLACEABLE c3">version</tt> is the
+ "REPLACEABLE"><i>version</i></tt>/user-manual/</a> will be
+ used, where <tt class="REPLACEABLE"><i>version</i></tt> is the
<span class="APPLICATION">Privoxy</span> version.</p>
</dd>
local <tt class="LITERAL">PATH</tt> to where the <i class=
"CITETITLE">User Manual</i> is located:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p>If the documentation is not on the local system, it can be
accessed from a remote server, as:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<div class="WARNING">
<table class="WARNING" border="1" width="90%">
<tr>
- <td class="c5" align="center">Warning</td>
+ <td align="center"><b>Warning</b></td>
</tr>
<tr>
<td align="left">
<p>If set, this option should be <span class=
- "emphasis EMPHASIS c2">the first option in the config
- file</span>, because it is used while the config file
- is being read on start-up.</p>
+ "emphasis"><i class="EMPHASIS">the first option in the
+ config file</i></span>, because it is used while the
+ config file is being read on start-up.</p>
</td>
</tr>
</table>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dd>
<p>The value of this option only matters if the experimental
trust mechanism has been activated. (See <a href=
- "config.html#TRUSTFILE"><span class=
- "emphasis EMPHASIS c2">trustfile</span></a> below.)</p>
+ "config.html#TRUSTFILE"><span class="emphasis"><i class=
+ "EMPHASIS">trustfile</i></span></a> below.)</p>
<p>If you use the trust mechanism, it is a good idea to write
up some on-line documentation about your trust policy and to
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Default value:</dt>
<dd>
- <p>/etc/privoxy (Unix) <span class=
- "emphasis EMPHASIS c2">or</span> <span class=
+ <p>/etc/privoxy (Unix) <span class="emphasis"><i class=
+ "EMPHASIS">or</i></span> <span class=
"APPLICATION">Privoxy</span> installation dir (Windows)</p>
</dd>
<dt>Effect if unset:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Mandatory</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Mandatory</i></span></p>
</dd>
<dt>Notes:</dt>
<dt>Default value:</dt>
<dd>
- <p>/var/log/privoxy (Unix) <span class=
- "emphasis EMPHASIS c2">or</span> <span class=
+ <p>/var/log/privoxy (Unix) <span class="emphasis"><i class=
+ "EMPHASIS">or</i></span> <span class=
"APPLICATION">Privoxy</span> installation dir (Windows)</p>
</dd>
<dt>Effect if unset:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Mandatory</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Mandatory</i></span></p>
</dd>
<dt>Notes:</dt>
<dt>Default value:</dt>
<dd>
- <p>default.filter (Unix) <span class=
- "emphasis EMPHASIS c2">or</span> default.filter.txt
- (Windows)</p>
+ <p>default.filter (Unix) <span class="emphasis"><i class=
+ "EMPHASIS">or</i></span> default.filter.txt (Windows)</p>
</dd>
<dt>Effect if unset:</dt>
<p>No textual content filtering takes place, i.e. all
<tt class="LITERAL">+<a href=
"actions-file.html#FILTER">filter</a>{<tt class=
- "REPLACEABLE c3">name</tt>}</tt> actions in the actions files
- are turned neutral.</p>
+ "REPLACEABLE"><i>name</i></tt>}</tt> actions in the actions
+ files are turned neutral.</p>
</dd>
<dt>Notes:</dt>
<p>The <tt class="LITERAL">+<a href=
"actions-file.html#FILTER">filter</a>{<tt class=
- "REPLACEABLE c3">name</tt>}</tt> actions rely on the relevant
- filter (<tt class="REPLACEABLE c3">name</tt>) to be defined in
- a filter file!</p>
+ "REPLACEABLE"><i>name</i></tt>}</tt> actions rely on the
+ relevant filter (<tt class="REPLACEABLE"><i>name</i></tt>) to
+ be defined in a filter file!</p>
<p>A pre-defined filter file called <tt class=
"FILENAME">default.filter</tt> that contains a number of useful
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset (commented
- out)</span>. When activated: logfile (Unix) <span class=
- "emphasis EMPHASIS c2">or</span> privoxy.log (Windows).</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Unset (commented
+ out)</i></span>. When activated: logfile (Unix) <span class=
+ "emphasis"><i class="EMPHASIS">or</i></span> privoxy.log
+ (Windows).</p>
</dd>
<dt>Effect if unset:</dt>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset (commented
- out)</span>. When activated: trust (Unix) <span class=
- "emphasis EMPHASIS c2">or</span> trust.txt (Windows)</p>
+ <p><span class="emphasis"><i class="EMPHASIS">Unset (commented
+ out)</i></span>. When activated: trust (Unix) <span class=
+ "emphasis"><i class="EMPHASIS">or</i></span> trust.txt
+ (Windows)</p>
</dd>
<dt>Effect if unset:</dt>
<dd>
<p>The trust mechanism is an experimental feature for building
white-lists and should be used with care. It is <span class=
- "emphasis EMPHASIS c2">NOT</span> recommended for the casual
- user.</p>
+ "emphasis"><i class="EMPHASIS">NOT</i></span> recommended for
+ the casual user.</p>
<p>If you specify a trust file, <span class=
"APPLICATION">Privoxy</span> will only allow access to sites
etc.</p>
<p>Or, you can designate sites as <span class=
- "emphasis EMPHASIS c2">trusted referrers</span>, by prepending
- the name with a <tt class="LITERAL">+</tt> 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 <span class=
- "QUOTE">"trustfile"</span> 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
+ "emphasis"><i class="EMPHASIS">trusted referrers</i></span>, by
+ prepending the name with a <tt class="LITERAL">+</tt>
+ 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
+ <span class="QUOTE">"trustfile"</span> 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
<tt class="LITERAL">~</tt> designation). There is a limit of
512 such entries, after which new entries will not be made.</p>
<dd>
<p>The available debug levels are:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
use multiple <tt class="LITERAL">debug</tt> lines.</p>
<p>A debug level of 1 is informative because it will show you
- each request as it happens. <span class=
- "emphasis EMPHASIS c2">1, 1024, 4096 and 8192 are
- recommended</span> 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).</p>
+ each request as it happens. <span class="emphasis"><i class=
+ "EMPHASIS">1, 1024, 4096 and 8192 are recommended</i></span> 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).</p>
<p><span class="APPLICATION">Privoxy</span> used to ship with
the debug levels recommended above enabled by default, but due
<p>If you want to use pure CLF (Common Log Format), you should
set <span class="QUOTE">"debug 512"</span> <span class=
- "emphasis EMPHASIS c2">ONLY</span> and not enable anything
- else.</p>
+ "emphasis"><i class="EMPHASIS">ONLY</i></span> and not enable
+ anything else.</p>
<p><span class="APPLICATION">Privoxy</span> has a hard-coded
limit for the length of log messages. If it's reached, messages
<dt>Type of value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">None</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">None</i></span></p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dd>
<p>This option is only there for debugging purposes.
- <span class="emphasis EMPHASIS c2">It will drastically reduce
- performance.</span></p>
+ <span class="emphasis"><i class="EMPHASIS">It will drastically
+ reduce performance.</i></span></p>
</dd>
</dl>
</div>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Type of value:</dt>
<dd>
- <p>[<tt class="REPLACEABLE c3">IP-Address</tt>]:<tt class=
- "REPLACEABLE c3">Port</tt></p>
+ <p>[<tt class="REPLACEABLE"><i>IP-Address</i></tt>]:<tt class=
+ "REPLACEABLE"><i>Port</i></tt></p>
- <p>[<tt class="REPLACEABLE c3">Hostname</tt>]:<tt class=
- "REPLACEABLE c3">Port</tt></p>
+ <p>[<tt class="REPLACEABLE"><i>Hostname</i></tt>]:<tt class=
+ "REPLACEABLE"><i>Port</i></tt></p>
</dd>
<dt>Default value:</dt>
another outside connection with a different address. You want
it to serve requests from inside only:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
want it to listen on the IPv6 address of the loopback
device:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
block ads or filter content.</p>
<p>Access to the toggle feature can <span class=
- "emphasis EMPHASIS c2">not</span> be controlled separately by
- <span class="QUOTE">"ACLs"</span> or HTTP authentication, so
- that everybody who can access <span class=
+ "emphasis"><i class="EMPHASIS">not</i></span> be controlled
+ separately by <span class="QUOTE">"ACLs"</span> or HTTP
+ authentication, so that everybody who can access <span class=
"APPLICATION">Privoxy</span> (see <span class=
"QUOTE">"ACLs"</span> and <tt class=
"LITERAL">listen-address</tt> above) can toggle it for all
- users. So this option is <span class="emphasis EMPHASIS c2">not
- recommended</span> for multi-user environments with untrusted
- users.</p>
+ users. So this option is <span class="emphasis"><i class=
+ "EMPHASIS">not recommended</i></span> for multi-user
+ environments with untrusted users.</p>
<p>Note that malicious client side code (e.g Java) is also
capable of using this option.</p>
<dt>Notes:</dt>
<dd>
- <p>Access to the editor can <span class=
- "emphasis EMPHASIS c2">not</span> be controlled separately by
+ <p>Access to the editor can <span class="emphasis"><i class=
+ "EMPHASIS">not</i></span> be controlled separately by
<span class="QUOTE">"ACLs"</span> or HTTP authentication, so
that everybody who can access <span class=
"APPLICATION">Privoxy</span> (see <span class=
"LITERAL">listen-address</tt> above) can modify its
configuration for all users.</p>
- <p>This option is <span class="emphasis EMPHASIS c2">not
- recommended</span> for environments with untrusted users and as
- a lot of <span class="APPLICATION">Privoxy</span> users don't
- read documentation, this feature is disabled by default.</p>
+ <p>This option is <span class="emphasis"><i class=
+ "EMPHASIS">not recommended</i></span> for environments with
+ untrusted users and as a lot of <span class=
+ "APPLICATION">Privoxy</span> users don't read documentation,
+ this feature is disabled by default.</p>
<p>Note that malicious client side code (e.g Java) is also
capable of using the actions editor and you shouldn't enable
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+ <p><tt class="REPLACEABLE"><i>0 or 1</i></tt></p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">0</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">0</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">src_addr</tt>[:<tt class=
- "REPLACEABLE c3">port</tt>][/<tt class=
- "REPLACEABLE c3">src_masklen</tt>] [<tt class=
- "REPLACEABLE c3">dst_addr</tt>[:<tt class=
- "REPLACEABLE c3">port</tt>][/<tt class=
- "REPLACEABLE c3">dst_masklen</tt>]]</p>
+ <p><tt class="REPLACEABLE"><i>src_addr</i></tt>[:<tt class=
+ "REPLACEABLE"><i>port</i></tt>][/<tt class=
+ "REPLACEABLE"><i>src_masklen</i></tt>] [<tt class=
+ "REPLACEABLE"><i>dst_addr</i></tt>[:<tt class=
+ "REPLACEABLE"><i>port</i></tt>][/<tt class=
+ "REPLACEABLE"><i>dst_masklen</i></tt>]]</p>
- <p>Where <tt class="REPLACEABLE c3">src_addr</tt> and
- <tt class="REPLACEABLE c3">dst_addr</tt> are IPv4 addresses in
- dotted decimal notation or valid DNS names, <tt class=
- "REPLACEABLE c3">port</tt> is a port number, and <tt class=
- "REPLACEABLE c3">src_masklen</tt> and <tt class=
- "REPLACEABLE c3">dst_masklen</tt> are subnet masks in CIDR
+ <p>Where <tt class="REPLACEABLE"><i>src_addr</i></tt> and
+ <tt class="REPLACEABLE"><i>dst_addr</i></tt> are IPv4 addresses
+ in dotted decimal notation or valid DNS names, <tt class=
+ "REPLACEABLE"><i>port</i></tt> is a port number, and <tt class=
+ "REPLACEABLE"><i>src_masklen</i></tt> and <tt class=
+ "REPLACEABLE"><i>dst_masklen</i></tt> 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.</p>
<p>If your system implements <a href=
"http://tools.ietf.org/html/rfc3493" target="_top">RFC
- 3493</a>, then <tt class="REPLACEABLE c3">src_addr</tt> and
- <tt class="REPLACEABLE c3">dst_addr</tt> can be IPv6 addresses
- delimeted by brackets, <tt class="REPLACEABLE c3">port</tt> can
- be a number or a service name, and <tt class=
- "REPLACEABLE c3">src_masklen</tt> and <tt class=
- "REPLACEABLE c3">dst_masklen</tt> can be a number from 0 to
- 128.</p>
+ 3493</a>, then <tt class="REPLACEABLE"><i>src_addr</i></tt> and
+ <tt class="REPLACEABLE"><i>dst_addr</i></tt> can be IPv6
+ addresses delimeted by brackets, <tt class=
+ "REPLACEABLE"><i>port</i></tt> can be a number or a service
+ name, and <tt class="REPLACEABLE"><i>src_masklen</i></tt> and
+ <tt class="REPLACEABLE"><i>dst_masklen</i></tt> can be a number
+ from 0 to 128.</p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
- <p>If no <tt class="REPLACEABLE c3">port</tt> is specified, any
- port will match. If no <tt class=
- "REPLACEABLE c3">src_masklen</tt> or <tt class=
- "REPLACEABLE c3">src_masklen</tt> is given, the complete IP
+ <p>If no <tt class="REPLACEABLE"><i>port</i></tt> is specified,
+ any port will match. If no <tt class=
+ "REPLACEABLE"><i>src_masklen</i></tt> or <tt class=
+ "REPLACEABLE"><i>src_masklen</i></tt> is given, the complete IP
address has to match (i.e. 32 bits for IPv4 and 128 bits for
IPv6).</p>
</dd>
<dd>
<p>Access controls are included at the request of ISPs and
- systems administrators, and <span class=
- "emphasis EMPHASIS c2">are not usually needed by individual
- users</span>. For a typical home user, it will normally suffice
- to ensure that <span class="APPLICATION">Privoxy</span> only
- listens on the localhost (127.0.0.1) or internal (home) network
- address by means of the <a href=
- "config.html#LISTEN-ADDRESS"><span class=
- "emphasis EMPHASIS c2">listen-address</span></a> option.</p>
+ systems administrators, and <span class="emphasis"><i class=
+ "EMPHASIS">are not usually needed by individual
+ users</i></span>. For a typical home user, it will normally
+ suffice to ensure that <span class="APPLICATION">Privoxy</span>
+ only listens on the localhost (127.0.0.1) or internal (home)
+ network address by means of the <a href=
+ "config.html#LISTEN-ADDRESS"><span class="emphasis"><i class=
+ "EMPHASIS">listen-address</i></span></a> option.</p>
<p>Please see the warnings in the FAQ that <span class=
"APPLICATION">Privoxy</span> is not intended to be a substitute
<p>If <span class="APPLICATION">Privoxy</span> is using a
forwarder (see <tt class="LITERAL">forward</tt> below) for a
particular destination URL, the <tt class=
- "REPLACEABLE c3">dst_addr</tt> that is examined is the address
- of the forwarder and <span class=
- "emphasis EMPHASIS c2">NOT</span> the address of the ultimate
- target. This is necessary because it may be impossible for the
- local <span class="APPLICATION">Privoxy</span> to determine the
- IP address of the ultimate target (that's often what gateways
- are used for).</p>
+ "REPLACEABLE"><i>dst_addr</i></tt> that is examined is the
+ address of the forwarder and <span class="emphasis"><i class=
+ "EMPHASIS">NOT</i></span> the address of the ultimate target.
+ This is necessary because it may be impossible for the local
+ <span class="APPLICATION">Privoxy</span> to determine the IP
+ address of the ultimate target (that's often what gateways are
+ used for).</p>
<p>You should prefer using IP addresses over DNS names, because
the address lookups take time. All DNS names must resolve! You
- can <span class="emphasis EMPHASIS c2">not</span> use domain
- patterns like <span class="QUOTE">"*.org"</span> or partial
- domain names. If a DNS name resolves to multiple IP addresses,
- only the first one is used.</p>
+ can <span class="emphasis"><i class="EMPHASIS">not</i></span>
+ use domain patterns like <span class="QUOTE">"*.org"</span> or
+ partial domain names. If a DNS name resolves to multiple IP
+ addresses, only the first one is used.</p>
<p>Some systems allow IPv4 clients to connect to IPv6 server
sockets. Then the client's IPv4 address will be translated by
<p>Explicitly define the default behavior if no ACL and
<tt class="LITERAL">listen-address</tt> are set: <span class=
"QUOTE">"localhost"</span> is OK. The absence of a <tt class=
- "REPLACEABLE c3">dst_addr</tt> implies that <span class=
- "emphasis EMPHASIS c2">all</span> destination addresses are
- OK:</p>
+ "REPLACEABLE"><i>dst_addr</i></tt> implies that <span class=
+ "emphasis"><i class="EMPHASIS">all</i></span> destination
+ addresses are OK:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
access to nothing but www.example.com (or other domains hosted
on the same system):</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
192.168.45.73 may not access the IP address behind
www.dirty-stuff.example.com:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
listening on an IPv6 wild card address (not supported on all
platforms):</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>This is equivalent to the following line even if listening
on an IPv4 address (not supported on all platforms):</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
document is made. Remember that there may be multiple threads
running, which might require up to <tt class=
"LITERAL">buffer-limit</tt> Kbytes <span class=
- "emphasis EMPHASIS c2">each</span>, unless you have enabled
- <span class="QUOTE">"single-threaded"</span> above.</p>
+ "emphasis"><i class="EMPHASIS">each</i></span>, unless you have
+ enabled <span class="QUOTE">"single-threaded"</span> above.</p>
</dd>
</dl>
</div>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">target_pattern</tt> <tt class=
- "REPLACEABLE c3">http_parent</tt>[:<tt class=
- "REPLACEABLE c3">port</tt>]</p>
+ <p><tt class="REPLACEABLE"><i>target_pattern</i></tt>
+ <tt class="REPLACEABLE"><i>http_parent</i></tt>[:<tt class=
+ "REPLACEABLE"><i>port</i></tt>]</p>
- <p>where <tt class="REPLACEABLE c3">target_pattern</tt> is a
- <a href="actions-file.html#AF-PATTERNS">URL pattern</a> that
+ <p>where <tt class="REPLACEABLE"><i>target_pattern</i></tt> is
+ a <a href="actions-file.html#AF-PATTERNS">URL pattern</a> that
specifies to which requests (i.e. URLs) this forward rule shall
apply. Use <tt class="LITERAL">/</tt> to denote <span class=
"QUOTE">"all URLs"</span>. <tt class=
- "REPLACEABLE c3">http_parent</tt>[:<tt class=
- "REPLACEABLE c3">port</tt>] is the DNS name or IP address of
- the parent HTTP proxy through which the requests should be
+ "REPLACEABLE"><i>http_parent</i></tt>[:<tt class=
+ "REPLACEABLE"><i>port</i></tt>] 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 (<tt class="LITERAL">.</tt>) to denote
<span class="QUOTE">"no forwarding"</span>.</p>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Notes:</dt>
<dd>
- <p>If <tt class="REPLACEABLE c3">http_parent</tt> is
+ <p>If <tt class="REPLACEABLE"><i>http_parent</i></tt> is
<span class="QUOTE">"."</span>, then requests are not forwarded
to another HTTP proxy but are made directly to the web
servers.</p>
- <p><tt class="REPLACEABLE c3">http_parent</tt> can be a
+ <p><tt class="REPLACEABLE"><i>http_parent</i></tt> can be a
numerical IPv6 address (if <a href=
"http://tools.ietf.org/html/rfc3493" target="_top">RFC 3493</a>
is implemented). To prevent clashes with the port delimiter,
the whole IP address has to be put into brackets. On the other
- hand a <tt class="REPLACEABLE c3">target_pattern</tt>
+ hand a <tt class="REPLACEABLE"><i>target_pattern</i></tt>
containing an IPv6 address has to be put into angle brackets
(normal brackets are reserved for regular expressions
already).</p>
<p>Everything goes to an example parent proxy, except SSL on
port 443 (which it doesn't handle):</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p>Everything goes to our example ISP's caching proxy, except
for requests to that ISP's sites:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p>Parent proxy specified by an IPv6 address:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<p>Suppose your parent proxy doesn't support IPv6:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="PROGRAMLISTING">
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">target_pattern</tt> <tt class=
- "REPLACEABLE c3">socks_proxy</tt>[:<tt class=
- "REPLACEABLE c3">port</tt>] <tt class=
- "REPLACEABLE c3">http_parent</tt>[:<tt class=
- "REPLACEABLE c3">port</tt>]</p>
+ <p><tt class="REPLACEABLE"><i>target_pattern</i></tt>
+ <tt class="REPLACEABLE"><i>socks_proxy</i></tt>[:<tt class=
+ "REPLACEABLE"><i>port</i></tt>] <tt class=
+ "REPLACEABLE"><i>http_parent</i></tt>[:<tt class=
+ "REPLACEABLE"><i>port</i></tt>]</p>
- <p>where <tt class="REPLACEABLE c3">target_pattern</tt> is a
- <a href="actions-file.html#AF-PATTERNS">URL pattern</a> that
+ <p>where <tt class="REPLACEABLE"><i>target_pattern</i></tt> is
+ a <a href="actions-file.html#AF-PATTERNS">URL pattern</a> that
specifies to which requests (i.e. URLs) this forward rule shall
apply. Use <tt class="LITERAL">/</tt> to denote <span class=
"QUOTE">"all URLs"</span>. <tt class=
- "REPLACEABLE c3">http_parent</tt> and <tt class=
- "REPLACEABLE c3">socks_proxy</tt> are IP addresses in dotted
- decimal notation or valid DNS names (<tt class=
- "REPLACEABLE c3">http_parent</tt> may be <span class=
+ "REPLACEABLE"><i>http_parent</i></tt> and <tt class=
+ "REPLACEABLE"><i>socks_proxy</i></tt> are IP addresses in
+ dotted decimal notation or valid DNS names (<tt class=
+ "REPLACEABLE"><i>http_parent</i></tt> may be <span class=
"QUOTE">"."</span> to denote <span class="QUOTE">"no HTTP
forwarding"</span>), and the optional <tt class=
- "REPLACEABLE c3">port</tt> parameters are TCP ports, i.e.
+ "REPLACEABLE"><i>port</i></tt> parameters are TCP ports, i.e.
integer values from 1 to 65535</p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">Unset</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<p>With <tt class="LITERAL">forward-socks5</tt> the DNS
resolution will happen on the remote server as well.</p>
- <p><tt class="REPLACEABLE c3">socks_proxy</tt> and <tt class=
- "REPLACEABLE c3">http_parent</tt> can be a numerical IPv6
- address (if <a href="http://tools.ietf.org/html/rfc3493"
- target="_top">RFC 3493</a> is implemented). To prevent clashes
- with the port delimiter, the whole IP address has to be put
- into brackets. On the other hand a <tt class=
- "REPLACEABLE c3">target_pattern</tt> containing an IPv6 address
- has to be put into angle brackets (normal brackets are reserved
- for regular expressions already).</p>
-
- <p>If <tt class="REPLACEABLE c3">http_parent</tt> is
+ <p><tt class="REPLACEABLE"><i>socks_proxy</i></tt> and
+ <tt class="REPLACEABLE"><i>http_parent</i></tt> can be a
+ numerical IPv6 address (if <a href=
+ "http://tools.ietf.org/html/rfc3493" target="_top">RFC 3493</a>
+ is implemented). To prevent clashes with the port delimiter,
+ the whole IP address has to be put into brackets. On the other
+ hand a <tt class="REPLACEABLE"><i>target_pattern</i></tt>
+ containing an IPv6 address has to be put into angle brackets
+ (normal brackets are reserved for regular expressions
+ already).</p>
+
+ <p>If <tt class="REPLACEABLE"><i>http_parent</i></tt> is
<span class="QUOTE">"."</span>, then requests are not forwarded
to another HTTP proxy but are made (HTTP-wise) directly to the
web servers, albeit through a SOCKS proxy.</p>
everything outbound goes through their ISP's proxy by way of
example.com's corporate SOCKS 4A gateway to the Internet.</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p>A rule that uses a SOCKS 4 gateway for all destinations but
no HTTP parent looks like this:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
<p>To chain Privoxy and Tor, both running on the same system,
you would use something like:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
access local servers you therefore might want to make some
exceptions:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
network by using their names, you will need additional
exceptions that look like this:</p>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
content only to their subscribers, you can configure multiple
<span class="APPLICATION">Privoxies</span> which have connections to
the respective ISPs to act as forwarders to each other, so that
- <span class="emphasis EMPHASIS c2">your</span> users can see the
- internal content of all ISPs.</p>
+ <span class="emphasis"><i class="EMPHASIS">your</i></span> users can
+ see the internal content of all ISPs.</p>
<p>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
<p>host-a:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>host-b:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<span class="APPLICATION">squid</span> configuration could then look
like this:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
proxy, say, on <tt class="LITERAL">antivir.example.com</tt>, port
8010:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">Number of retries.</tt></p>
+ <p><tt class="REPLACEABLE"><i>Number of retries.</i></tt></p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">0</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">0</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Notes:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">forwarded-connect-retries</tt> is
- mainly interesting for socks4a connections, where <span class=
+ <p><tt class=
+ "REPLACEABLE"><i>forwarded-connect-retries</i></tt> is mainly
+ interesting for socks4a connections, where <span class=
"APPLICATION">Privoxy</span> 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
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+ <p><tt class="REPLACEABLE"><i>0 or 1</i></tt></p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">0</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">0</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+ <p><tt class="REPLACEABLE"><i>0 or 1</i></tt></p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">0</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">0</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+ <p><tt class="REPLACEABLE"><i>0 or 1</i></tt></p>
</dd>
<dt>Default value:</dt>
<dd>
- <p><span class="emphasis EMPHASIS c2">0</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">0</i></span></p>
</dd>
<dt>Effect if unset:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">Time in seconds.</tt></p>
+ <p><tt class="REPLACEABLE"><i>Time in seconds.</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">Time in seconds.</tt></p>
+ <p><tt class="REPLACEABLE"><i>Time in seconds.</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+ <p><tt class="REPLACEABLE"><i>0 or 1</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">Time in seconds.</tt></p>
+ <p><tt class="REPLACEABLE"><i>Time in seconds.</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">Positive number.</tt></p>
+ <p><tt class="REPLACEABLE"><i>Positive number.</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+ <p><tt class="REPLACEABLE"><i>0 or 1</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+ <p><tt class="REPLACEABLE"><i>0 or 1</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Type of value:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">Positive number ranging from 0 to
- 9.</tt></p>
+ <p><tt class="REPLACEABLE"><i>Positive number ranging from 0 to
+ 9.</i></tt></p>
</dd>
<dt>Default value:</dt>
<dt>Examples:</dt>
<dd>
- <table class="c4" border="0" width="90%">
+ <table border="0" bgcolor="#E0E0E0" width="90%">
<tr>
<td>
<pre class="SCREEN">
0.</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">activity-animation 1</span><br>
+ "emphasis"><i class="EMPHASIS">activity-animation 1</i></span><br>
</tt></p><a name="LOG-MESSAGES" id=
"LOG-MESSAGES"></a>
console window:</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">log-messages 1</span><br>
+ "emphasis"><i class="EMPHASIS">log-messages 1</i></span><br>
</tt></p><a name="LOG-BUFFER-SIZE" id=
"LOG-BUFFER-SIZE"></a>
infinitely and eat up all your memory!</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">log-buffer-size 1</span><br>
+ "emphasis"><i class="EMPHASIS">log-buffer-size 1</i></span><br>
</tt></p><a name="LOG-MAX-LINES" id=
"LOG-MAX-LINES"></a>
of lines held in the log buffer. See above.</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">log-max-lines 200</span><br>
+ "emphasis"><i class="EMPHASIS">log-max-lines 200</i></span><br>
</tt></p><a name="LOG-HIGHLIGHT-MESSAGES" id=
"LOG-HIGHLIGHT-MESSAGES"></a>
log messages with a bold-faced font:</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">log-highlight-messages 1</span><br>
+ "emphasis"><i class="EMPHASIS">log-highlight-messages 1</i></span><br>
</tt></p><a name="LOG-FONT-NAME" id=
"LOG-FONT-NAME"></a>
<p>The font used in the console window:</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">log-font-name Comic Sans MS</span><br>
+ "emphasis"><i class="EMPHASIS">log-font-name Comic Sans
+ MS</i></span><br>
</tt></p><a name="LOG-FONT-SIZE" id=
"LOG-FONT-SIZE"></a>
<p>Font size used in the console window:</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">log-font-size 8</span><br>
+ "emphasis"><i class="EMPHASIS">log-font-size 8</i></span><br>
</tt></p><a name="SHOW-ON-TASK-BAR" id=
"SHOW-ON-TASK-BAR"></a>
the Task bar when minimized:</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">show-on-task-bar 0</span><br>
+ "emphasis"><i class="EMPHASIS">show-on-task-bar 0</i></span><br>
</tt></p><a name="CLOSE-BUTTON-MINIMIZES" id=
"CLOSE-BUTTON-MINIMIZES"></a>
the exit option on the File menu).</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> <span class=
- "emphasis EMPHASIS c2">close-button-minimizes 1</span><br>
+ "emphasis"><i class="EMPHASIS">close-button-minimizes 1</i></span><br>
</tt></p><a name="HIDE-CONSOLE" id=
"HIDE-CONSOLE"></a>
disconnect from and hide the command console.</p>
<p class="LITERALLAYOUT"><tt class="LITERAL"> #<span class=
- "emphasis EMPHASIS c2">hide-console</span><br>
+ "emphasis"><i class="EMPHASIS">hide-console</i></span><br>
</tt></p>
</div>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Privoxy Configuration</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
<link rel="NEXT" title="The Main Configuration File" href="config.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c3 {font-style: italic}
- table.c2 {background-color: #E0E0E0}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
controlled easily with a web browser.</p>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN1107" id="AEN1107">6.1. Controlling
+ <h2 class="SECT2"><a name="AEN1090" id="AEN1090">6.1. Controlling
Privoxy with Your Web Browser</a></h2>
<p><span class="APPLICATION">Privoxy</span>'s user interface can be
and works without Internet access. You will see the following
section:</p>
- <table class="c2" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</pre>
- <h2 class="BRIDGEHEAD"><a name="AEN1115" id=
- "AEN1115"></a> Privoxy Menu</h2>
+ <h2 class="BRIDGEHEAD"><a name="AEN1098" id=
+ "AEN1098"></a> Privoxy Menu</h2>
<pre>
</pre>
<tr>
<td>
- ▪ <a href="http://www.privoxy.org/3.0.20/user-manual/"
+ ▪ <a href="http://www.privoxy.org/3.0.19/user-manual/"
target="_top">Documentation</a></td>
</tr>
</tbody>
<p>For Unix, *BSD and Linux, all configuration files are located in
<tt class="FILENAME">/etc/privoxy/</tt> by default. For MS Windows,
OS/2, and AmigaOS these are all in the same directory as the
- <span class="APPLICATION">Privoxy</span> executable. The name and
- number of configuration files has changed from previous versions, and
- is subject to change as development progresses.</p>
+ <span class="APPLICATION">Privoxy</span> executable.</p>
<p>The installed defaults provide a reasonable starting point, though
some settings may be aggressive by some standards. For the time being,
requests for the change to take effect. When changing the listening
address of <span class="APPLICATION">Privoxy</span>, these <span class=
"QUOTE">"wake up"</span> requests must obviously be sent to the
- <span class="emphasis EMPHASIS c3">old</span> listening address.</p>
-
- <p>While under development, the configuration content is subject to
- change. The below documentation may not be accurate by the time you
- read this. Also, what constitutes a <span class=
- "QUOTE">"default"</span> setting, may change, so please check all your
- configuration files on important issues.</p>
+ <span class="emphasis"><i class="EMPHASIS">old</i></span> listening
+ address.</p>
</div>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
Requests</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Privoxy's Template Files" href=
"templates.html">
<link rel="NEXT" title="Privoxy Copyright, License and History" href=
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
"copyright.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
<p>Before doing so, please make sure that the bug has <span class=
- "emphasis EMPHASIS c2">not already been submitted</span> and observe
- the additional hints at the top of the <a href=
+ "emphasis"><i class="EMPHASIS">not already been submitted</i></span>
+ and observe the additional hints at the top of the <a href=
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
target="_top">submit form</a>. If already submitted, please feel free
to add any info to the original report that might help to solve the
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Privoxy Copyright, License and History</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title=
"Contacting the Developers, Bug Reporting and Feature Requests" href=
"contact.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- a.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
"CITETITLE">GNU General Public License</i>.</p>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN5561" id="AEN5561">12.1. License</a></h2>
+ <h2 class="SECT2"><a name="AEN5542" id="AEN5542">12.1. License</a></h2>
<p><span class="APPLICATION">Privoxy</span> is free software; you can
redistribute it and/or modify it under the terms of the <i class=
<p>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 <a class=
- "CITETITLE c2" href=
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a href=
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
- "_top">GNU General Public License</a> for details.</p>
+ "_top"><i class="CITETITLE">GNU General Public License</i></a> for
+ details.</p>
<p>You should have received a copy of the <i class="CITETITLE">GNU
GPL</i> along with this program; if not, write to the</p>
Fabian Keil, lead developer<br>
David Schmidt, developer<br>
Hal Burgiss<br>
- Ian Silvester<br>
Lee Rian<br>
- Roland Rosenfeld<br>
- Ian Silvester</p>
+ Roland Rosenfeld</p>
<p>Former Privoxy Team Members:</p>
Markus Elfring<br>
Dean Gaudet<br>
Stephen Gildea<br>
- Lizik Grelier<br>
Daniel Griscom<br>
Felix Gröbert<br>
Jeff H.<br>
Stefan Huehner<br>
Peter Hyman<br>
Derek Jennings<br>
- Andrew Jones<br>
- Julien Joubert<br>
Petr Kadlec<br>
- Steven Kolins<br>
David Laight<br>
Bert van Leeuwen<br>
Don Libes<br>
Roberto Ragusa<br>
Félix Rauch<br>
Maynard Riley<br>
- Andreas Rutkauskas<br>
Chung-chieh Shan<br>
Spinor S.<br>
Bart Schelstraete<br>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Filter Files</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Actions Files" href="actions-file.html">
<link rel="NEXT" title="Privoxy's Template Files" href="templates.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- table.c4 {background-color: #E0E0E0}
- tt.c3 {font-style: italic}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
"templates.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<p>Just like the <a href="actions-file.html">actions files</a>, the
filter file is organized in sections, which are called <span class=
- "emphasis EMPHASIS c2">filters</span> here. Each filter consists of a
- heading line, that starts with one of the <span class=
- "emphasis EMPHASIS c2">keywords</span> <tt class="LITERAL">FILTER:</tt>,
- <tt class="LITERAL">CLIENT-HEADER-FILTER:</tt> or <tt class=
- "LITERAL">SERVER-HEADER-FILTER:</tt> followed by the filter's
- <span class="emphasis EMPHASIS c2">name</span>, and a short (one line)
- <span class="emphasis EMPHASIS c2">description</span> of what it does.
- Below that line come the <span class="emphasis EMPHASIS c2">jobs</span>,
- i.e. lines that define the actual text substitutions. By convention, the
- name of a filter should describe what the filter <span class=
- "emphasis EMPHASIS c2">eliminates</span>. The comment is used in the
- <a href="http://config.privoxy.org/" target="_top">web-based user
+ "emphasis"><i class="EMPHASIS">filters</i></span> here. Each filter
+ consists of a heading line, that starts with one of the <span class=
+ "emphasis"><i class="EMPHASIS">keywords</i></span> <tt class=
+ "LITERAL">FILTER:</tt>, <tt class="LITERAL">CLIENT-HEADER-FILTER:</tt> or
+ <tt class="LITERAL">SERVER-HEADER-FILTER:</tt> followed by the filter's
+ <span class="emphasis"><i class="EMPHASIS">name</i></span>, and a short
+ (one line) <span class="emphasis"><i class=
+ "EMPHASIS">description</i></span> of what it does. Below that line come
+ the <span class="emphasis"><i class="EMPHASIS">jobs</i></span>, i.e.
+ lines that define the actual text substitutions. By convention, the name
+ of a filter should describe what the filter <span class=
+ "emphasis"><i class="EMPHASIS">eliminates</i></span>. The comment is used
+ in the <a href="http://config.privoxy.org/" target="_top">web-based user
interface</a>.</p>
- <p>Once a filter called <tt class="REPLACEABLE c3">name</tt> has been
+ <p>Once a filter called <tt class="REPLACEABLE"><i>name</i></tt> has been
defined in the filter file, it can be invoked by using an action of the
form +<tt class="LITERAL"><a href=
"actions-file.html#FILTER">filter</a>{<tt class=
- "REPLACEABLE c3">name</tt>}</tt> in any <a href=
+ "REPLACEABLE"><i>name</i></tt>}</tt> in any <a href=
"actions-file.html">actions file</a>.</p>
<p>Filter definitions start with a header line that contains the filter
line for a filter called <span class="QUOTE">"foo"</span> could look like
this:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
started.</p>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN5079" id="AEN5079">9.1. Filter File
+ <h2 class="SECT2"><a name="AEN5060" id="AEN5060">9.1. Filter File
Tutorial</a></h2>
<p>Now, let's complete our <span class="QUOTE">"foo"</span> content
"QUOTE">"foo"</span> with <span class="QUOTE">"bar"</span>, there is
only one (trivial) job needed:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</table>
<p>But wait! Didn't the comment say that <span class=
- "emphasis EMPHASIS c2">all</span> occurrences of <span class=
- "QUOTE">"foo"</span> should be replaced? Our current job will only take
- care of the first <span class="QUOTE">"foo"</span> on each page. For
- global substitution, we'll need to add the <tt class="LITERAL">g</tt>
- option:</p>
+ "emphasis"><i class="EMPHASIS">all</i></span> occurrences of
+ <span class="QUOTE">"foo"</span> should be replaced? Our current job
+ will only take care of the first <span class="QUOTE">"foo"</span> on
+ each page. For global substitution, we'll need to add the <tt class=
+ "LITERAL">g</tt> option:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Our complete filter now looks like this:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
arise from JavaScript abuse. Let's look at its jobs one after the
other:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
matches any character, and <tt class="LITERAL">*</tt> means:
<span class="QUOTE">"Match an arbitrary number of the element left of
myself"</span>, this matches <span class="QUOTE">"<script"</span>,
- followed by <span class="emphasis EMPHASIS c2">any</span> text, i.e. it
- matches the whole page, from the start of the first <script>
- tag.</p>
+ followed by <span class="emphasis"><i class="EMPHASIS">any</i></span>
+ text, i.e. it matches the whole page, from the start of the first
+ <script> tag.</p>
<p>That's more than we want, but the pattern continues: <tt class=
"LITERAL">document\.referrer</tt> matches only the exact string
<span class="QUOTE">"document.referrer"</span>. The dot needed to be
- <span class="emphasis EMPHASIS c2">escaped</span>, 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
- <span class="QUOTE">"document.referrer"</span>, if <span class=
- "emphasis EMPHASIS c2">both</span> are present in the page (and appear
- in that order).</p>
+ <span class="emphasis"><i class="EMPHASIS">escaped</i></span>, 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 <span class="QUOTE">"document.referrer"</span>, if
+ <span class="emphasis"><i class="EMPHASIS">both</i></span> are present
+ in the page (and appear in that order).</p>
<p>But there's still more pattern to go. The next element, again
enclosed in parentheses, is <tt class="LITERAL">.*</script></tt>.
matching, which means that the first <tt class="LITERAL">.*</tt> in the
pattern will only <span class="QUOTE">"eat up"</span> all text in
between <span class="QUOTE">"<script"</span> and the <span class=
- "emphasis EMPHASIS c2">first</span> occurrence of <span class=
- "QUOTE">"document.referrer"</span>, and that the second <tt class=
- "LITERAL">.*</tt> will only span the text up to the <span class=
- "emphasis EMPHASIS c2">first</span> <span class=
- "QUOTE">"</script>"</span> tag. Furthermore, the <tt class=
- "LITERAL">s</tt> option says that the match may span multiple lines in
- the page, and the <tt class="LITERAL">g</tt> option again means that
- the substitution is global.</p>
+ "emphasis"><i class="EMPHASIS">first</i></span> occurrence of
+ <span class="QUOTE">"document.referrer"</span>, and that the second
+ <tt class="LITERAL">.*</tt> will only span the text up to the
+ <span class="emphasis"><i class="EMPHASIS">first</i></span>
+ <span class="QUOTE">"</script>"</span> tag. Furthermore, the
+ <tt class="LITERAL">s</tt> option says that the match may span multiple
+ lines in the page, and the <tt class="LITERAL">g</tt> option again
+ means that the substitution is global.</p>
<p>So, to summarize, the pattern means: Match all scripts that contain
the text <span class="QUOTE">"document.referrer"</span>. Remember the
things? So lets look at the substitute: <tt class="LITERAL">$1"Not Your
Business!"$2</tt> is easy to read: The text remembered as <tt class=
"LITERAL">$1</tt>, followed by <tt class="LITERAL">"Not Your
- Business!"</tt> (<span class="emphasis EMPHASIS c2">including</span>
- the quotation marks!), followed by the text remembered as <tt class=
- "LITERAL">$2</tt>. This produces an exact copy of the original string,
- with the middle part (the <span class=
+ Business!"</tt> (<span class="emphasis"><i class=
+ "EMPHASIS">including</i></span> the quotation marks!), followed by the
+ text remembered as <tt class="LITERAL">$2</tt>. This produces an exact
+ copy of the original string, with the middle part (the <span class=
"QUOTE">"document.referrer"</span>) replaced by <tt class=
"LITERAL">"Not Your Business!"</tt>.</p>
<p>We'll show you two other jobs from the JavaScript taming department,
but this time only point out the constructs of special interest:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
"LITERAL">.*?</tt> makes this matching of arbitrary text ungreedy.
(Note that the <tt class="LITERAL">U</tt> option is not set). The
<tt class="LITERAL">['"]</tt> construct means: <span class="QUOTE">"a
- single <span class="emphasis EMPHASIS c2">or</span> a double
- quote"</span>. Finally, <tt class="LITERAL">\1</tt> is a back-reference
- to the first parenthesis just like <tt class="LITERAL">$1</tt> above,
- with the difference that in the <span class=
- "emphasis EMPHASIS c2">pattern</span>, a backslash indicates a
- back-reference, whereas in the <span class=
- "emphasis EMPHASIS c2">substitute</span>, it's the dollar.</p>
+ single <span class="emphasis"><i class="EMPHASIS">or</i></span> a
+ double quote"</span>. Finally, <tt class="LITERAL">\1</tt> is a
+ back-reference to the first parenthesis just like <tt class=
+ "LITERAL">$1</tt> above, with the difference that in the <span class=
+ "emphasis"><i class="EMPHASIS">pattern</i></span>, a backslash
+ indicates a back-reference, whereas in the <span class=
+ "emphasis"><i class="EMPHASIS">substitute</i></span>, it's the
+ dollar.</p>
<p>So what does this job do? It replaces assignments of single- or
double-quoted strings to the <span class="QUOTE">"window.status"</span>
the status bar instead of the link target when you move your mouse over
links.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Including the <a href=
"http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-htmlevents"
target="_top">OnUnload event binding</a> in the HTML DOM was a
- <span class="emphasis EMPHASIS c2">CRIME</span>. When I close a browser
- window, I want it to close and die. Basta. This job replaces the
- <span class="QUOTE">"onunload"</span> attribute in <span class=
- "QUOTE">"<body>"</span> tags with the dummy word <tt class=
- "LITERAL">never</tt>. Note that the <tt class="LITERAL">i</tt> 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 <tt class="LITERAL">[^>]*</tt> instead of
- <tt class="LITERAL">.*</tt> to prevent the match from exceeding the
- <body> tag if it doesn't contain <span class=
- "QUOTE">"OnUnload"</span>, but the page's content does.</p>
+ <span class="emphasis"><i class="EMPHASIS">CRIME</i></span>. When I
+ close a browser window, I want it to close and die. Basta. This job
+ replaces the <span class="QUOTE">"onunload"</span> attribute in
+ <span class="QUOTE">"<body>"</span> tags with the dummy word
+ <tt class="LITERAL">never</tt>. Note that the <tt class=
+ "LITERAL">i</tt> 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 <tt class=
+ "LITERAL">[^>]*</tt> instead of <tt class="LITERAL">.*</tt> to
+ prevent the match from exceeding the <body> tag if it doesn't
+ contain <span class="QUOTE">"OnUnload"</span>, but the page's content
+ does.</p>
<p>The last example is from the fun department:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
to microsoft.com from being trashed, while still replacing the word
everywhere else.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<div class="VARIABLELIST">
<dl>
- <dt><span class="emphasis EMPHASIS c2">js-annoyances</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">js-annoyances</i></span></dt>
<dd>
<p>The purpose of this filter is to get rid of particularly
sites that rely heavily on JavaScript.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">js-events</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">js-events</i></span></dt>
<dd>
<p>This is a very radical measure. It removes virtually all
to user actions such as mouse movements or clicks, window
resizing etc, anymore. Use with caution!</p>
- <p>We <span class="emphasis EMPHASIS c2">strongly
- discourage</span> 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).</p>
+ <p>We <span class="emphasis"><i class="EMPHASIS">strongly
+ discourage</i></span> 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).</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">html-annoyances</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">html-annoyances</i></span></dt>
<dd>
<p>This filter will undo many common instances of HTML based
if specified otherwise.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">content-cookies</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">content-cookies</i></span></dt>
<dd>
<p>Most cookies are set in the HTTP dialog, where they can be
wherever you would also use the cookie crunch actions.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">refresh tags</span></dt>
+ <dt><span class="emphasis"><i class="EMPHASIS">refresh
+ tags</i></span></dt>
<dd>
<p>Disable any refresh tags if the interval is greater than nine
those who find this HTML feature annoying.</p>
</dd>
- <dt><span class=
- "emphasis EMPHASIS c2">unsolicited-popups</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">unsolicited-popups</i></span></dt>
<dd>
<p>This filter attempts to prevent only <span class=
caution.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">all-popups</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">all-popups</i></span></dt>
<dd>
- <p>Attempt to prevent <span class=
- "emphasis EMPHASIS c2">all</span> 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.</p>
+ <p>Attempt to prevent <span class="emphasis"><i class=
+ "EMPHASIS">all</i></span> 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.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">img-reorder</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">img-reorder</i></span></dt>
<dd>
<p>This is a helper filter that has no value if used alone. It
and should be enabled together with them.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">banners-by-size</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">banners-by-size</i></span></dt>
<dd>
<p>This filter removes image tags purely based on what size they
<p>Recommended only for those who require extreme ad blocking.
The default block rules should catch 95+% of all ads <span class=
- "emphasis EMPHASIS c2">without</span> this filter enabled.</p>
+ "emphasis"><i class="EMPHASIS">without</i></span> this filter
+ enabled.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">banners-by-link</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">banners-by-link</i></span></dt>
<dd>
<p>This is an experimental filter that attempts to kill any
recommended for use by default.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">webbugs</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">webbugs</i></span></dt>
<dd>
<p>Webbugs are small, invisible images (technically 1X1 GIF
"QUOTE">"webbugs"</span>.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">tiny-textforms</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">tiny-textforms</i></span></dt>
<dd>
<p>A rather special-purpose filter that can be used to enlarge
<p>It is not recommended to use this filter as a default.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">jumping-windows</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">jumping-windows</i></span></dt>
<dd>
<p>Many consider windows that move, or resize themselves to be
using this filter. Use with caution.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">frameset-borders</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">frameset-borders</i></span></dt>
<dd>
<p>Some web designers seem to assume that everyone in the world
applied to sites which need it.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">demoronizer</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">demoronizer</i></span></dt>
<dd>
<p>Many Microsoft products that generate HTML use non-standard
fly.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">shockwave-flash</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">shockwave-flash</i></span></dt>
<dd>
<p>A filter for shockwave haters. As the name suggests, this
shockwave flash objects.</p>
</dd>
- <dt><span class=
- "emphasis EMPHASIS c2">quicktime-kioskmode</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">quicktime-kioskmode</i></span></dt>
<dd>
<p>Change HTML code that embeds Quicktime objects so that
kioskmode, which prevents saving, is disabled.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">fun</span></dt>
+ <dt><span class="emphasis"><i class="EMPHASIS">fun</i></span></dt>
<dd>
<p>Text replacements for subversive browsing fun. Make fun of
your favorite Monopolist or play buzzword bingo.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">crude-parental</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">crude-parental</i></span></dt>
<dd>
<p>A demonstration-only filter that shows how <span class=
a keyword basis.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">ie-exploits</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">ie-exploits</i></span></dt>
<dd>
<p>An experimental collection of text replacements to disable
substantial protection.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">site-specifics</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">site-specifics</i></span></dt>
<dd>
<p>Some web sites have very specific problems, the cure for which
filter.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">google</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">google</i></span></dt>
<dd>
<p>A CSS based block for Google text ads. Also removes a width
limitation and the toolbar advertisement.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">yahoo</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">yahoo</i></span></dt>
<dd>
<p>Another CSS based block, this time for Yahoo text ads. And
removes a width limitation as well.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">msn</span></dt>
+ <dt><span class="emphasis"><i class="EMPHASIS">msn</i></span></dt>
<dd>
<p>Another CSS based block, this time for MSN text ads. And
removes tracking URLs, as well as a width limitation.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">blogspot</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">blogspot</i></span></dt>
<dd>
<p>Cleans up some Blogspot blogs. Read the fine print before
understands background-size (CSS3), they are removed instead.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">xml-to-html</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">xml-to-html</i></span></dt>
<dd>
<p>Server-header filter to change the Content-Type from xml to
html.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">html-to-xml</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">html-to-xml</i></span></dt>
<dd>
<p>Server-header filter to change the Content-Type from html to
xml.</p>
</dd>
- <dt><span class="emphasis EMPHASIS c2">no-ping</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">no-ping</i></span></dt>
<dd>
<p>Removes the non-standard <tt class="LITERAL">ping</tt>
attribute from anchor and area HTML tags.</p>
</dd>
- <dt><span class=
- "emphasis EMPHASIS c2">hide-tor-exit-notation</span></dt>
+ <dt><span class="emphasis"><i class=
+ "EMPHASIS">hide-tor-exit-notation</i></span></dt>
<dd>
<p>Client-header filter to remove the <b class="COMMAND">Tor</b>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<html>
<head>
- <title>Privoxy 3.0.20 User Manual</title>
+ <title>Privoxy 3.0.19 User Manual</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
<link rel="NEXT" title="Introduction" href="introduction.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c2 {text-align: left}
- dt.c1 {font-weight: bold}
- </style>
</head>
-<body class="ARTICLE">
+<body class="ARTICLE" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
- <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy 3.0.20 User
+ <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy 3.0.19 User
Manual</a></h1>
<p class="PUBDATE"><sub><a href="copyright.html">Copyright</a> ©
2001-2011 by <a href="http://www.privoxy.org/" target="_top">Privoxy
Developers</a></sub><br></p>
- <p class="PUBDATE">$Id: user-manual.sgml,v 2.147 2012/03/11 19:03:42
- diem Exp $<br></p>
-
- <div class="ABSTRACT">
- <a name="AEN9" id="AEN9"></a>
-
- <p>The <i class="CITETITLE">Privoxy User Manual</i> gives users
- information on how to install, configure and use <a href=
- "http://www.privoxy.org/" target="_top">Privoxy</a>.</p>
-
- <p>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.</p>
-
- <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
-
- <p>Privoxy is an associated project of Software in the Public
- Interest (SPI).</p>
-
- <p>Helping hands and donations are welcome:</p>
-
- <ul>
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
- </li>
-
- <li>
- <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
- target=
- "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
- </li>
- </ul>
-
- <p>You can find the latest version of the <i class=
- "CITETITLE">Privoxy User Manual</i> at <a href=
- "http://www.privoxy.org/user-manual/" target=
- "_top">http://www.privoxy.org/user-manual/</a>. Please see the
- <a href="contact.html">Contact section</a> on how to contact the
- developers.</p>
+ <p class="PUBDATE">$Id: user-manual.sgml,v 2.146 2011/12/26 17:05:40
+ fabiankeil Exp $<br></p>
+
+ <div>
+ <div class="ABSTRACT">
+ <a name="AEN9" id="AEN9"></a>
+
+ <p>The <i class="CITETITLE">Privoxy User Manual</i> gives users
+ information on how to install, configure and use <a href=
+ "http://www.privoxy.org/" target="_top">Privoxy</a>.</p>
+
+ <p>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.</p>
+
+ <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+ <p>Privoxy is an associated project of Software in the Public
+ Interest (SPI).</p>
+
+ <p>Helping hands and donations are welcome:</p>
+
+ <ul>
+ <li>
+ <p><a href=
+ "http://www.privoxy.org/faq/general.html#PARTICIPATE" target=
+ "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
+ </li>
+
+ <li>
+ <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+ target=
+ "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
+ </li>
+ </ul>
+
+ <p>You can find the latest version of the <i class=
+ "CITETITLE">Privoxy User Manual</i> at <a href=
+ "http://www.privoxy.org/user-manual/" target=
+ "_top">http://www.privoxy.org/user-manual/</a>. Please see the
+ <a href="contact.html">Contact section</a> on how to contact the
+ developers.</p>
+ </div>
</div>
<hr>
</div>
<div class="TOC">
<dl>
- <dt class="c1">Table of Contents</dt>
+ <dt><b>Table of Contents</b></dt>
<dt>1. <a href="introduction.html">Introduction</a></dt>
OS X</a></dt>
<dt>2.1.7. <a href=
- "installation.html#OS-X-INSTALL-FROM-PACKAGE">Installation
- from ready-built package</a></dt>
-
- <dt>2.1.8. <a href=
- "installation.html#OS-X-INSTALL-FROM-SOURCE">Installation
- from source</a></dt>
-
- <dt>2.1.9. <a href=
"installation.html#INSTALLATION-AMIGA">AmigaOS</a></dt>
- <dt>2.1.10. <a href=
+ <dt>2.1.8. <a href=
"installation.html#INSTALLATION-TBZ">FreeBSD</a></dt>
- <dt>2.1.11. <a href=
+ <dt>2.1.9. <a href=
"installation.html#INSTALLATTION-GENTOO">Gentoo</a></dt>
</dl>
</dd>
<dd>
<dl>
- <dt>6.1. <a href="configuration.html#AEN1107">Controlling Privoxy
+ <dt>6.1. <a href="configuration.html#AEN1090">Controlling Privoxy
with Your Web Browser</a></dt>
<dt>6.2. <a href="configuration.html#CONFOVERVIEW">Configuration
<dd>
<dl>
- <dt>8.1. <a href="actions-file.html#AEN2898">Finding the Right
+ <dt>8.1. <a href="actions-file.html#AEN2879">Finding the Right
Mix</a></dt>
- <dt>8.2. <a href="actions-file.html#AEN2905">How to Edit</a></dt>
+ <dt>8.2. <a href="actions-file.html#AEN2886">How to Edit</a></dt>
<dt>8.3. <a href="actions-file.html#ACTIONS-APPLY">How Actions
are Applied to Requests</a></dt>
<dd>
<dl>
- <dt>8.4.1. <a href="actions-file.html#AEN3017">The Domain
+ <dt>8.4.1. <a href="actions-file.html#AEN2998">The Domain
Pattern</a></dt>
- <dt>8.4.2. <a href="actions-file.html#AEN3093">The Path
+ <dt>8.4.2. <a href="actions-file.html#AEN3074">The Path
Pattern</a></dt>
<dt>8.4.3. <a href="actions-file.html#TAG-PATTERN">The Tag
"actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></dt>
<dt>8.5.34. <a href=
- "actions-file.html#AEN4725">Summary</a></dt>
+ "actions-file.html#AEN4706">Summary</a></dt>
</dl>
</dd>
<dd>
<dl>
<dt>8.7.1. <a href=
- "actions-file.html#AEN4789">match-all.action</a></dt>
+ "actions-file.html#AEN4770">match-all.action</a></dt>
<dt>8.7.2. <a href=
- "actions-file.html#AEN4811">default.action</a></dt>
+ "actions-file.html#AEN4792">default.action</a></dt>
<dt>8.7.3. <a href=
- "actions-file.html#AEN4924">user.action</a></dt>
+ "actions-file.html#AEN4905">user.action</a></dt>
</dl>
</dd>
</dl>
<dd>
<dl>
- <dt>9.1. <a href="filter-file.html#AEN5079">Filter File
+ <dt>9.1. <a href="filter-file.html#AEN5060">Filter File
Tutorial</a></dt>
<dt>9.2. <a href="filter-file.html#PREDEFINED-FILTERS">The
<dd>
<dl>
- <dt>12.1. <a href="copyright.html#AEN5561">License</a></dt>
+ <dt>12.1. <a href="copyright.html#AEN5542">License</a></dt>
<dt>12.2. <a href="copyright.html#HISTORY">History</a></dt>
<dt>14.1. <a href="appendix.html#REGEX">Regular
Expressions</a></dt>
- <dt>14.2. <a href="appendix.html#AEN5814">Privoxy's Internal
+ <dt>14.2. <a href="appendix.html#AEN5795">Privoxy's Internal
Pages</a></dt>
<dd>
</div>
<div class="NAVFOOTER">
- <hr class="c2" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Installation</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Introduction" href="introduction.html">
<link rel="NEXT" title="What's New in this Release" href="whatsnew.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- table.c4 {background-color: #E0E0E0}
- tt.c3 {font-style: italic}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<p>Note: On some platforms, the installer may remove previously installed
versions, if found. (See below for your platform). In any case
- <span class="emphasis EMPHASIS c2">be sure to backup your old
- configuration if it is valuable to you.</span> See the <a href=
+ <span class="emphasis"><i class="EMPHASIS">be sure to backup your old
+ configuration if it is valuable to you.</i></span> See the <a href=
"whatsnew.html#UPGRADERSNOTE">note to upgraders</a> section below.</p>
<div class="SECT2">
"INSTALLATION-PACK-RPM">2.1.1. Red Hat and Fedora RPMs</a></h3>
<p>RPMs can be installed with <tt class="LITERAL">rpm -Uvh
- privoxy-3.0.20-1.rpm</tt>, and will use <tt class=
+ privoxy-3.0.19-1.rpm</tt>, and will use <tt class=
"FILENAME">/etc/privoxy</tt> for the location of configuration
files.</p>
<p>Note that on Red Hat, <span class="APPLICATION">Privoxy</span>
- will <span class="emphasis EMPHASIS c2">not</span> be automatically
- started on system boot. You will need to enable that using <b class=
- "COMMAND">chkconfig</b>, <b class="COMMAND">ntsysv</b>, or similar
- methods.</p>
+ will <span class="emphasis"><i class="EMPHASIS">not</i></span> be
+ automatically started on system boot. You will need to enable that
+ using <b class="COMMAND">chkconfig</b>, <b class=
+ "COMMAND">ntsysv</b>, or similar methods.</p>
<p>If you have problems with failed dependencies, try rebuilding the
SRC RPM: <tt class="LITERAL">rpm --rebuild
- privoxy-3.0.20-1.src.rpm</tt>. This will use your locally installed
+ privoxy-3.0.19-1.src.rpm</tt>. This will use your locally installed
libraries and RPM version.</p>
<p>Also note that if you have a <span class=
"APPLICATION">Windows</span> service functionality. On Windows only,
the <span class="APPLICATION">Privoxy</span> program has two new
command line arguments to install and uninstall <span class=
- "APPLICATION">Privoxy</span> as a <span class=
- "emphasis EMPHASIS c2">service</span>.</p>
+ "APPLICATION">Privoxy</span> as a <span class="emphasis"><i class=
+ "EMPHASIS">service</i></span>.</p>
<div class="VARIABLELIST">
<dl>
<dt>Arguments:</dt>
<dd>
- <p><tt class="REPLACEABLE c3">--install</tt>[:<tt class=
- "REPLACEABLE c3">service_name</tt>]</p>
+ <p><tt class="REPLACEABLE"><i>--install</i></tt>[:<tt class=
+ "REPLACEABLE"><i>service_name</i></tt>]</p>
- <p><tt class="REPLACEABLE c3">--uninstall</tt>[:<tt class=
- "REPLACEABLE c3">service_name</tt>]</p>
+ <p><tt class="REPLACEABLE"><i>--uninstall</i></tt>[:<tt class=
+ "REPLACEABLE"><i>service_name</i></tt>]</p>
</dd>
</dl>
</div>
<h3 class="SECT3"><a name="INSTALLATION-MAC" id=
"INSTALLATION-MAC">2.1.6. Mac OS X</a></h3>
- <p>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.</p>
- </div>
-
- <div class="SECT3">
- <h4 class="SECT3"><a name="OS-X-INSTALL-FROM-PACKAGE" id=
- "OS-X-INSTALL-FROM-PACKAGE">2.1.7. Installation from ready-built
- package</a></h4>
-
- <p>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.</p>
-
- <p>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.</p>
-
- <p>To prevent the privoxy service from automatically starting when
- your computer starts up, remove or rename the file <tt class=
- "LITERAL">/Library/LaunchDaemons/org.ijbswa.privoxy.plist</tt> (on OS
- X 10.5 and higher) or the folder named <tt class=
- "LITERAL">/Library/StartupItems/Privoxy</tt> (on OS X 10.4
- 'Tiger').</p>
-
- <p>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.</p>
-
- <p>To uninstall, run /Applications/Privoxy/uninstall.command as sudo
- from an administrator account.</p>
- </div>
-
- <div class="SECT3">
- <h4 class="SECT3"><a name="OS-X-INSTALL-FROM-SOURCE" id=
- "OS-X-INSTALL-FROM-SOURCE">2.1.8. Installation from source</a></h4>
-
- <p>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.</p>
+ <p>Unzip the downloaded file (you can either double-click on the zip
+ file icon from the Finder, or from the desktop if you downloaded it
+ there). Then, double-click on the package installer icon and follow
+ the installation process.</p>
<p>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.</p>
-
- <p>To prevent the privoxy service from automatically starting when
- your computer starts up, remove or rename the file <tt class=
- "LITERAL">/Library/LaunchDaemons/org.ijbswa.privoxy.plist</tt> (on OS
- X 10.5 and higher) or the folder named <tt class=
- "LITERAL">/Library/StartupItems/Privoxy</tt> (on OS X 10.4
- 'Tiger').</p>
+ installation (in addition to 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 <tt class=
+ "LITERAL">/Library/StartupItems/Privoxy</tt>.</p>
<p>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.</p>
-
- <p>To uninstall, run the macsetup module's uninstall.sh as sudo from
- an administrator account.</p>
+ Utility for Mac OS X. This application controls the privoxy service
+ (e.g. starting and stopping the service as well as uninstalling the
+ software).</p>
</div>
<div class="SECT3">
<h3 class="SECT3"><a name="INSTALLATION-AMIGA" id=
- "INSTALLATION-AMIGA">2.1.9. AmigaOS</a></h3>
+ "INSTALLATION-AMIGA">2.1.7. AmigaOS</a></h3>
<p>Copy and then unpack the <tt class="FILENAME">lha</tt> archive to
a suitable location. All necessary files will be installed into
<div class="SECT3">
<h3 class="SECT3"><a name="INSTALLATION-TBZ" id=
- "INSTALLATION-TBZ">2.1.10. FreeBSD</a></h3>
+ "INSTALLATION-TBZ">2.1.8. FreeBSD</a></h3>
<p>Privoxy is part of FreeBSD's Ports Collection, you can build and
install it with <tt class="LITERAL">cd /usr/ports/www/privoxy; make
<div class="SECT3">
<h3 class="SECT3"><a name="INSTALLATTION-GENTOO" id=
- "INSTALLATTION-GENTOO">2.1.11. Gentoo</a></h3>
+ "INSTALLATTION-GENTOO">2.1.9. Gentoo</a></h3>
<p>Gentoo source packages (Ebuilds) for <span class=
"APPLICATION">Privoxy</span> are contained in the Gentoo Portage Tree
<p>Configuration files are in <tt class="FILENAME">/etc/privoxy</tt>,
the documentation is in <tt class=
- "FILENAME">/usr/share/doc/privoxy-3.0.20</tt> and the Log directory
+ "FILENAME">/usr/share/doc/privoxy-3.0.19</tt> and the Log directory
is in <tt class="FILENAME">/var/log/privoxy</tt>.</p>
</div>
</div>
<p>When building from a source tarball, first unpack the source:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
- tar xzvf privoxy-3.0.20-beta-src.tar.gz
- cd privoxy-3.0.20-beta
+ tar xzvf privoxy-3.0.19-stable-src.tar.gz
+ cd privoxy-3.0.19-stable
</pre>
</td>
</tr>
check the Sourceforge documentation, which might give commands
like:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p><tt class="FILENAME">/etc/passwd</tt> might then look like:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>And then <tt class="FILENAME">/etc/group</tt>, like:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Then, to build from either unpacked tarball or CVS source:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Using GNU <b class="COMMAND">make</b>, you can have the first four
steps automatically done for you by just typing:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
Anyway"</span>), or alter their own configurations, <b class=
"COMMAND">configure</b> like this:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Then build as above. In Privoxy 3.0.7 and later, all of these
options can also be disabled through the configuration file.</p>
- <p><span class="emphasis EMPHASIS c2">WARNING:</span> If installing as
- root, the install will fail unless a non-root user or group is
- specified, or a <tt class="LITERAL">privoxy</tt> 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
- <span class="QUOTE">"user"</span>. 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.</p>
+ <p><span class="emphasis"><i class="EMPHASIS">WARNING:</i></span> If
+ installing as root, the install will fail unless a non-root user or
+ group is specified, or a <tt class="LITERAL">privoxy</tt> 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 <span class="QUOTE">"user"</span>. 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.</p>
<p><b class="COMMAND">configure</b> accepts <tt class=
"LITERAL">--with-user</tt> and <tt class="LITERAL">--with-group</tt>
options for setting user and group ownership of the configuration files
(which need to be writable by the daemon). The specified <span class=
- "emphasis EMPHASIS c2">user must already exist</span>. When starting
- <span class="APPLICATION">Privoxy</span>, it must be run as this same
- user to insure write access to configuration and log files!</p>
+ "emphasis"><i class="EMPHASIS">user must already exist</i></span>. When
+ starting <span class="APPLICATION">Privoxy</span>, it must be run as
+ this same user to insure write access to configuration and log
+ files!</p>
<p>Alternately, you can specify <tt class="LITERAL">user</tt> and
<tt class="LITERAL">group</tt> on the <b class="COMMAND">make</b>
command line, but be sure both already exist:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>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 <span class="QUOTE">"new"</span> extension.
- default.action and default.filter <span class=
- "emphasis EMPHASIS c2">will be overwritten</span>. You will then need
- to manually update the other installed configuration files as needed.
- The default template files <span class=
- "emphasis EMPHASIS c2">will</span> be overwritten. If you have
- customized, local templates, these should be stored safely in a
- separate directory and defined in <tt class="FILENAME">config</tt> by
- the <span class="QUOTE">"templdir"</span> directive. It is of course
- wise to always back-up any important configuration files <span class=
- "QUOTE">"just in case"</span>. If a previous version of <span class=
+ default.action and default.filter <span class="emphasis"><i class=
+ "EMPHASIS">will be overwritten</i></span>. You will then need to
+ manually update the other installed configuration files as needed. The
+ default template files <span class="emphasis"><i class=
+ "EMPHASIS">will</i></span> be overwritten. If you have customized,
+ local templates, these should be stored safely in a separate directory
+ and defined in <tt class="FILENAME">config</tt> by the <span class=
+ "QUOTE">"templdir"</span> directive. It is of course wise to always
+ back-up any important configuration files <span class="QUOTE">"just in
+ case"</span>. If a previous version of <span class=
"APPLICATION">Privoxy</span> is already running, you will have to
restart it manually.</p>
<p>In order not to lose your personal changes and adjustments when
updating to the latest <tt class="LITERAL">default.action</tt> file we
- <span class="emphasis EMPHASIS c2">strongly recommend</span> that you
- use <tt class="LITERAL">user.action</tt> and <tt class=
- "LITERAL">user.filter</tt> for your local customizations of
- <span class="APPLICATION">Privoxy</span>. See the <a href=
+ <span class="emphasis"><i class="EMPHASIS">strongly
+ recommend</i></span> that you use <tt class="LITERAL">user.action</tt>
+ and <tt class="LITERAL">user.filter</tt> for your local customizations
+ of <span class="APPLICATION">Privoxy</span>. See the <a href=
"actions-file.html">Chapter on actions files</a> for details.</p>
</div>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Introduction</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
- <link rel="PREVIOUS" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
+ <link rel="PREVIOUS" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="NEXT" title="Installation" href="installation.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
"installation.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
Introduction</a></h1>
- <p>This documentation is included with the current UNRELEASED version of
- <span class="APPLICATION">Privoxy</span>, v.3.0.20, and is mostly
- complete at this point. The most up to date reference for the time being
- is still the comments in the source files and in the individual
- configuration files. Development of a new version is currently nearing
- completion, and includes significant changes and enhancements over
- earlier versions.</p>
-
- <p>Since this is a UNRELEASED version, not all new features are well
- tested. This documentation may be slightly out of sync as a result
- (especially with CVS sources). And there <span class=
- "emphasis EMPHASIS c2">may be</span> bugs, though hopefully not many!</p>
+ <p>This documentation is included with the current stable version of
+ <span class="APPLICATION">Privoxy</span>, v.3.0.19.</p>
<div class="SECT2">
<h2 class="SECT2"><a name="FEATURES" id="FEATURES">1.1.
<p>In addition to the core features of ad blocking and <a href=
"http://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookie</a>
management, <span class="APPLICATION">Privoxy</span> provides many
- supplemental features, some of them currently under development, that
- give the end-user more control, more privacy and more freedom:</p>
+ supplemental features, that give the end-user more control, more
+ privacy and more freedom:</p>
<ul>
<li>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
</tr>
<tr>
- <td width="33%" align="left" valign="top">Privoxy 3.0.20 User
+ <td width="33%" align="left" valign="top">Privoxy 3.0.19 User
Manual</td>
<td width="34%" align="center" valign="top"> </td>
<title>Quickstart to Using Privoxy</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="What's New in this Release" href=
"whatsnew.html">
<link rel="NEXT" title="Starting Privoxy" href="startup.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- p.c3 {font-weight: bold}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
"http://en.wikipedia.org/wiki/Proxy_server" target="_top">proxy</a>
by setting the proxy configuration for address of <tt class=
"LITERAL">127.0.0.1</tt> and port <tt class="LITERAL">8118</tt>.
- <span class="emphasis EMPHASIS c2">DO NOT</span> activate proxying
- for <tt class="LITERAL">FTP</tt> or any protocols besides HTTP and
- HTTPS (SSL) unless you intend to prevent your browser from using
- these protocols.</p>
+ <span class="emphasis"><i class="EMPHASIS">DO NOT</i></span> activate
+ proxying for <tt class="LITERAL">FTP</tt> or any protocols besides
+ HTTP and HTTPS (SSL) unless you intend to prevent your browser from
+ using these protocols.</p>
</li>
<li>
<span class="QUOTE">"problem"</span> sites, and to spend more time
adjusting the configuration to solve these unintended consequences. In
short, there is not an easy way to eliminate <span class=
- "emphasis EMPHASIS c2">all</span> ads. Either take the easy way and
- settle for <span class="emphasis EMPHASIS c2">most</span> ads blocked
- with the default configuration, or jump in and tweak it for your
- personal surfing habits and preferences.</p>
+ "emphasis"><i class="EMPHASIS">all</i></span> ads. Either take the easy
+ way and settle for <span class="emphasis"><i class=
+ "EMPHASIS">most</i></span> ads blocked with the default configuration,
+ or jump in and tweak it for your personal surfing habits and
+ preferences.</p>
<p>Secondly, a brief explanation of <span class=
"APPLICATION">Privoxy's</span> <span class="QUOTE">"actions"</span>.
place of an ad image that has hit a block rule. For this to come
into play, the URL must match a <tt class="LITERAL"><a href=
"actions-file.html#BLOCK">block</a></tt> action somewhere in the
- configuration, <span class="emphasis EMPHASIS c2">and</span>, it
- must also match an <tt class="LITERAL"><a href=
+ configuration, <span class="emphasis"><i class=
+ "EMPHASIS">and</i></span>, it must also match an <tt class=
+ "LITERAL"><a href=
"actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
action.</p>
<table border="0">
<tbody>
<tr>
- <td> <span class=
- "emphasis EMPHASIS c2">pattern</span> - a checkerboard
- pattern, so that an ad replacement is obvious. This is the
- default.</td>
+ <td> <span class="emphasis"><i class=
+ "EMPHASIS">pattern</i></span> - a checkerboard pattern, so
+ that an ad replacement is obvious. This is the default.</td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
- <td> <span class=
- "emphasis EMPHASIS c2">blank</span> - A very small empty GIF
- image is displayed. This is the so-called <span class=
+ <td> <span class="emphasis"><i class=
+ "EMPHASIS">blank</i></span> - A very small empty GIF image is
+ displayed. This is the so-called <span class=
"QUOTE">"invisible"</span> configuration option.</td>
</tr>
</tbody>
<table border="0">
<tbody>
<tr>
- <td> <span class=
- "emphasis EMPHASIS c2">http://<URL></span> - A redirect
- to any image anywhere of the user's choosing (advanced
- usage).</td>
+ <td> <span class="emphasis"><i class=
+ "EMPHASIS">http://<URL></i></span> - A redirect to any
+ image anywhere of the user's choosing (advanced usage).</td>
</tr>
</tbody>
</table>
"GUIBUTTON">Edit</span>"</span>:</p>
<div class="FIGURE">
- <a name="AEN861" id="AEN861"></a>
+ <a name="AEN844" id="AEN844"></a>
- <p class="c3">Figure 1. Actions Files in Use</p>
+ <p><b>Figure 1. Actions Files in Use</b></p>
<div class="MEDIAOBJECT">
<p><img src="files-in-use.jpg"></p>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>See Also</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
"copyright.html">
<link rel="NEXT" title="Appendix" href="appendix.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Starting Privoxy</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Quickstart to Using Privoxy" href=
"quickstart.html">
<link rel="NEXT" title="Privoxy Configuration" href="configuration.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- table.c4 {background-color: #E0E0E0}
- p.c3 {font-weight: bold}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
"configuration.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
<a href="http://en.wikipedia.org/wiki/Proxy_server" target=
"_top">proxy</a>. 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 <span class="emphasis EMPHASIS c2">that must be
- done</span>!</p>
+ configuration step <span class="emphasis"><i class="EMPHASIS">that must
+ be done</i></span>!</p>
<p>Please note that <span class="APPLICATION">Privoxy</span> can only
proxy HTTP and HTTPS traffic. It will not work with FTP or other
protocols.</p>
<div class="FIGURE">
- <a name="AEN916" id="AEN916"></a>
+ <a name="AEN899" id="AEN899"></a>
- <p class="c3">Figure 2. Proxy Configuration Showing Mozilla/Netscape
- HTTP and HTTPS (SSL) Settings</p>
+ <p><b>Figure 2. Proxy Configuration Showing Mozilla/Netscape HTTP and
+ HTTPS (SSL) Settings</b></p>
<div class="MEDIAOBJECT">
<p><img src="proxy_setup.jpg"></p>
if you want HTTPS proxy support too (sometimes labeled <span class=
"QUOTE">"Secure"</span>). Make sure any checkboxes like <span class=
"QUOTE">"Use the same proxy server for all protocols"</span> is
- <span class="emphasis EMPHASIS c2">UNCHECKED</span>. You want only HTTP
- and HTTPS (SSL)!</p>
+ <span class="emphasis"><i class="EMPHASIS">UNCHECKED</i></span>. You want
+ only HTTP and HTTPS (SSL)!</p>
<div class="FIGURE">
- <a name="AEN961" id="AEN961"></a>
+ <a name="AEN944" id="AEN944"></a>
- <p class="c3">Figure 3. Proxy Configuration Showing Internet Explorer
- HTTP and HTTPS (Secure) Settings</p>
+ <p><b>Figure 3. Proxy Configuration Showing Internet Explorer HTTP and
+ HTTPS (Secure) Settings</b></p>
<div class="MEDIAOBJECT">
<p><img src="proxy2.jpg"></p>
"APPLICATION">Privoxy</span> upon boot. It will use the file <tt class=
"FILENAME">/etc/privoxy/config</tt> as its main configuration file.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Or ...</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
file <tt class="FILENAME">/etc/privoxy/config</tt> as its main
configuration file.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>Example Unix startup command:</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<p>A script is again used. It will use the file <tt class=
"FILENAME">/etc/privoxy/config</tt> as its main configuration file.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
automatically started at boot time by default. You can change this with
the <tt class="LITERAL">rc-update</tt> command.</p>
- <table class="c4" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<ul>
<li>
- <p><span class="emphasis EMPHASIS c2">--version</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">--version</i></span></p>
<p>Print version info and exit. Unix only.</p>
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">--help</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">--help</i></span></p>
<p>Print short usage info and exit. Unix only.</p>
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">--no-daemon</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">--no-daemon</i></span></p>
<p>Don't become a daemon, i.e. don't fork and become process group
leader, and don't detach from controlling tty. Unix only.</p>
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">--pidfile FILE</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">--pidfile
+ FILE</i></span></p>
<p>On startup, write the process ID to <span class=
- "emphasis EMPHASIS c2">FILE</span>. Delete the <span class=
- "emphasis EMPHASIS c2">FILE</span> on exit. Failure to create or
- delete the <span class="emphasis EMPHASIS c2">FILE</span> is
- non-fatal. If no <span class="emphasis EMPHASIS c2">FILE</span>
- option is given, no PID file will be used. Unix only.</p>
+ "emphasis"><i class="EMPHASIS">FILE</i></span>. Delete the
+ <span class="emphasis"><i class="EMPHASIS">FILE</i></span> on exit.
+ Failure to create or delete the <span class="emphasis"><i class=
+ "EMPHASIS">FILE</i></span> is non-fatal. If no <span class=
+ "emphasis"><i class="EMPHASIS">FILE</i></span> option is given, no
+ PID file will be used. Unix only.</p>
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">--user
- USER[.GROUP]</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">--user
+ USER[.GROUP]</i></span></p>
<p>After (optionally) writing the PID file, assume the user ID of
- <span class="emphasis EMPHASIS c2">USER</span>, and if included the
- GID of GROUP. Exit if the privileges are not sufficient to do so.
- Unix only.</p>
+ <span class="emphasis"><i class="EMPHASIS">USER</i></span>, and if
+ included the GID of GROUP. Exit if the privileges are not
+ sufficient to do so. Unix only.</p>
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">--chroot</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">--chroot</i></span></p>
<p>Before changing to the user ID given in the <span class=
- "emphasis EMPHASIS c2">--user</span> option, chroot to that user's
- home directory, i.e. make the kernel pretend to the <span class=
- "APPLICATION">Privoxy</span> process that the directory tree starts
- there. If set up carefully, this can limit the impact of possible
- vulnerabilities in <span class="APPLICATION">Privoxy</span> to the
- files contained in that hierarchy. Unix only.</p>
+ "emphasis"><i class="EMPHASIS">--user</i></span> option, chroot to
+ that user's home directory, i.e. make the kernel pretend to the
+ <span class="APPLICATION">Privoxy</span> process that the directory
+ tree starts there. If set up carefully, this can limit the impact
+ of possible vulnerabilities in <span class=
+ "APPLICATION">Privoxy</span> to the files contained in that
+ hierarchy. Unix only.</p>
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">--pre-chroot-nslookup
- hostname</span></p>
+ <p><span class="emphasis"><i class="EMPHASIS">--pre-chroot-nslookup
+ hostname</i></span></p>
<p>Specifies a hostname to look up before doing a chroot. On some
systems, initializing the resolver library involves reading config
</li>
<li>
- <p><span class="emphasis EMPHASIS c2">configfile</span></p>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">configfile</i></span></p>
- <p>If no <span class="emphasis EMPHASIS c2">configfile</span> is
- included on the command line, <span class=
- "APPLICATION">Privoxy</span> will look for a file named
+ <p>If no <span class="emphasis"><i class=
+ "EMPHASIS">configfile</i></span> is included on the command line,
+ <span class="APPLICATION">Privoxy</span> will look for a file named
<span class="QUOTE">"config"</span> in the current directory
(except on Win32 where it will look for <span class=
"QUOTE">"config.txt"</span> instead). Specify full path to avoid
<p>On <span class="APPLICATION">MS Windows</span> only there are two
additional command-line options to allow <span class=
"APPLICATION">Privoxy</span> to install and run as a <span class=
- "emphasis EMPHASIS c2">service</span>. See the <a href=
+ "emphasis"><i class="EMPHASIS">service</i></span>. See the <a href=
"installation.html#INSTALLATION-PACK-WIN">Window Installation
section</a> for details.</p>
</div>
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>Privoxy's Template Files</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Filter Files" href="filter-file.html">
<link rel="NEXT" title=
"Contacting the Developers, Bug Reporting and Feature Requests" href=
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- table.c3 {background-color: #E0E0E0}
- span.c2 {font-style: italic}
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
the <a href="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
target="_top"><span class="QUOTE">"BLOCKED"</span> page</a> and all pages
of its <a href="http://config.privoxy.org/" target="_top">web-based user
- interface</a>, are generated from <span class=
- "emphasis EMPHASIS c2">templates</span>. (<span class=
+ interface</a>, are generated from <span class="emphasis"><i class=
+ "EMPHASIS">templates</i></span>. (<span class=
"APPLICATION">Privoxy</span> must be running for the above links to work
as intended.)</p>
(called symbols or exports), which <span class=
"APPLICATION">Privoxy</span> fills at run time. It is possible to edit
the templates with a normal text editor, should you want to customize
- them. (<span class="emphasis EMPHASIS c2">Not recommended for the casual
- user</span>). Should you create your own custom templates, you should use
- the <tt class="FILENAME">config</tt> setting <a href=
+ them. (<span class="emphasis"><i class="EMPHASIS">Not recommended for the
+ casual user</i></span>). Should you create your own custom templates, you
+ should use the <tt class="FILENAME">config</tt> setting <a href=
"config.html#TEMPLDIR">templdir</a> to specify an alternate location, so
your templates do not get overwritten during upgrades.</p>
"APPLICATION">Privoxy</span> is in an alpha or beta development
stage:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
"LITERAL">if-unstable-end@</tt> will disappear, leaving nothing but an
empty comment:</p>
- <table class="c3" border="0" width="100%">
+ <table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<title>What's New in this Release</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
- <link rel="HOME" title="Privoxy 3.0.20 User Manual" href="index.html">
+ <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
<link rel="PREVIOUS" title="Installation" href="installation.html">
<link rel="NEXT" title="Quickstart to Using Privoxy" href=
"quickstart.html">
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
- <style type="text/css">
-body {
- background-color: #EEEEEE;
- color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
- </style>
</head>
-<body class="SECT1">
+<body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
+"#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
- <th colspan="3" align="center">Privoxy 3.0.20 User Manual</th>
+ <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
</tr>
<tr>
"quickstart.html" accesskey="N">Next</a></td>
</tr>
</table>
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
</div>
<div class="SECT1">
</div>
<div class="NAVFOOTER">
- <hr class="c1" width="100%">
+ <hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border="0"
cellpadding="0" cellspacing="0">