##########################################################
#
-# CGI-Output template for the junkbuster.
+# Show-Status-CGI Output template for Privoxy.
#
-# Lines *starting* with '#' are ignored.
-# Symbols are enclosed in @ characters.
+# USING HTML TEMPLATES:
+# ---------------------
#
-# Usable symbols in this file:
-# redirect-url, version, home-page,
-# invocation-args, options, gateway-protocols
-# statistics,
+# Template files are written win plain HTML, with a few
+# additions:
#
+# - Lines that start with a '#' character like this one
+# are ignored
+#
+# - Each item in the below list of exported symbols will
+# be replaced by dynamically generated text, if they
+# are enclosed in '@'-characters. E.g. The string @version@
+# will be replaced by the version number of Privoxy.
+#
+# - One special application of this is to make whole blocks
+# of the HTML template disappear if the condition <name>
+# is not given. Simply enclose the block between the two
+# strings @if-<name>start and if-<name>-end@. The strings
+# should be placed in HTML comments (<!-- -->), so the
+# html structure won't be messed when the magic happens.
+#
+# USABLE SYMBOLS IN THIS TEMPLATE:
+# --------------------------------
+#
+# my-ip-addr:
+# The IP-address that the client used to reach Privoxy
+# my-hostname:
+# The hostname associated with my-ip-addr
+# admin-address:
+# The email address of the Privoxy administrator, as configured
+# in the config file
+# default-cgi:
+# The URL for the "main menu" builtin CGI of Privoxy
+# menu:
+# List of <li> elements linking to the other available CGIs
+# version:
+# The Privoxy version number
+# code-status:
+# The Privoxy development status: "alpha", "beta", or "stable".
+# homepage:
+# The URL of the Privoxy project, which maintains this software.
+#
+# invocation:
+# The command line with which Privoxy was invoked
+# options:
+# The options read from the configfile, linked to their
+# explanations, plus warnings if parsing acl or forward
+# statements produced errors.
+# defines:
+# A HTML-formatted list of all conditional #defines used when
+# Privoxy was compiled
+#
+#
+# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS:
+# ------------------------------------------------------------------
+#
+# unstable:
+# This is an alpha or beta Privoxy release
+# have-adminaddr-info:
+# An e-mail address for the local Privoxy administrator has
+# been specified and is available through the "admin-address"
+# symbol
+# have-proxy-info:
+# A URL for Privoxy's online documentation has been
+# specified and is available through the "proxy-info-url"
+# symbol
+# have-help-info:
+# If either have-proxy-info is true or have-adminaddr-info is
+# true, have-help-info is true. Used to conditionally include
+# a grey box for any and all help info.
+# statistics:
+# Privoxy was compiled with statistics support
+# have-stats:
+# There have been previous requests and statistics have
+# been collected. In this case, the following symbols
+# are available:
+# requests-received:
+# The number of requests received so far
+# requests-blocked:
+# The number of request blocked so far
+# percent-blocked:
+# The percentage of blocked requests
+# have-no-stats:
+# There haven't any statistics been collected yet
+# extended-statistics:
+# Privoxy was compiled with extended statistiscs support.
+# In this case the following symbols are available:
+# block-reason-statistics:
+# Table content of block reasons and how often they were used.
+# filter-statistics:
+# Table content of content filter statistics.
+# trust-support:
+# Privoxy was compiled with trust support
+# actions-filenames:
+# The path to the actions files.
+# re-filter-filenames:
+# The path to the re_filter files.
+# trust-filename:
+# The path to the trust file. Only available if
+# trust-support is set
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
- <title>Internet Junkbuster Status</title>
+ <title>Privoxy@@my-hostname@: Proxy Status</title>
+ <meta http-equiv="Content-Style-Type" content="text/css">
+ <meta http-equiv="Content-Script-Type" content="text/javascript">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta name="robots" content="noindex,nofollow">
+ <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
+ <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
</head>
-<body bgcolor="#ffffff">
+<body>
+
+ <table summary="" cellpadding="20" cellspacing="10" border="0" width="100%">
+ <tr>
+ <td class="title">
+
+#include mod-title
+
+ </td>
+ </tr>
+
+<!-- @if-unstable-start -->
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
+ <tr>
+ <td class="warning">
+
+#include mod-unstable-warning
+
+ </td>
+ </tr>
+<!-- if-unstable-end@ -->
- <h1>Internet J<small>UNK<i><font color="red">BUSTER</font></i></small>
- version @version@ <a href="@redirect-url@faq#show">Proxy Status</a></h1>
+ <tr>
+ <td class="box">
+ <h2>The following files are in use:</h2>
+ <table summary="Action, filter and trust files in use." class="transparent">
+ <tr>
+ <th colspan="2"><a href="@user-manual@@actions-help-prefix@ACTIONS-FILE">Actions Files:</a></th>
+ </tr>
+ @actions-filenames@
+ <tr>
+ <th colspan="2"><a href="@user-manual@filter-file.html">Filter Files:</a></th>
+ </tr>
+ @re-filter-filenames@
+<!-- @if-trust-support-start -->
+ <tr>
+ <th colspan="2"><a href="@user-manual@config.html#TRUSTFILE">Trust File:</a></th>
+ </tr>
+ <tr>
+ <td>
+ @trust-filename@
+ </td>
+ <td class="buttons">
+ <!-- @if-have-trustfile-start -->
+ <a href="show-status?file=trust">View</a>
+ <!-- if-have-trustfile-end@ -->
+ </td>
+ </tr>
+<!-- if-trust-support-end@ -->
+ </table>
+<!-- @if-cgi-editor-is-disabled-start -->
+ <p>
+ The CGI editor is currently disabled, thus no edit buttons are shown.<br>
+ Please have a look at the
+ <a href="@user-manual@config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions documentation</a>
+ to learn how to enable it and what the risks are.
+ </p>
+<!-- if-cgi-editor-is-disabled-end@ -->
+ </td>
+ </tr>
- <p>Homepage: <a href="@home-page@">@home-page@</a></p>
+ <tr>
+ <td class="box">
+ <h2>Privoxy was <a href="@user-manual@startup.html#CMDOPTIONS">invoked</a> as follows:</h2>
+ <p>@invocation@</p>
+ </td>
+ </tr>
- <h2>The program was invoked as follows</h2>
- @invocation-args@<br>
+ <tr>
+ <td class="box">
+ <h2>The following options were given in the <a href="@user-manual@config.html">config file</a>:</h2>
+ <p>@options@</p>
+ </td>
+ </tr>
- <h2>And the following options were givem in the config file:</h2>
- <BLINK>FIXME: Which?</BLINK>
+<!-- @if-statistics-start -->
+ <tr>
+ <td class="box">
+ <h2>Blocking Statistics:</h2>
+ <p>
+ <!-- @if-have-stats-start -->
+ @requests-blocked@ out of @requests-received@ requests have been blocked,
+ which equals a block rate of @percent-blocked@%.
+ </p>
+ <p>
+ For additional statistics you may want to look into Privoxy-Log-Parser's --statistics option.
+<!-- if-have-stats-end@ -->
+<!-- @if-have-no-stats-start -->
+ There haven't been any requests so far.
+<!-- if-have-no-stats-end@ -->
+ </p>
+ </td>
+ </tr>
+<!-- if-statistics-end@ -->
- @statistics@
+<!-- @if-extended-statistics-start -->
+ <tr>
+ <td class="box">
+ <h2>Block Reason Statistics:</h2>
+ <table summary="Statistics for block reasons" border="1">
+ <tr><th>Block reason</th><th>Count</th></tr>
+@block-reason-statistics@ </table>
+ </td>
+ </tr>
+ <tr>
+ <td class="box">
+ <h2>Content Filter Statistics:</h2>
+ <table summary="Statistics for content filters" border="1">
+ <tr><th>Filter name</th><th>Executions</th><th>Response bodies modified</th><th>Hits</th></tr>
+@filter-statistics@ </table>
+ </td>
+ </tr>
+<!-- if-extended-statistics-end@ -->
- <h2>The following files are in use:</h2>
+ <tr>
+ <td class="box">
+ <h2>Conditional #defines:</h2>
+ <table summary="The state of some ./configure options and what they do." border="1" style="margin-left: 10px">
+ <tr>
+ <th>#define</th> <th>Enabled?</th> <th>Effects when enabled</th>
+ </tr>
- <!-- The block following this comment will magically disappear, #ifndef SPLIT_PROXY_ARGS -->
- <!-- @magic-eliminator-start -->
+ <tr>
+ <td><code>FEATURE_64_BIT_TIME_T</code></td>
+ <td>@if-FEATURE_64_BIT_TIME_T-then@ Yes @else-not-FEATURE_64_BIT_TIME_T@ No @endif-FEATURE_64_BIT_TIME_T@</td>
+ <td>Dates before 1970 and after 2038 are (hopefully) supported.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_ACCEPT_FILTER</code></td>
+ <td>@if-FEATURE_ACCEPT_FILTER-then@ Yes @else-not-FEATURE_ACCEPT_FILTER@ No @endif-FEATURE_ACCEPT_FILTER@</td>
+ <td>Support for FreeBSD's accf_http(9) which is also available on some other BSDs.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_ACL</code></td>
+ <td>@if-FEATURE_ACL-then@ Yes @else-not-FEATURE_ACL@ No @endif-FEATURE_ACL@</td>
+ <td>Allows the use of an ACL to control access to Privoxy by IP address.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_BROTLI</code></td>
+ <td>@if-FEATURE_BROTLI-then@ Yes @else-not-FEATURE_BROTLI@ No @endif-FEATURE_BROTLI@</td>
+ <td>Allows to decompress content with Brotli before filtering it. Requires external brotli library.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_CGI_EDIT_ACTIONS</code></td>
+ <td>@if-FEATURE_CGI_EDIT_ACTIONS-then@ Yes @else-not-FEATURE_CGI_EDIT_ACTIONS@ No @endif-FEATURE_CGI_EDIT_ACTIONS@</td>
+ <td>Allows the use of the @if-FEATURE_CGI_EDIT_ACTIONS-then@<a
+ href="@default-cgi@edit-actions">@else-not-FEATURE_CGI_EDIT_ACTIONS@
+ @endif-FEATURE_CGI_EDIT_ACTIONS@web-based actions file
+ editor@if-FEATURE_CGI_EDIT_ACTIONS-then@</a>@else-not-FEATURE_CGI_EDIT_ACTIONS@@endif-FEATURE_CGI_EDIT_ACTIONS@.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_CLIENT_TAGS</code></td>
+ <td>@if-FEATURE_CLIENT_TAGS-then@ Yes @else-not-FEATURE_CLIENT_TAGS@ No @endif-FEATURE_CLIENT_TAGS@</td>
+ <td>
+ Allows clients to request to be tagged.
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_COMPRESSION</code></td>
+ <td>@if-FEATURE_COMPRESSION-then@ Yes @else-not-FEATURE_COMPRESSION@ No @endif-FEATURE_COMPRESSION@</td>
+ <td>
+ Allows to compress buffered content before sending it to the client, assuming the client supports it.
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_CONNECTION_KEEP_ALIVE</code></td>
+ <td>@if-FEATURE_CONNECTION_KEEP_ALIVE-then@ Yes @else-not-FEATURE_CONNECTION_KEEP_ALIVE@ No @endif-FEATURE_CONNECTION_KEEP_ALIVE@</td>
+ <td>
+ Allows to send multiple request through the same connections if the server supports it.
+ Requires the keep-alive-timeout config directive to be set.
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_CONNECTION_SHARING</code></td>
+ <td>@if-FEATURE_CONNECTION_SHARING-then@ Yes @else-not-FEATURE_CONNECTION_SHARING@ No @endif-FEATURE_CONNECTION_SHARING@</td>
+ <td>
+ Allows to share outgoing connections between incoming connections.
+ Requires the connection-sharing config directive to be set.
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_DYNAMIC_PCRE</code></td>
+ <td>@if-FEATURE_DYNAMIC_PCRE-then@ Yes @else-not-FEATURE_DYNAMIC_PCRE@ No @endif-FEATURE_DYNAMIC_PCRE@</td>
+ <td>Dynamically link to the PCRE library. This is set automatically
+ by <code>./configure</code> if you do not have libpcre installed.
+ Dynamically linking to an external libpcre is recommended as the one that is distributed
+ with Privoxy itself is outdated and lacks various features and bug-fixes you may be interested in.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_EXTENDED_STATISTICS</code></td>
+ <td>@if-FEATURE_EXTENDED_STATISTICS-then@ Yes @else-not-FEATURE_EXTENDED_STATISTICS@ No @endif-FEATURE_EXTENDED_STATISTICS@</td>
+ <td>Gather statistics for block reasons and filter executions.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_EXTERNAL_FILTERS</code></td>
+ <td>@if-FEATURE_EXTERNAL_FILTERS-then@ Yes @else-not-FEATURE_EXTERNAL_FILTERS@ No @endif-FEATURE_EXTERNAL_FILTERS@</td>
+ <td>
+ Allows to <a href="@user-manual@actions-file.html#EXTERNAL-FILTER">filter content
+ with external scripts and programs</a> written in any language the system Privoxy
+ runs on supports.
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_FAST_REDIRECTS</code></td>
+ <td>@if-FEATURE_FAST_REDIRECTS-then@ Yes @else-not-FEATURE_FAST_REDIRECTS@ No @endif-FEATURE_FAST_REDIRECTS@</td>
+ <td>Allows the +fast-redirects action, to bypass redirect and logging scripts.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_FORCE_LOAD</code></td>
+ <td>@if-FEATURE_FORCE_LOAD-then@ Yes @else-not-FEATURE_FORCE_LOAD@ No @endif-FEATURE_FORCE_LOAD@</td>
+ <td>
+ Allows bypassing all blocking for a single page using the prefix
+ <q><code>@force-prefix@</code></q> provided blocks aren't enforced with the
+ <a href="@user-manual@config.html#ENFORCE-BLOCKS">enforce-blocks</a> directive.
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_GRACEFUL_TERMINATION</code></td>
+ <td>@if-FEATURE_GRACEFUL_TERMINATION-then@ Yes @else-not-FEATURE_GRACEFUL_TERMINATION@ No @endif-FEATURE_GRACEFUL_TERMINATION@</td>
+ <td>Allows to shutdown Privoxy through the web interface.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_HTTPS_INSPECTION</code></td>
+ <td>@if-FEATURE_HTTPS_INSPECTION-then@ Yes @else-not-FEATURE_HTTPS_INSPECTION@ No @endif-FEATURE_HTTPS_INSPECTION@</td>
+ <td>Allows to intercept and filter HTTPS traffic.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_IMAGE_BLOCKING</code></td>
+ <td>@if-FEATURE_IMAGE_BLOCKING-then@ Yes @else-not-FEATURE_IMAGE_BLOCKING@ No @endif-FEATURE_IMAGE_BLOCKING@</td>
+ <td>Allows the +handle-as-image action, to send <q>blocked</q> images instead of HTML.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_IPV6_SUPPORT</code></td>
+ <td>@if-FEATURE_IPV6_SUPPORT-then@ Yes @else-not-FEATURE_IPV6_SUPPORT@ No @endif-FEATURE_IPV6_SUPPORT@</td>
+ <td>
+ Allows IPv6 addresses in incoming requests, when resolving domains to
+ IP addresses and in the configuration files.
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_NO_GIFS</code></td>
+ <td>@if-FEATURE_NO_GIFS-then@ Yes @else-not-FEATURE_NO_GIFS@ No @endif-FEATURE_NO_GIFS@</td>
+ <td>Use PNG instead of GIF for the built-in images.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_PCRE_HOST_PATTERNS</code></td>
+ <td>@if-FEATURE_PCRE_HOST_PATTERNS-then@ Yes @else-not-FEATURE_PCRE_HOST_PATTERNS@ No @endif-FEATURE_PCRE_HOST_PATTERNS@</td>
+ <td>Allow to use extended host patterns and vanilla host patterns
+ at the same time by prefixing extended host patterns with
+ "PCRE-HOST-PATTERN:".
+ </td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_PTHREAD</code></td>
+ <td>@if-FEATURE_PTHREAD-then@ Yes @else-not-FEATURE_PTHREAD@ No @endif-FEATURE_PTHREAD@</td>
+ <td>Use POSIX threads rather than native threads</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_STATISTICS</code></td>
+ <td>@if-FEATURE_STATISTICS-then@ Yes @else-not-FEATURE_STATISTICS@ No @endif-FEATURE_STATISTICS@</td>
+ <td>Enables the statistics function.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_STRPTIME_SANITY_CHECKS</code></td>
+ <td>@if-FEATURE_STRPTIME_SANITY_CHECKS-then@ Yes @else-not-FEATURE_STRPTIME_SANITY_CHECKS@ No @endif-FEATURE_STRPTIME_SANITY_CHECKS@</td>
+ <td>Try to work around broken strptime() implementations.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_TOGGLE</code></td>
+ <td>@if-FEATURE_TOGGLE-then@ Yes @else-not-FEATURE_TOGGLE@ No @endif-FEATURE_TOGGLE@</td>
+ <td>Allow Privoxy to be <q>disabled</q> so it is just a normal non-blocking non-filtering proxy.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_TRUST</code></td>
+ <td>@if-FEATURE_TRUST-then@ Yes @else-not-FEATURE_TRUST@ No @endif-FEATURE_TRUST@</td>
+ <td>Allows the use of trust files.</td>
+ </tr>
+ <tr>
+ <td><code>FEATURE_ZLIB</code></td>
+ <td>@if-FEATURE_ZLIB-then@ Yes @else-not-FEATURE_ZLIB@ No @endif-FEATURE_ZLIB@</td>
+ <td>Allows to decompress gzip and zlib compressed documents for filtering.
+ Requires external zlib library.</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
- <p>(Click filenames to view)</p>
- <ul>
- <li>Actions List: <a href="show-status?file=permit">@actions-filename@</a></li>
+ <tr>
+ <td class="box">
+ <h2>More Privoxy:</h2>
+ <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
+ </td>
+ </tr>
- <!-- @re-filter-killer-start -->
- <li>Regex Filter List: <a href="show-status?file=re">@re-filter-filename@</a></li>
- <!-- re-filter-killer-end@ -->
+<!-- @if-have-help-info-start -->
+ <tr>
+ <td class="info">
- <!-- @trust-killer-start -->
- <li>Access Control List: <a href="show-status?file=trust">@trust-filename@</a></li>
- <!-- trust-killer-end@ -->
+#include mod-local-help
- </ul>
- <!-- magic-eliminator-end@ -->
- <!-- The block above this comment will magically disappear, #ifndef SPLIT_PROXY_ARGS -->
+ </td>
+ </tr>
+<!-- if-have-help-info-end@ -->
- @clist@ @flist@ @alist@ @rlist@ @tlist@
+ <tr>
+ <td class="info">
- @rcs-and-defines@
+#include mod-support-and-service
- <p>Please feel free to mail <a href=mailto:ijbswa-developers@lists.sourceforge.net>the developers</a>
- with any problems you might have</p>
+ </td>
+ </tr>
+ </table>
-
</body>
</html>