[Privoxy-commits] [privoxy] 07/10: Add HTML versions of the Privoxy tool man pages

User Git git at git.privoxy.org
Sat Apr 11 15:04:16 CEST 2026


This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository privoxy.

commit 9e6fd23ca0d36e87b89857751e1d23d85a09331a
Author: Fabian Keil <fk at fabiankeil.de>
AuthorDate: Fri Jan 9 17:24:11 2026 +0100

    Add HTML versions of the Privoxy tool man pages
---
 doc/webserver/man-page/privoxy-log-parser.1.html   | 141 ++++++++++++
 .../man-page/privoxy-regression-test.1.html        | 237 +++++++++++++++++++++
 doc/webserver/man-page/uagen.1.html                | 147 +++++++++++++
 3 files changed, 525 insertions(+)

diff --git a/doc/webserver/man-page/privoxy-log-parser.1.html b/doc/webserver/man-page/privoxy-log-parser.1.html
new file mode 100644
index 00000000..9bb3572a
--- /dev/null
+++ b/doc/webserver/man-page/privoxy-log-parser.1.html
@@ -0,0 +1,141 @@
+<!-- Creator     : groff version 1.19.2 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <meta name="generator" content="groff -Thtml, see www.gnu.org">
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+  <meta name="Content-Style" content="text/css">
+  <style type="text/css">
+       p     { margin-top: 0; margin-bottom: 0; }
+       pre   { margin-top: 0; margin-bottom: 0; }
+       table { margin-top: 0; margin-bottom: 0; }
+  </style>
+  <title>PRIVOXY-LOG-PARSER</title>
+</head>
+<body>
+  <h1 align="center">PRIVOXY-LOG-PARSER</h1><a href="#NAME">NAME</a><br>
+  <a href="#SYNOPSIS">SYNOPSIS</a><br>
+  <a href="#DESCRIPTION">DESCRIPTION</a><br>
+  <a href="#OPTIONS">OPTIONS</a><br>
+  <a href="#EXAMPLES">EXAMPLES</a><br>
+  <a href="#CAVEATS">CAVEATS</a><br>
+  <a href="#BUGS">BUGS</a><br>
+  <a href="#SEE%20ALSO">SEE ALSO</a><br>
+  <a href="#AUTHOR">AUTHOR</a><br>
+  <hr>
+  <a name="NAME" id="NAME"></a>
+  <h2>NAME</h2>
+  <p style="margin-left:11%; margin-top: 1em">privoxy−log−parser − A parser and
+  syntax−highlighter for Privoxy log messages</p><a name="SYNOPSIS" id="SYNOPSIS"></a>
+  <h2>SYNOPSIS</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy−log−parser</b>
+  [<b>−−detect−inactivity</b>] [<b>−−inactivity−threshold msecs</b>]
+  [<b>−−html−output</b>] [<b>−−no−msecs</b>]
+  [<b>−−no−syntax−higlighting</b>] [<b>−−statistics</b>]
+  [<b>−−shorten−thread−ids</b>] [<b>−−show−ineffective−filters</b>]
+  [<b>−−url−statistics−threshold</b>] [<b>−−version</b>]</p><a name="DESCRIPTION"
+  id="DESCRIPTION"></a>
+  <h2>DESCRIPTION</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy−log−parser</b> reads Privoxy log messages and</p>
+  <p style="margin-left:11%; margin-top: 1em">− syntax−highlights recognized lines,</p>
+  <p style="margin-left:11%; margin-top: 1em">− reformats some of them for easier comprehension,</p>
+  <p style="margin-left:11%; margin-top: 1em">− filters out less useful messages, and</p>
+  <p style="margin-left:11%; margin-top: 1em">− (in some cases) calculates additional information,<br>
+  like the compression ratio or how a filter affected<br>
+  the content size.</p>
+  <p style="margin-left:11%; margin-top: 1em">With <b>privoxy−log−parser</b> you should be able to increase
+  Privoxy's log level without getting confused by the resulting amount of output. For example for "debug 64"
+  <b>privoxy−log−parser</b> will (by default) only show messages that affect the content. If a filter
+  doesn't cause any hits, <b>privoxy−log−parser</b> will hide the "filter foo caused 0 hits"
+  message.</p><a name="OPTIONS" id="OPTIONS"></a>
+  <h2>OPTIONS</h2>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−detect−inactivity</b>] Instead of syntax
+  highlighting, detect periods of log inactivity of more than the amount of milliseconds specified with the
+  <b>−−inactivity−threshold</b> option. Mainly useful for debugging.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−host−statistics−threshold</b>] Only show
+  the request count for a host if it's above or equal to the given threshold. If the threshold is 0, host statistics
+  are disabled.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−html−output</b>] Use HTML and CSS when syntax
+  highlighting. If this option is omitted, ANSI escape sequences are used unless
+  <b>−−no−syntax−highlighting</b> is active. This option is only intended to make embedding log
+  excerpts in web pages easier. It does not escape any input!</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−inactivity−threshold msecs</b>] Specifies the
+  number of milliseconds between log messages to consider inactivity when running in
+  [<b>−−detect−inactivity</b>] mode.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−keep−date</b>] Don't remove the date when
+  printing highlighted log messages. Useful when parsing multiple log files at once.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−no−msecs</b>] Don't expect millisecond
+  resolution</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−no−syntax−highlighting</b>] Disable
+  syntax−highlighting. Useful when the filtered output is piped into less in which case the ANSI control codes
+  don't work, or if the terminal itself doesn't support the control codes.</p>
+  <p style="margin-left:11%; margin-top: 1em">
+  [<b>−−passed−request−statistics−threshold</b>] Only show the request count for a passed
+  requests if it's above or equal to the given threshold. If the threshold is 0, passed request statistics are
+  disabled.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−shorten−thread−ids</b>] Shorten the thread
+  ids to a three−digit decimal number. Note that the mapping from thread ids to shortened ids is created at
+  run−time and thus varies with the input.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−show−ineffective−filters</b>] Don't
+  suppress log lines for filters that didn't modify the content.</p>
+  <p style="margin-left:11%; margin-top: 1em">
+  [<b>−−show−complete−request−distribution</b>] Show the complete client request
+  distribution in the <b>−−statistics</b> output. Without this option only the ten most common numbers are
+  shown.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−statistics</b>] Gather various statistics instead of
+  syntax highlighting log messages. This is an experimental feature, if the results look wrong they very well might be.
+  Also note that the results are pretty much guaranteed to be incorrect if Privoxy and Privoxy−Log−Parser
+  aren't in sync.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−strict−checks</b>] When generating statistics,
+  look more careful at the input data and abort if it is unexpected, even if it doesn't affect the results.
+  Significantly slows the parsing down and is not expected to catch any problems that matter. When highlighting, print
+  warnings in case of unknown messages which can't be properly highlighted.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−unbreak−lines−only</b>] Tries to fix lines
+  that got messed up by a broken or interestingly configured mail client and thus are no longer recognized properly.
+  Only fixes some breakage, but may be good enough or at least better than nothing. Doesn't do anything else, so you
+  probably want to pipe the output into <b>privoxy−log−parser</b> again.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−url−statistics−threshold</b>] Only show the
+  request count for a resource if it's above or equal to the given threshold. If the threshold is 0, URL statistics are
+  disabled.</p>
+  <p style="margin-left:11%; margin-top: 1em">[<b>−−version</b>] Print version and exit.</p><a name=
+  "EXAMPLES" id="EXAMPLES"></a>
+  <h2>EXAMPLES</h2>
+  <p style="margin-left:11%; margin-top: 1em">To monitor a log file:</p>
+  <p style="margin-left:11%; margin-top: 1em">tail −F /usr/jails/privoxy−jail/var/log/privoxy/privoxy.log |
+  <b>privoxy−log−parser</b></p>
+  <p style="margin-left:11%; margin-top: 1em">Replace '−F' with '−f' if your tail implementation lacks
+  '−F' support or if the log won't get rotated anyway. The log file location depends on your system (Doh!).</p>
+  <p style="margin-left:11%; margin-top: 1em">To monitor Privoxy without having it write to a log file:</p>
+  <p style="margin-left:11%; margin-top: 1em">privoxy −−no−daemon
+  /usr/jails/privoxy−jail/usr/local/etc/privoxy/config 2>&1 | <b>privoxy−log−parser</b></p>
+  <p style="margin-left:11%; margin-top: 1em">Again, the config file location depends on your system. Output
+  redirection depends on your shell, the above works with bourne shells.</p>
+  <p style="margin-left:11%; margin-top: 1em">To read a processed Privoxy log file from top to bottom, letting the
+  content scroll by slightly faster than you can read:</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy−log−parser</b> <
+  /usr/jails/privoxy−jail/var/log/privoxy/privoxy.log</p>
+  <p style="margin-left:11%; margin-top: 1em">This is probably only useful to fill screens in the background of haxor
+  movies.</p><a name="CAVEATS" id="CAVEATS"></a>
+  <h2>CAVEATS</h2>
+  <p style="margin-left:11%; margin-top: 1em">Syntax highlighting with ANSI escape sequences will look strange if your
+  background color isn't black.</p>
+  <p style="margin-left:11%; margin-top: 1em">Some messages aren't recognized yet and will not be fully
+  highlighted.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy−log−parser</b> is developed with Privoxy 3.0.7 or
+  later in mind, using earlier Privoxy versions will probably result in an increased amount of unrecognized log
+  lines.</p>
+  <p style="margin-left:11%; margin-top: 1em">Privoxy's log files tend to be rather large. If you use HTML highlighting
+  some browsers can't handle them, get confused and will eventually crash because of segmentation faults or unexpected
+  exceptions. This is a problem in the browser and not <b>privoxy−log−parser</b>'s fault.</p><a name="BUGS"
+  id="BUGS"></a>
+  <h2>BUGS</h2>
+  <p style="margin-left:11%; margin-top: 1em">Many settings can't be controlled through command line options
+  yet.</p><a name="SEE ALSO"></a>
+  <h2>SEE ALSO</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy</b>(8)</p><a name="AUTHOR" id="AUTHOR"></a>
+  <h2>AUTHOR</h2>
+  <p style="margin-left:11%; margin-top: 1em">Fabian Keil <fk at fabiankeil.de></p>
+  <hr>
+</body>
+</html>
diff --git a/doc/webserver/man-page/privoxy-regression-test.1.html b/doc/webserver/man-page/privoxy-regression-test.1.html
new file mode 100644
index 00000000..4d1309f8
--- /dev/null
+++ b/doc/webserver/man-page/privoxy-regression-test.1.html
@@ -0,0 +1,237 @@
+<!-- Creator     : groff version 1.19.2 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <meta name="generator" content="groff -Thtml, see www.gnu.org">
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+  <meta name="Content-Style" content="text/css">
+  <style type="text/css">
+       p     { margin-top: 0; margin-bottom: 0; }
+       pre   { margin-top: 0; margin-bottom: 0; }
+       table { margin-top: 0; margin-bottom: 0; }
+  </style>
+  <title>PRIVOXY-REGRESSION-TEST</title>
+</head>
+<body>
+  <h1 align="center">PRIVOXY-REGRESSION-TEST</h1><a href="#NAME">NAME</a><br>
+  <a href="#SYNOPSIS">SYNOPSIS</a><br>
+  <a href="#DESCRIPTION">DESCRIPTION</a><br>
+  <a href="#CONFIGURATION%20FILE%20SYNTAX">CONFIGURATION FILE SYNTAX</a><br>
+  <a href="#TEST%20LEVELS">TEST LEVELS</a><br>
+  <a href="#OPTIONS">OPTIONS</a><br>
+  <a href="#PRIVOXY%20CONFIGURATION">PRIVOXY CONFIGURATION</a><br>
+  <a href="#CAVEATS">CAVEATS</a><br>
+  <a href="#LIMITATIONS">LIMITATIONS</a><br>
+  <a href="#SEE%20ALSO">SEE ALSO</a><br>
+  <a href="#AUTHOR">AUTHOR</a><br>
+  <hr>
+  <a name="NAME" id="NAME"></a>
+  <h2>NAME</h2>
+  <p style="margin-left:11%; margin-top: 1em">privoxy−regression−test − A regression test
+  "framework" for Privoxy.</p><a name="SYNOPSIS" id="SYNOPSIS"></a>
+  <h2>SYNOPSIS</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy−regression−test</b>
+  [<b>−−check−bad−ssl</b>] [<b>−−curl curl</b>] [<b>−−debug
+  bitmask</b>] [<b>−−forks</b> forks] [<b>−−fuzzer−feeding</b>]
+  [<b>−−fuzzer−feeding</b>] [<b>−−help</b>] [<b>−−level level</b>]
+  [<b>−−local−test−file testfile</b>] [<b>−−loops count</b>]
+  [<b>−−max−level max−level</b>] [<b>−−max−time max−time</b>]
+  [<b>−−min−level min−level</b>] <b>−−privoxy−address proxy−address
+  −−privoxy−cgi−prefix cgi−prefix</b> [<b>−−retries retries</b>]
+  [<b>−−test−number test−number</b>] [<b>−−show−skipped−tests</b>]
+  [<b>−−sleep−time</b> seconds] [<b>−−verbose</b>]
+  [<b>−−version</b>]</p><a name="DESCRIPTION" id="DESCRIPTION"></a>
+  <h2>DESCRIPTION</h2>
+  <p style="margin-left:11%; margin-top: 1em">Privoxy−Regression−Test is supposed to one day become a
+  regression test suite for Privoxy. It's not quite there yet, however, and can currently only test header actions,
+  check the returned status code for requests to arbitrary URLs and verify which actions are applied to them.</p>
+  <p style="margin-left:11%; margin-top: 1em">Client header actions are tested by requesting
+  <b>http://p.p/show−request</b> and checking whether or not Privoxy modified the original request as
+  expected.</p>
+  <p style="margin-left:11%; margin-top: 1em">The original request contains both the header the
+  action−to−be−tested acts upon and an additional tagger−triggering header that enables the
+  action to test.</p>
+  <p style="margin-left:11%; margin-top: 1em">Applied actions are checked through
+  <b>http://p.p/show−url−info</b>.</p><a name="CONFIGURATION FILE SYNTAX"></a>
+  <h2>CONFIGURATION FILE SYNTAX</h2>
+  <p style="margin-left:11%; margin-top: 1em">Privoxy−Regression−Test's configuration is embedded in
+  Privoxy action files and loaded through Privoxy's web interface.</p>
+  <p style="margin-left:11%; margin-top: 1em">It makes testing a Privoxy version running on a remote system easier and
+  should prevent you from updating your tests without updating Privoxy's configuration accordingly.</p>
+  <p style="margin-left:11%; margin-top: 1em">A client−header−action test section looks like this:</p>
+  <pre style=
+  "margin-left:11%; margin-top: 1em">    # Set Header    = Referer: http://www.example.org.zwiebelsuppe.exit/
+    # Expect Header = Referer: http://www.example.org/
+    {+client−header−filter{hide−tor−exit−notation} −hide−referer}
+    TAG:^client−header−filter\{hide−tor−exit−notation\}$</pre>
+  <p style="margin-left:11%; margin-top: 1em">The example above causes Privoxy−Regression−Test to set the
+  header <b>Referer: http://www.example.org.zwiebelsuppe.exit/</b> and to expect it to be modified to <b>Referer:
+  http://www.example.org/</b>.</p>
+  <p style="margin-left:11%; margin-top: 1em">When testing this section, Privoxy−Regression−Test will set
+  the header <b>X−Privoxy−Control:
+  client−header−filter{hide−tor−exit−notation}</b> causing the
+  <b>privoxy−control</b> tagger to create the tag
+  <b>client−header−filter{hide−tor−exit−notation}</b> which will finally cause Privoxy to
+  enable the action section.</p>
+  <p style="margin-left:11%; margin-top: 1em">Note that the actions itself are only used by Privoxy,
+  Privoxy−Regression−Test ignores them and will be happy as long as the expectations are satisfied.</p>
+  <p style="margin-left:11%; margin-top: 1em">A fetch test looks like this:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    # Fetch Test = http://p.p/user−manual
+    # Expect Status Code = 302</pre>
+  <p style="margin-left:11%; margin-top: 1em">It tells Privoxy−Regression−Test to request
+  <b>http://p.p/user−manual</b> and to expect a response with the HTTP status code <b>302</b>. Obviously that's
+  not a very thorough test and mainly useful to get some code coverage for Valgrind or to verify that the templates are
+  installed correctly.</p>
+  <p style="margin-left:11%; margin-top: 1em">If you want to test CGI pages that require a trusted referer, you can
+  use:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    # Trusted CGI Request = http://p.p/edit−actions</pre>
+  <p style="margin-left:11%; margin-top: 1em">It works like ordinary fetch tests, but sets the referer header to a
+  trusted value.</p>
+  <p style="margin-left:11%; margin-top: 1em">If no explicit status code expectation is set, <b>200</b> is used.</p>
+  <p style="margin-left:11%; margin-top: 1em">To verify that a URL is blocked, use:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    # Blocked URL = http://www.example.com/blocked</pre>
+  <p style="margin-left:11%; margin-top: 1em">To verify that a specific set of actions is applied to an URL, use:</p>
+  <pre style=
+  "margin-left:11%; margin-top: 1em">    # Sticky Actions = +block{foo} +handle−as−empty−document −handle−as−image
+    # URL = http://www.example.org/my−first−url</pre>
+  <p style="margin-left:11%; margin-top: 1em">The sticky actions will be checked for all URLs below it until the next
+  sticky actions directive.</p>
+  <p style="margin-left:11%; margin-top: 1em">To verify that requests for a URL get redirected, use:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    # Redirected URL = http://www.example.com/redirect−me
+    # Redirect Destination = http://www.example.org/redirected</pre>
+  <p style="margin-left:11%; margin-top: 1em">To skip a test, add the following line:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    # Ignore = Yes</pre>
+  <p style="margin-left:11%; margin-top: 1em">The difference between a skipped test and a removed one is that removing
+  a test affects the numbers of the following tests, while a skipped test is still loaded and thus keeps the test
+  numbers unchanged.</p>
+  <p style="margin-left:11%; margin-top: 1em">Sometimes user modifications intentionally conflict with tests in the
+  default configuration and thus cause test failures. Adding the Ignore directive to the failing tests works but is
+  inconvenient as the directive is likely to get lost with the next update.</p>
+  <p style="margin-left:11%; margin-top: 1em">Overwrite conditions are an alternative and can be added in any action
+  file as long as the come after the test that is expected to fail. They cause all previous tests that match the
+  condition to be skipped.</p>
+  <p style="margin-left:11%; margin-top: 1em">It is recommended to put the overwrite condition below the custom Privoxy
+  section that causes the expected test failure and before the custom test that verifies that tests the now expected
+  behaviour. Example:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    # The following section is expected to overwrite a section in
+    # default.action, whose effect is being tested. Thus also disable
+    # the test that is now expected to fail and add a new one.
+    #
+    {+block{Facebook makes Firefox even more unstable. Do not want.}}
+    # Overwrite condition = http://apps.facebook.com/onthefarm/track.php?creative=&cat=friendvisit&subcat=weeds&key=a789a971dc687bee4c20c044834fabdd&next=index.php%3Fref%3Dnotif%26visitId%3D898835505
+    # Blocked URL = http://apps.facebook.com/
+    .facebook./</pre><a name="TEST LEVELS"></a>
+  <h2>TEST LEVELS</h2>
+  <p style="margin-left:11%; margin-top: 1em">All tests have test levels to let the user control which ones to execute
+  (see <i>OPTIONS</i> below). Test levels are either set with the <b>Level</b> directive, or implicitly through the
+  test type.</p>
+  <p style="margin-left:11%; margin-top: 1em">Redirect tests default to level 108, block tests to level 7, fetch tests
+  to level 6, "Sticky Actions" tests default to level 5, tests for trusted CGI requests to level 3 and
+  client−header−action tests to level 1.</p>
+  <p style="margin-left:11%; margin-top: 1em">The current redirect test level is above the default max−level
+  value as failed tests will result in outgoing connections. Use the <b>−−max−level</b> option to run
+  them as well.</p>
+  <p style="margin-left:11%; margin-top: 1em">The "Default level offset" directive can be used to change the
+  default level by a given value. This directive affects all tests located after it until the end of the file or a
+  another "Default level offset" directive is reached. The purpose of this directive is to make it more
+  convenient to skip similar tests in a given file without having to remove or disable the tests
+  completely.</p><a name="OPTIONS" id="OPTIONS"></a>
+  <h2>OPTIONS</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−check−bad−ssl</b> Instead of running the
+  regression tests as described above, request pages from badssl.com with bad certificates to verify that Privoxy is
+  detecting the certificate issues. Only works if Privoxy has been compiled with FEATURE_HTTPS_INSPECTION, has been
+  configured properly and can reach the Internet.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−curl curl</b> Use a non−default curl binary.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−debug bitmask</b> Add the bitmask provided as integer to
+  the debug settings.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−forks forks</b> Number of forks to start before
+  executing the regression tests. This is mainly useful for stress−testing.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−fuzzer−address</b> Listening address used when
+  executing the regression tests. Useful to make sure that the requests to load the regression tests don't fail due to
+  fuzzing.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−fuzzer−feeding</b> Ignore some errors that would
+  otherwise cause Privoxy−Regression−Test to abort the test because they shouldn't happen in normal
+  operation. This option is intended to be used if Privoxy−Regression−Test is only used to feed a fuzzer in
+  which case there's a high chance that Privoxy gets an invalid request and returns an error message.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−help</b> Shows available command line options.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−header−fuzzing</b> Modifies linear white space in
+  headers in a way that should not affect the test result.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−level level</b> Only execute tests with the specified
+  <b>level</b>.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−local−test−file test−file</b> Do not
+  get the tests through Privoxy's web interface, but use a single local file. Not recommended for testing Privoxy, but
+  can be useful to "misappropriate" Privoxy−Regression−Test to test other stuff, like webserver
+  configurations.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−loop count</b> Loop through the regression tests
+  <b>count</b> times. Useful to feed a fuzzer, or when doing stress tests with several
+  Privoxy−Regression−Test instances running at the same time.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−max−level max−level</b> Only execute tests
+  with a <b>level</b> below or equal to the numerical <b>max−level</b>.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−max−time max−time</b> Give Privoxy
+  <b>max−time</b> seconds to return data. Increasing the default may make sense when Privoxy is run through
+  Valgrind, decreasing the default may make sense when Privoxy−Regression−Test is used to feed a
+  fuzzer.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−min−level min−level</b> Only execute tests
+  with a <b>level</b> above or equal to the numerical <b>min−level</b>. If the <b>min−level</b> is larger
+  than the <b>max−level</b>, the <b>max−level</b> is set to the <b>min−level</b>.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−privoxy−address proxy−address</b> Privoxy's
+  listening address. If it's not set, the value of the environment variable http_proxy will be used unless the variable
+  isn't set in which case http://127.0.0.1:8118/ will be used. <b>proxy−address</b> has to be specified in
+  http_proxy syntax.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−privoxy−cgi−prefix
+  privoxy−cgi−prefix</b> The prefix to use when building URLs that are supposed to reach Privoxy's CGI
+  interface. If it's not set, <b>http://p.p/</b> is used, which is supposed to work with the default Privoxy
+  configuration. If Privoxy has been built with <b>FEATURE_HTTPS_INSPECTION</b> enabled, and if https inspection is
+  activated with the <b>+https−inspection</b> action, this option can be used with <b>https://p.p/</b> provided
+  the system running Privoxy−Regression−Test has been configured to trust the certificate used by Privoxy.
+  Note that there are currently two tests in the official <b>regression−tests.action</b> file that are expected
+  to fail when using a <b>privoxy−cgi−prefix</b> with <b>https://</b> and aren't automatically skipped.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−retries retries</b> Retry <b>retries</b> times.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−test−number test−number</b> Only run the
+  test with the specified number.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−show−skipped−tests</b> Log skipped tests
+  even if verbose mode is off.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−shuffle−tests</b> Shuffle test sections and their
+  tests before executing them. When combined with <b>−−forks</b>, this can increase the chances of
+  detecting race conditions. Of course some problems are easier to detect without this option.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−sleep−time seconds</b> Wait <b>seconds</b> between
+  tests. Useful when debugging issues with systems that don't log with millisecond precision.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−verbose</b> Log successful tests as well. By default
+  only the failures are logged.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−version</b> Print version and exit.</p>
+  <p style="margin-left:11%; margin-top: 1em">The second dash is optional, options can be shortened, as long as there
+  are no ambiguities.</p><a name="PRIVOXY CONFIGURATION"></a>
+  <h2>PRIVOXY CONFIGURATION</h2>
+  <p style="margin-left:11%; margin-top: 1em">Privoxy−Regression−Test is shipped with
+  <b>regression−tests.action</b> which aims to test all official client−header modifying actions and can be
+  used to verify that the templates and the user manual files are installed correctly.</p>
+  <p style="margin-left:11%; margin-top: 1em">To use it, it has to be copied in Privoxy's configuration directory, and
+  afterwards referenced in Privoxy's configuration file with the line:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    actionsfile regression−tests.action</pre>
+  <p style="margin-left:11%; margin-top: 1em">In general, its tests are supposed to work without changing any other
+  action files, unless you already added lots of taggers yourself. If you are using taggers that cause problems, you
+  might have to temporary disable them for Privoxy's CGI pages.</p>
+  <p style="margin-left:11%; margin-top: 1em">Some of the regression tests rely on Privoxy features that may be
+  disabled in your configuration. Tests with a level below 7 are supposed to work with all Privoxy configurations
+  (provided you didn't build with FEATURE_GRACEFUL_TERMINATION).</p>
+  <p style="margin-left:11%; margin-top: 1em">Tests with level 9 require Privoxy to deliver the User Manual, tests with
+  level 12 require the CGI editor to be enabled.</p><a name="CAVEATS" id="CAVEATS"></a>
+  <h2>CAVEATS</h2>
+  <p style="margin-left:11%; margin-top: 1em">Expect the configuration file syntax to change with future
+  releases.</p><a name="LIMITATIONS" id="LIMITATIONS"></a>
+  <h2>LIMITATIONS</h2>
+  <p style="margin-left:11%; margin-top: 1em">As Privoxy's <b>show−request</b> page only shows client headers,
+  Privoxy−Regression−Test can't use it to test Privoxy actions that modify server headers.</p>
+  <p style="margin-left:11%; margin-top: 1em">As Privoxy−Regression−Test relies on Privoxy's tag feature to
+  control the actions to test, it currently only works with Privoxy 3.0.7 or later.</p>
+  <p style="margin-left:11%; margin-top: 1em">At the moment Privoxy−Regression−Test fetches Privoxy's
+  configuration page through <i>curl</i>(1), therefore you have to have <i>curl</i> installed, otherwise you won't be
+  able to run Privoxy−Regression−Test in a meaningful way.</p><a name="SEE ALSO"></a>
+  <h2>SEE ALSO</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy</b>(8) <b>curl</b>(1)</p><a name="AUTHOR" id="AUTHOR"></a>
+  <h2>AUTHOR</h2>
+  <p style="margin-left:11%; margin-top: 1em">Fabian Keil <fk at fabiankeil.de></p>
+  <hr>
+</body>
+</html>
diff --git a/doc/webserver/man-page/uagen.1.html b/doc/webserver/man-page/uagen.1.html
new file mode 100644
index 00000000..54d4d636
--- /dev/null
+++ b/doc/webserver/man-page/uagen.1.html
@@ -0,0 +1,147 @@
+<!-- Creator     : groff version 1.19.2 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <meta name="generator" content="groff -Thtml, see www.gnu.org">
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+  <meta name="Content-Style" content="text/css">
+  <style type="text/css">
+       p     { margin-top: 0; margin-bottom: 0; }
+       pre   { margin-top: 0; margin-bottom: 0; }
+       table { margin-top: 0; margin-bottom: 0; }
+  </style>
+  <title>UAGEN</title>
+</head>
+<body>
+  <h1 align="center">UAGEN</h1><a href="#NAME">NAME</a><br>
+  <a href="#SYNOPSIS">SYNOPSIS</a><br>
+  <a href="#DESCRIPTION">DESCRIPTION</a><br>
+  <a href="#OPTIONS">OPTIONS</a><br>
+  <a href="#PRIVOXY%20CONFIGURATION">PRIVOXY CONFIGURATION</a><br>
+  <a href="#EXAMPLES">EXAMPLES</a><br>
+  <a href="#CAVEATS">CAVEATS</a><br>
+  <a href="#BUGS">BUGS</a><br>
+  <a href="#SEE%20ALSO">SEE ALSO</a><br>
+  <a href="#AUTHOR">AUTHOR</a><br>
+  <hr>
+  <a name="NAME" id="NAME"></a>
+  <h2>NAME</h2>
+  <p style="margin-left:11%; margin-top: 1em">uagen − A Firefox User−Agent generator for Privoxy and
+  Mozilla browsers</p><a name="SYNOPSIS" id="SYNOPSIS"></a>
+  <h2>SYNOPSIS</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>uagen</b> [<b>−−action−file</b> <i>action_file</i>]
+  [<b>−−action−injection</b>] [<b>−−browser−release−date</b>
+  <i>browser_release_date</i>] [<b>−−browser−revision</b> <i>browser_revision</i>]
+  [<b>−−browser−version</b> <i>browser_version</i>]
+  [<b>−−clean−prefs−file</b>] [<b>−−help</b>]
+  [<b>−−language−overwrite</b> <i>language(s)</i>] [<b>−−logfile</b> <i>logfile</i>]
+  [<b>−−loop</b>] [<b>−−no−action−file</b>] [<b>−−no−logfile</b>]
+  [<b>−−prefs−file</b> <i>prefs_file</i>] [<b>−−randomize−release−date</b>]
+  [<b>−−quiet</b>] [<b>−−sleeping−time</b> <i>minutes</i>] [<b>−−silent</b>]
+  [<b>−−version</b>]</p><a name="DESCRIPTION" id="DESCRIPTION"></a>
+  <h2>DESCRIPTION</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>uagen</b> generates a fake Firefox User−Agent and writes it into
+  a Privoxy action file as parameter for Privoxy's <b>hide−user−agent</b> action. Operating system,
+  architecture, platform, language and, optionally, the build date are randomized.</p>
+  <p style="margin-left:11%; margin-top: 1em">The generated language is also used as parameter for the
+  <b>hide−accept−language</b> action which is understood by Privoxy since version 3.0.5 beta.</p>
+  <p style="margin-left:11%; margin-top: 1em">Additionally the User−Agent can be written into prefs.js files
+  which are used by many Mozilla browsers.</p><a name="OPTIONS" id="OPTIONS"></a>
+  <h2>OPTIONS</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−action−file</b> <i>action_file</i> Privoxy action
+  file to write the generated actions into. Default is /etc/privoxy/user−agent.action.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−action−injection</b> Don't generate a new action
+  file from scratch, but read an old one and just replace the action values. Useful to keep custom URL patterns. For
+  this to work, the action file has to be already present. <b>uagen</b> neither checks the syntax nor cares if all
+  actions are present. Garbage in, garbage out.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−browser−release−date</b>
+  <i>browser_release_date</i> Date to use. The format is YYYYMMDD. Some sanity checks are done, but you shouldn't rely
+  on them. Note that the Mozilla project has frozen the "Gecko token" starting with Firefox 4 so using a
+  different one than the default is somewhat suspicious.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−browser−revision</b> <i>browser_revision</i> Use a
+  custom revision. <b>uagen</b> will use it without any sanity checks.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−browser−version</b> <i>browser_version</i> Use a
+  custom browser version. <b>uagen</b> will use it without any sanity checks.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−clean−prefs−file</b> The <i>prefs_file</i>
+  is read and the variables <b>general.useragent.override</b> and <b>intl.accept_languages</b> are removed. Only
+  effective if <i>prefs_file</i> is set, and only useful if you want to use the browser's defaults again.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−help</b> List command line options and exit.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−language−overwrite</b> <i>language(s)</i> Comma
+  separated list of language codes to overwrite the default values. <b>uagen</b> chooses one of them for the generated
+  User−Agent, by default the chosen language in lower cases is also used as
+  <b>hide−accept−language</b> parameter.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−logfile</b> <i>logfile</i> Logfile to save error
+  messages and the generated User−Agents. Default is /var/log/uagen.log.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−loop</b> Don't exit after the generation of the action
+  file. Sleep for a while and generate a new one instead. Useful if you don't have <b>cron</b>(8).</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−no−logfile</b> Don't log anything.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−no−action−file</b> Don't write the action
+  file.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−no−hide−accept−language</b> Stay
+  compatible with Privoxy 3.0.3 and don't generate the <b>hide−accept−language</b> action line. You should
+  really update your Privoxy version instead.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−prefs−file</b> <i>prefs_file</i> Use the generated
+  User−Agent to set the <b>general.useragent.override</b> variable in the Mozilla preference file
+  <i>prefs_file</i>, The <b>intl.accept_languages</b> variable will be set as well.</p>
+  <p style="margin-left:11%; margin-top: 1em">Firefox's preference file is usually located in
+  ~/.mozilla/firefox/*.default/prefs.js. Note that Firefox doesn't reread the file once it is running.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−randomize−release−date</b> Randomly pick a
+  date between the configured release date and the actual date. Note that Firefox versions after 4.0 no longer provide
+  the build date in the User−Agent header, so if you randomize the date anyway, it will be obvious that the
+  generated User−Agent is fake.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−quiet</b> Don't print the generated User−Agent to
+  the console.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−sleeping−time</b> <i>minutes</i> Time to sleep.
+  Only effective if used with <b>−−loop</b>.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−silent</b> Don't print the generated User−Agent to
+  the console.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>−−version</b> Print version and exit.</p>
+  <p style="margin-left:11%; margin-top: 1em">The second dash is optional, options can be shortened, as long as there
+  are no ambiguities.</p><a name="PRIVOXY CONFIGURATION"></a>
+  <h2>PRIVOXY CONFIGURATION</h2>
+  <p style="margin-left:11%; margin-top: 1em">In Privoxy's configuration file the line:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    actionsfile user−agent.action</pre>
+  <p style="margin-left:11%; margin-top: 1em">should be added after:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    actionfile default.action</pre>
+  <p style="margin-left:11%; margin-top: 1em">and before:</p>
+  <pre style="margin-left:11%; margin-top: 1em">    actionfile user.action</pre>
+  <p style="margin-left:11%; margin-top: 1em">This way the user can still use custom User−Agents in
+  <i>user.action</i>. <i>user−agent</i> has to be the name of the generated action file.</p>
+  <p style="margin-left:11%; margin-top: 1em">If you are using Privoxy 3.0.6 or earlier, don't add the
+  ".action" extension.</p><a name="EXAMPLES" id="EXAMPLES"></a>
+  <h2>EXAMPLES</h2>
+  <p style="margin-left:11%; margin-top: 1em">Without any options, <b>uagen</b> creates an action file like:</p>
+  <pre style="margin-left:11%; margin-top: 1em"> {+hide−accept−language{en−ca} \
+  +hide−user−agent{Mozilla/5.0 (X11; U; OpenBSD i386; en−CA; rv:1.8.0.4) Gecko/20060628 Firefox/1.5.0.4} \
+ }
+ /</pre>
+  <p style="margin-left:11%; margin-top: 1em">with the −−no−accept−language option the
+  generated file could look like this one:</p>
+  <pre style=
+  "margin-left:11%; margin-top: 1em"> {+hide−user−agent{Mozilla/5.0 (X11; U; FreeBSD i386; de−DE; rv:1.8.0.4) Gecko/20060720 Firefox/1.5.0.4} \
+ }
+ /</pre><a name="CAVEATS" id="CAVEATS"></a>
+  <h2>CAVEATS</h2>
+  <p style="margin-left:11%; margin-top: 1em">Use the https−inspection action to make sure Privoxy can modify the
+  browser's headers for encrypted traffic as well.</p>
+  <p style="margin-left:11%; margin-top: 1em">Mozilla users can alter the browser's User−Agent with the
+  <b>−−prefs−file</b> option. But note that the preference file is only read on startup. If the
+  browser is already running, <b>uagen's</b> changes will be ignored.</p>
+  <p style="margin-left:11%; margin-top: 1em">Hiding the User−Agent is pointless if the browser accepts all
+  cookies or even is configured for remote maintenance through Flash, JavaScript, Java or similar security
+  problems.</p><a name="BUGS" id="BUGS"></a>
+  <h2>BUGS</h2>
+  <p style="margin-left:11%; margin-top: 1em">Some parameters can't be specified at the command line.</p><a name=
+  "SEE ALSO"></a>
+  <h2>SEE ALSO</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy</b>(8)</p><a name="AUTHOR" id="AUTHOR"></a>
+  <h2>AUTHOR</h2>
+  <p style="margin-left:11%; margin-top: 1em">Fabian Keil <fk at fabiankeil.de></p>
+  <p style="margin-left:11%; margin-top: 1em">https://www.fabiankeil.de/sourcecode/uagen/</p>
+  <p style="margin-left:11%; margin-top: 1em">
+  https://www.fabiankeil.de/blog−surrogat/2006/01/26/firefox−user−agent−generator.html
+  (German)</p>
+  <hr>
+</body>
+</html>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Privoxy-commits mailing list