patches, made suggestions or contributed in some way. These include (in
alphabetical order):
+ Anatoly Arzhnikov
Ken Arromdee
Natxo Asenjo
Devin Bayer
Reiner Buehl
Andrew J. Caines
Clifford Caoile
+ Edward Carrel
Wan-Teh Chang
Ramkumar Chinchani
Billy Crook
Spinor S.
Peter Thoenen
Martin Thomas
+ Reuben Thomas
Bobby G. Vinyard
Jochen Voss
+ David Wagner
Glenn Washburn
Song Weijia
Jörg Weinmann
/*********************************************************************
*
- * File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
+ * File : $Source: /cvsroot/ijbswa/current/INSTALL,v $
*
* Purpose : INSTALL file to help with installing from source.
*
When building from a source tarball, first unpack the source:
- tar xzvf privoxy-3.0.21-stable-src.tar.gz
- cd privoxy-3.0.21-stable
+ tar xzvf privoxy-3.0.22-beta-src.tar.gz
+ cd privoxy-3.0.22-beta
For retrieving the current CVS sources, you'll need a CVS client installed.
Note that sources from CVS are typically development quality, and may not be
*
*********************************************************************/
-This README is included with Privoxy 3.0.21. See http://www.privoxy.org/ for
-more information. The current code maturity level is "stable".
+This README is included with the development version of Privoxy 3.0.22. See
+http://www.privoxy.org/ for more information. The current code maturity level
+is "UNRELEASED", but seems stable to us :).
-------------------------------------------------------------------------------
The actions list can be configured via the web interface accessed via http://
p.p/, as well other options.
+All configuration files are subject to unannounced changes during the
+development process.
+
-------------------------------------------------------------------------------
5. DOCUMENTATION
-There should be documentation in the 'doc' subdirectory. In particular, see the
-User Manual there, the FAQ, and those interested in Privoxy development, should
-look at developer-manual.
+There should be documentation in the 'doc' subdirectory, but it may not be
+completed at this point. In particular, see the User Manual there, the FAQ, and
+those interested in Privoxy development, should look at developer-manual.
-The source and configuration files are all well commented. The main
-configuration files are: 'config', 'default.action', and 'default.filter'.
+The most up to date source of information on the current development version,
+may still be either comments in the source code, or the included configuration
+files. The source and configuration files are all well commented. The main
+configuration files are: 'config', 'default.action', and 'default.filter' in
+the top-level source directory.
Included documentation may vary according to platform and packager. All
documentation is posted on http://www.privoxy.org, in case you don't have it,
function properly due to one Privoxy "action" or another being turned "on".
* "Bugs" in the programming code that makes up Privoxy, such as that might
- cause a crash.
+ cause a crash. Documentation issues, for example spelling errors and
+ unclear descriptions, are bugs, too.
-------------------------------------------------------------------------------
6.3.2. Reporting Bugs
-Please report all bugs through our bug tracker: http://sourceforge.net/tracker
-/?group_id=11118&atid=111118.
+Please report bugs that aren't security issues through our bug tracker: http://
+sourceforge.net/tracker/?group_id=11118&atid=111118.
Before doing so, please make sure that the bug has not already been submitted
and observe the additional hints at the top of the submit form. If already
-------------------------------------------------------------------------------
-6.4. Request New Features
+6.4. Reporting security problems
+
+If you discovered a security problem or merely suspect that a bug might be a
+security issue, please mail Fabian Keil <fk@fabiankeil.de> (OpenPGP
+fingerprint: 4F36 C17F 3816 9136 54A1 E850 6918 2291 8BA2 371C).
+
+Usually you should get a response within a day, otherwise it's likely that
+either your mail or the response didn't make it. If that happens, please mail
+to the developer list to request a status update.
+
+-------------------------------------------------------------------------------
+
+6.5. Request New Features
You are welcome to submit ideas on new features or other proposals for
improvement through our feature request tracker at http://sourceforge.net/
-------------------------------------------------------------------------------
-6.5. Mailing Lists
+6.6. Mailing Lists
If you prefer to communicate through email, instead of using a web interface,
feel free to use one of the mailing lists. To discuss issues that haven't been
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">6.3.2.
Reporting Bugs</a></h3>
- <p>Please report all bugs through our bug tracker: <a href=
+ <p>Please report bugs that aren't security issues through our bug
+ tracker: <a href=
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
target=
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">6.4.
+ <h2 class="SECT2"><a name="SECURITY-CONTACT" id="SECURITY-CONTACT">6.4.
+ Reporting security problems</a></h2>
+
+ <p>If you discovered a security problem or merely suspect that a bug
+ might be a security issue, please mail Fabian Keil
+ <fk@fabiankeil.de> (OpenPGP fingerprint: 4F36 C17F 3816 9136 54A1
+ E850 6918 2291 8BA2 371C).</p>
+
+ <p>Usually you should get a response within a day, otherwise it's
+ likely that either your mail or the response didn't make it. If that
+ happens, please mail to the developer list to request a status
+ update.</p>
+ </div>
+
+ <div class="SECT2">
+ <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">6.5.
Request New Features</a></h2>
<p>You are welcome to submit ideas on new features or other proposals
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">6.5.
+ <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">6.6.
Mailing Lists</a></h2>
<p>If you prefer to communicate through email, instead of using a web
"APPLICATION">Privoxy</span>.</p>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN1479" id="AEN1479">7.1. License</a></h2>
+ <h2 class="SECT2"><a name="AEN1483" id="AEN1483">7.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=
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN1488" id="AEN1488">7.2. History</a></h2>
+ <h2 class="SECT2"><a name="AEN1492" id="AEN1492">7.2. History</a></h2>
<p>A long time ago, there was the <span class="APPLICATION">Internet
Junkbuster</span>, by Anonymous Coders and Junkbusters Corporation.
</dl>
</dd>
- <dt>6.4. <a href="contact.html#CONTACT-FEATURE">Request New
+ <dt>6.4. <a href="contact.html#SECURITY-CONTACT">Reporting
+ security problems</a></dt>
+
+ <dt>6.5. <a href="contact.html#CONTACT-FEATURE">Request New
Features</a></dt>
- <dt>6.5. <a href="contact.html#MAILING-LISTS">Mailing
+ <dt>6.6. <a href="contact.html#MAILING-LISTS">Mailing
Lists</a></dt>
</dl>
</dd>
<dd>
<dl>
- <dt>7.1. <a href="copyright.html#AEN1479">License</a></dt>
+ <dt>7.1. <a href="copyright.html#AEN1483">License</a></dt>
- <dt>7.2. <a href="copyright.html#AEN1488">History</a></dt>
+ <dt>7.2. <a href="copyright.html#AEN1492">History</a></dt>
</dl>
</dd>
</dl>
<p>External filters are scripts or programs that can modify the
content in case common <tt class="LITERAL"><a href=
"actions-file.html#FILTER">filters</a></tt> aren't powerful
- enough.</p>
+ enough. With the exception that this action doesn't use
+ pcrs-based filters, the notes in the <tt class=
+ "LITERAL"><a href="actions-file.html#FILTER">filter</a></tt>
+ section apply.</p>
<div class="WARNING">
<table class="WARNING" border="1" width="90%">
<p>If the ports are missing or invalid, default values
will be used. This might change in the future and you
shouldn't rely on it. Otherwise incorrect syntax causes
- Privoxy to exit.</p>
+ Privoxy to exit. Due to design limitations, invalid
+ parameter syntax isn't detected until the action is
+ used the first time.</p>
<p>Use the <a href=
"http://config.privoxy.org/show-url-info" target=
<tr>
<td>
<pre class="SCREEN">
-# Always use direct connections for requests previously tagged as
+# Use an ssh tunnel for requests previously tagged as
# <span class="QUOTE">"User-Agent: fetch libfetch/2.0"</span> and make sure
# resuming downloads continues to work.
+#
# This way you can continue to use Tor for your normal browsing,
# without overloading the Tor network with your FreeBSD ports updates
# or downloads of bigger files like ISOs.
+#
# Note that HTTP headers are easy to fake and therefore their
# values are as (un)trustworthy as your clients and users.
-{+forward-override{forward .} \
+{+forward-override{forward-socks5 10.0.0.2:2222 .} \
-hide-if-modified-since \
-overwrite-last-modified \
}
<p>The syntax for pcrs commands is documented in the <a href=
"filter-file.html">filter file</a> section.</p>
- <p>This action will be ignored if you use it together with
- <tt class="LITERAL"><a href=
- "actions-file.html#BLOCK">block</a></tt>. It can be combined
- with <tt class="LITERAL"><a href=
- "actions-file.html#FAST-REDIRECTS">fast-redirects{check-decoded-url}</a></tt>
+ <p>Requests can't be blocked and redirected at the same time,
+ applying this action together with <tt class="LITERAL"><a href=
+ "actions-file.html#BLOCK">block</a></tt> is a configuration
+ error. Currently the request is blocked and an error message
+ logged, the behavior may change in the future and result in
+ Privoxy rejecting the action file.</p>
+
+ <p>This action can be combined with <tt class=
+ "LITERAL"><a href="actions-file.html#FAST-REDIRECTS">fast-redirects{check-decoded-url}</a></tt>
to redirect to a decoded version of a rewritten URL.</p>
<p>Use this action carefully, make sure not to create
{+redirect{s@^http://[^/]*/results\.aspx\?q=([^&]*).*@http://search.yahoo.com/search?p=$1@}}
search.msn.com//results\.aspx\?q=
+# Redirect http://example.com/&bla=fasel&toChange=foo (and any other value but "bar")
+# to http://example.com/&bla=fasel&toChange=bar
+#
+# The URL pattern makes sure that the following request isn't redirected again.
+{+redirect{s@toChange=[^&]+@toChange=bar@}}
+example.com/.*toChange=(?!bar)
+
+# Add a shortcut to look up illumos bugs
+{+redirect{s@^http://i([0-9]+)/.*@https://www.illumos.org/issues/$1@}}
+# Redirected URL = http://i4974/
+# Redirect Destination = https://www.illumos.org/issues/4974
+i[0-9][0-9][0-9][0-9]*/
+
# Redirect remote requests for this manual
# to the local version delivered by Privoxy
{+redirect{s@^http://www@http://config@}}
{+server-header-tagger{content-type}}
/
+# If the response has a tag starting with 'image/' enable an external
+# filter that only applies to images.
+#
+# Note that the filter is not available by default, it's just a
+# <tt class="LITERAL"><a href=
+"filter-file.html#EXTERNAL-FILTER-SYNTAX">silly example</a></tt>.
+{+external-filter{rotate-image} +force-text-mode}
+TAG:^image/
+
</pre>
</td>
</tr>
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN4918" id="AEN4918">8.5.36.
+ <h3 class="SECT3"><a name="AEN4923" id="AEN4923">8.5.36.
Summary</a></h3>
<p>Note that many of these actions have the potential to cause a page
together:</p>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN4982" id="AEN4982">8.7.1.
+ <h3 class="SECT3"><a name="AEN4987" id="AEN4987">8.7.1.
match-all.action</a></h3>
<p>Remember <span class="emphasis"><i class="EMPHASIS">all actions
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN5004" id="AEN5004">8.7.2.
+ <h3 class="SECT3"><a name="AEN5009" id="AEN5009">8.7.2.
default.action</a></h3>
<p>If you aren't a developer, there's no need for you to edit the
</div>
<div class="SECT3">
- <h3 class="SECT3"><a name="AEN5117" id="AEN5117">8.7.3.
+ <h3 class="SECT3"><a name="AEN5122" id="AEN5122">8.7.3.
user.action</a></h3>
<p>So far we are painting with a broad brush by setting general
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN6030" id="AEN6030">14.2. Privoxy's
+ <h2 class="SECT2"><a name="AEN6039" id="AEN6039">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="AEN6044" id="AEN6044"></a>
+ <p>Privoxy main page:</p><a name="AEN6053" id="AEN6053"></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="AEN6052" id=
- "AEN6052"></a>
+ viewing and editing of actions files:</p><a name="AEN6061" id=
+ "AEN6061"></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="AEN6057" id=
- "AEN6057"></a>
+ <p>Show the source code version numbers:</p><a name="AEN6066" id=
+ "AEN6066"></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="AEN6062" id=
- "AEN6062"></a>
+ <p>Show the browser's request headers:</p><a name="AEN6071" id=
+ "AEN6071"></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="AEN6067"
- id="AEN6067"></a>
+ <p>Show which actions apply to a URL and why:</p><a name="AEN6076"
+ id="AEN6076"></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=
- "AEN6075" id="AEN6075"></a>
+ "AEN6084" id="AEN6084"></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="AEN6079" id=
- "AEN6079"></a>
+ <p>Short cuts. Turn off, then on:</p><a name="AEN6088" id=
+ "AEN6088"></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="AEN6082" id="AEN6082"></a>
+ </blockquote><a name="AEN6091" id="AEN6091"></a>
<blockquote class="BLOCKQUOTE">
<p><a href="http://config.privoxy.org/toggle?set=enable" target=
<dt>Notes:</dt>
<dd>
- <p>This is a work-around for Firefox bug 492459: <span class=
- "QUOTE">" Websites are no longer rendered if SSL requests for
- JavaScripts are blocked by a proxy. "</span> (<a href=
+ <p>This directive was added as a work-around for Firefox bug
+ 492459: <span class="QUOTE">" Websites are no longer rendered
+ if SSL requests for JavaScripts are blocked by a proxy.
+ "</span> (<a href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=492459" target=
- "_top">https://bugzilla.mozilla.org/show_bug.cgi?id=492459</a>)
- As the bug has been fixed for quite some time this option
- should no longer be needed and will be removed in a future
- release. Please speak up if you have a reason why the option
- should be kept around.</p>
+ "_top">https://bugzilla.mozilla.org/show_bug.cgi?id=492459</a>),
+ the bug has been fixed for quite some time, but this directive
+ is also useful to make it harder for websites to detect whether
+ or not resources are being blocked.</p>
</dd>
</dl>
</div>
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">11.3.2.
Reporting Bugs</a></h3>
- <p>Please report all bugs through our bug tracker: <a href=
+ <p>Please report bugs that aren't security issues through our bug
+ tracker: <a href=
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
target=
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">11.4.
+ <h2 class="SECT2"><a name="SECURITY-CONTACT" id=
+ "SECURITY-CONTACT">11.4. Reporting security problems</a></h2>
+
+ <p>If you discovered a security problem or merely suspect that a bug
+ might be a security issue, please mail Fabian Keil
+ <fk@fabiankeil.de> (OpenPGP fingerprint: 4F36 C17F 3816 9136 54A1
+ E850 6918 2291 8BA2 371C).</p>
+
+ <p>Usually you should get a response within a day, otherwise it's
+ likely that either your mail or the response didn't make it. If that
+ happens, please mail to the developer list to request a status
+ update.</p>
+ </div>
+
+ <div class="SECT2">
+ <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">11.5.
Request New Features</a></h2>
<p>You are welcome to submit ideas on new features or other proposals
</div>
<div class="SECT2">
- <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">11.5.
+ <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">11.6.
Mailing Lists</a></h2>
<p>If you prefer to communicate through email, instead of using a web
started.</p>
<div class="SECT2">
- <h2 class="SECT2"><a name="AEN5285" id="AEN5285">9.1. Filter File
+ <h2 class="SECT2"><a name="AEN5290" id="AEN5290">9.1. Filter File
Tutorial</a></h2>
<p>Now, let's complete our <span class="QUOTE">"foo"</span> content
do \
echo "$line"; \
done
+
+EXTERNAL-FILTER: rotate-image Rotate an image by 180 degree. Test filter with limited value.
+/usr/local/bin/convert - -rotate 180 -
+
+EXTERNAL-FILTER: citation-needed Adds a "[citation needed]" tag to an image. The coordinates may need adjustment.
+/usr/local/bin/convert - -pointsize 16 -fill white -annotate +17+418 "[citation needed]" -
</pre>
</td>
</tr>
2001-2014 by <a href="http://www.privoxy.org/" target="_top">Privoxy
Developers</a></sub><br></p>
- <p class="PUBDATE">$Id: user-manual.sgml,v 2.183 2014/05/26 10:48:39
+ <p class="PUBDATE">$Id: user-manual.sgml,v 2.193 2014/07/18 10:01:39
fabiankeil Exp $<br></p>
<div>
"actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></dt>
<dt>8.5.36. <a href=
- "actions-file.html#AEN4918">Summary</a></dt>
+ "actions-file.html#AEN4923">Summary</a></dt>
</dl>
</dd>
<dd>
<dl>
<dt>8.7.1. <a href=
- "actions-file.html#AEN4982">match-all.action</a></dt>
+ "actions-file.html#AEN4987">match-all.action</a></dt>
<dt>8.7.2. <a href=
- "actions-file.html#AEN5004">default.action</a></dt>
+ "actions-file.html#AEN5009">default.action</a></dt>
<dt>8.7.3. <a href=
- "actions-file.html#AEN5117">user.action</a></dt>
+ "actions-file.html#AEN5122">user.action</a></dt>
</dl>
</dd>
</dl>
<dd>
<dl>
- <dt>9.1. <a href="filter-file.html#AEN5285">Filter File
+ <dt>9.1. <a href="filter-file.html#AEN5290">Filter File
Tutorial</a></dt>
<dt>9.2. <a href="filter-file.html#PREDEFINED-FILTERS">The
</dl>
</dd>
- <dt>11.4. <a href="contact.html#CONTACT-FEATURE">Request New
+ <dt>11.4. <a href="contact.html#SECURITY-CONTACT">Reporting
+ security problems</a></dt>
+
+ <dt>11.5. <a href="contact.html#CONTACT-FEATURE">Request New
Features</a></dt>
- <dt>11.5. <a href="contact.html#MAILING-LISTS">Mailing
+ <dt>11.6. <a href="contact.html#MAILING-LISTS">Mailing
Lists</a></dt>
</dl>
</dd>
<dt>14.1. <a href="appendix.html#REGEX">Regular
Expressions</a></dt>
- <dt>14.2. <a href="appendix.html#AEN6030">Privoxy's Internal
+ <dt>14.2. <a href="appendix.html#AEN6039">Privoxy's Internal
Pages</a></dt>
<dd>