Correct HTML, external Stylesheets, eye candy, some fixes
[privoxy.git] / templates / show-status
index ee4d778..2bd311c 100644 (file)
 ##########################################################
 #
-# 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 this proxy
+#  my-hostname:
+#    The hostname associated with my-ip-addr
+#  admin-address:
+#    The email address of the pxoxy's administrator, as configured
+#    in the config file
+#  default-cgi:
+#    The URL for the "main menu" builtin CGI of this proxy
+#  menu:
+#    List of <li> elements linking to the other available CGIs
+#  version:
+#    The version number of the proxy software
+#  code-status:
+#    The development status of the proxy software: "alpha", "beta",
+#    or "stable".
+#  homepage:
+#    The URL of the SourceForge ijbswa project, who maintains this
+#    software.
+#
+#  redirect-url:
+#    The URL to a script that will redirect to the Privoxy
+#    documentation for a given item  
+#  invocation:
+#    The command line with whitch Privoxy was invoked
+#  options:
+#    The options read from the configfile, linked to their
+#    explanations, plus warnings if parsing acl or forward
+#    statements produced errors.
+#  sourceversions:
+#    A HTML-formatted list of the individual source file cvs versions
+#  defines:
+#    A HTML-formatted list of all conditional #defines used when
+#    Privoxy was compiled
+#
+#  
+# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS:
+# ------------------------------------------------------------------
+#
+#  unstable:
+#    This is an alpha or beta release of the proxy software
+#  have-adminaddr-info:
+#    An e-mail address for the local Privoxy adminstrator has
+#    been specified and is available through the "admin-address"
+#    symbol
+#  have-proxy-info:
+#    A URL for online documentation about this proxy has been
+#    specified and is available through the "proxy-info-url"
+#    symbol
+#  have-help-info:
+#    If either have-proxy-info is true or have-adminaddr-info is
+#    true, have-help-info is true.  Used to conditionally include
+#    a grey box for any and all help info.
+#  statistics:
+#    Privoxy was compiled with statistics support
+#  have-stats:
+#    There have been previous requests and statistics have
+#    been collected. In this case, the following symbols
+#    are available:
+#    requests-received:
+#      The number of requests received so far
+#    requests-blocked:
+#      The number of request blocked so far
+#    percent-blocked:
+#      The percentage of blocked requests
+#  have-no-stats:
+#    There haven't any statistics been collected yet
+#  pcrs-support:
+#    Privoxy was compiled with pcrs support
+#  trust-support:
+#    Privoxy was compiled with trust support
+#  actions-filename:
+#    The path to the actions file.
+#  re-filter-filename:
+#    The path to the re_filter file. Only available if
+#    pcrs-support is set
+#  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=ISO-8859-1">
+  <meta name="robots" content="noindex,nofollow">
+  <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
 </head>
 
-<body bgcolor="#ffffff">
-
-  <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>
-
-  <p>Homepage: <a href="@home-page@">@home-page@</a></p>
-
-  <h2>The program was invoked as follows</h2>
-  @invocation-args@<br>
-
-  <h2>And the following options were givem in the config file:</h2>
-  <BLINK>FIXME: Which?</BLINK>
+<body>
 
-  <h2>It supports the following gateway protocols:</h2>
-  @gateway-protocols@
+  <table cellpadding="20" cellspacing="10" border="0" width="100%">
+    <tr>
+      <td class="title">
+        <h1>
+          This is <a href="@homepage@">Privoxy</a> @version@ on @my-hostname@ (@my-ip-address@), port @my-port@,
+          @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@
+        </h1>
+      </td>
+    </tr>
 
-  @statistics@
+<!-- @if-unstable-start -->
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
+    <tr>
+      <td class="warning">
+        <h2>Warning:</h2>
+          <p>
+            <b>Please note that this <em class="warning">@code-status@</em> release
+            of the proxy software is not intended for production systems!
+            <br>Use at your own risk. See the <a href="http://www.gnu.org/copyleft/gpl.html">license</a> for details.</b>
+          </p>
+      </td>
+    </tr>
+<!-- if-unstable-end@ -->
 
-  <h2>The following files are in use:</h2>
+    <tr>
+      <td class="box">
+        <h2>The program was invoked as follows</h2>
+        <p>@invocation@</p>
+      </td>
+    </tr>
 
-  <!-- The block following this comment will magically disappear, #ifndef SPLIT_PROXY_ARGS -->
-  <!-- @magic-eliminator-start -->
+    <tr>
+      <td class="box">
+        <h2>The following options were given in the config file:</h2>
+        <p>@options@</p>
+      </td>
+    </tr>
 
-  <p>(Click filenames to view)</p>
-  <ul>
-  <li>Actions List: <a href="show-status?file=permit">@actions-filename@</a></li>
-  <li>Forward List: <a href="show-status?file=forward">@forward-filename@</a></li>
+<!-- @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@%.
+<!-- 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@ -->
 
-  <!-- @acl-killer-start -->
-  <li>Access Control List: <a href="show-status?file=acl">@acl-filename@</a></li>
-  <!-- acl-killer-end@ -->
+    <tr>
+      <td class="box">
+        <h2>The following files are in use:</h2>
+        <p>Click a filename to browse</p>
+        <ul>
+          <li>Actions List: <a href="show-status?file=permit">@actions-filename@</a></li>
+<!-- @if-pcrs-support-start -->
+          <li>Regex Filter List: <a href="show-status?file=re">@re-filter-filename@</a></li>
+<!-- if-pcrs-support-end@ -->
+<!-- @if-trust-support-start -->
+          <li>Trust List: <a href="show-status?file=trust">@trust-filename@</a></li>
+<!-- if-trust-support-end@ -->
+        </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@ -->
+    <tr>
+      <td class="box">
+        <h2>Conditional #defines:</h2>
+        <table border="1" style="margin-left: 10px">
+          <tr> 
+            <th>#define</th> <th>Enabled?</th> <th>Effects when enabled</th>
+          </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 the proxy by IP address.</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 web-based actions file 
+               editor@if-FEATURE_CGI_EDIT_ACTIONS-then@, which is <a href="@default-cgi@edit-actions">here</a>@else-not-FEATURE_CGI_EDIT_ACTIONS@@endif-FEATURE_CGI_EDIT_ACTIONS@.</td>
+          </tr>
+          <tr>
+            <td><code>FEATURE_COOKIE_JAR</code></td>
+            <td>@if-FEATURE_COOKIE_JAR-then@ Yes @else-not-FEATURE_COOKIE_JAR@ No @endif-FEATURE_COOKIE_JAR@</td>
+            <td>Allows the use of a "cookie jar" file to capture cookies.</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 filtering for a single page using the prefix "<code>@FORCE_PREFIX@</code>".</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 +image ation, to send "blocked" images instead of HTML.</td>
+          </tr>
+          <tr>
+            <td><code>FEATURE_IMAGE_DETECT_MSIE</code></td>
+            <td>@if-FEATURE_IMAGE_DETECT_MSIE-then@ Yes @else-not-FEATURE_IMAGE_DETECT_MSIE@ No @endif-FEATURE_IMAGE_DETECT_MSIE@</td>
+            <td>Enables automatic detection of image and HTML requests from
+             Microsoft Internet Explorer users, overriding the setting of 
+             +image in the actions file.</td>
+          </tr>
+          <tr>
+            <td><code>FEATURE_KILL_POPUPS</code></td>
+            <td>@if-FEATURE_KILL_POPUPS-then@ Yes @else-not-FEATURE_KILL_POPUPS@ No @endif-FEATURE_KILL_POPUPS@</td>
+            <td>Allows the +no-popups action, to block JavaScript popups.</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_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_TOGGLE</code></td>
+            <td>@if-FEATURE_TOGGLE-then@ Yes @else-not-FEATURE_TOGGLE@ No @endif-FEATURE_TOGGLE@</td>
+            <td>Allow Privoxy to be "disabled" so it is just a normal non-blocking non-anonymizing 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>STATIC_PCRE</code></td>
+            <td>@if-STATIC_PCRE-then@ Yes @else-not-STATIC_PCRE@ No @endif-STATIC_PCRE@</td>
+            <td>Use the supplied statically-linked PCRE library.  This is set automatically
+             by <code>./configure</code> if you do not have the libpcre installed.</td>
+          </tr>
+          <tr>
+            <td><code>STATIC_PCRS</code></td>
+            <td>@if-STATIC_PCRS-then@ Yes @else-not-STATIC_PCRS@ No @endif-STATIC_PCRS@</td>
+            <td>Use the supplied statically-linked PCRS library.  This is set automatically
+             by <code>./configure</code> if you do not have the libpcrs installed.</td>
+          </tr>
+        </table>
+      </td>
+    </tr>
 
-  <!-- @trust-killer-start -->
-  <li>Access Control List: <a href="show-status?file=trust">@trust-filename@</a></li>
-  <!-- trust-killer-end@ -->
+    <tr>
+      <td class="box">
+        <h2>More Privoxy:</h2>
+        <ul>@menu@</ul>
+      </td>
+    </tr>
 
-  </ul>
-  <!-- magic-eliminator-end@ -->
-  <!-- The block above this comment will magically disappear, #ifndef SPLIT_PROXY_ARGS -->
+    <tr>
+      <td class="info">
+        <h2>Support and Service via Sourceforge:</h2>
+        <p>
+          We value your feedback. To provide you with the best support,
+          we ask that you:
+        </p>
+        <ul>
+          <li>
+            use the <a href="http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118">support forum</a> or (better) the
+            <a href="http://sourceforge.net/mail/?group_id=11118">mailing lists</a> to get help.
+          </li>
+          <li>
+            submit banners and all problems with the actions file only through the
+            <a href="javascript:void(window.open('http://www.privoxy.org/actions','Feedback','width=600,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());">actions
+            file feedback system</a>.
+          </li>
+          <li>
+            submit bugs only through our <a href="http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118">bug tracker</a>.
+            Make sure that the bug has not yet been submitted.
+          </li>
+          <li>
+            submit feature requests only through our <a href="http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118&amp;func=browse">feature
+            request tracker</a>.
+          </li>
+        </ul>
+      </td>
+    </tr>
 
-  @clist@ @flist@ @alist@ @rlist@ @tlist@
+<!-- @if-have-help-info-start -->
+    <tr>
+      <td class="info">
+        <h2>Local Privoxy support:</h2>
 
-  @rcs-and-defines@
+<!-- @if-have-proxy-info-start -->
+        <p>
+          You can consult the <a href="@proxy-info-url@">online documentation</a> for more information
+          about this Privoxy installation.
+        </p>
+<!-- if-have-proxy-info-end@ -->
 
-  <p>Please feel free to mail <a href=mailto:ijbswa-developers@lists.sourceforge.net>the developers</a>
-     with any problems you might have</p>
+<!-- @if-have-adminaddr-info-start -->
+        <p>Address e-mail questions about this service to
+          <a href="mailto:@admin-address@"><code>@admin-address@</code></a>,
+          who will be glad to help you.
+        </p>
+<!-- if-have-adminaddr-info-end@ -->
+      </td>
+    </tr>
+<!-- if-have-help-info-end@ -->
 
+     <tr>
+      <td>
+        <p class="small">Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></p>
+      </td>
+    </tr>   
+  </table>
 
-  
 </body>
-</html>
\ No newline at end of file
+</html>