- Add favicon links.
[privoxy.git] / templates / edit-actions-for-url
index 222fb36..c96e313 100644 (file)
@@ -7,7 +7,7 @@
 # 
 #
 # Copyright   :  Written by and Copyright (C) 2001 the SourceForge
-#                IJBSWA team.  http://ijbswa.sourceforge.net
+#                Privoxy team. http://www.privoxy.org/
 #
 #                Original Author: Copyright (C) 2001 Jonathan Foster
 #                http://www.jon-foster.co.uk/
 #
 # Revisions   :
 #    $Log: edit-actions-for-url,v $
+#    Revision 1.40  2006/12/21 13:01:03  fabiankeil
+#    Prepare for "split-large-forms".
+#
+#    Mention that redirect{} now also understands
+#    a single pcrs job as argument.
+#
+#    Add some table summaries and remove useless validator link.
+#
+#    Revision 1.39  2006/10/04 17:37:54  fabiankeil
+#    JavaScript fix for bug report #1570678.
+#
+#    Revision 1.38  2006/09/08 12:06:35  fabiankeil
+#    Have hide-if-modified-since interpret the random
+#    range value as minutes instead of hours. Allows
+#    more fine-grained configuration.
+#
+#    Revision 1.37  2006/09/05 18:20:14  fabiankeil
+#    Sorted alphabetically, fixed spelling mistakes
+#    and shortened some descriptions.
+#
+#    Revision 1.36  2006/08/14 08:29:17  fabiankeil
+#    Split filter-headers{} into filter-client-headers{}
+#    and filter-server-headers{}.
+#
+#    Revision 1.35  2006/08/03 02:46:42  david__schmidt
+#    Incorporate Fabian Keil's patch work:\rhttp://www.fabiankeil.de/sourcecode/privoxy/
+#
+#    Revision 1.34  2006/07/18 14:49:13  david__schmidt
+#    Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
+#    with what was really the latest development (the v_3_0_branch branch)
+#
+#    Revision 1.29.2.5  2004/10/05 03:17:26  david__schmidt
+#    Typo: inspect_jpegs, not inspect-jpegs in form
+#
+#    Revision 1.29.2.4  2004/10/03 12:53:46  david__schmidt
+#    Add the ability to check jpeg images for invalid
+#    lengths of comment blocks.  Defensive strategy
+#    against the exploit:
+#       Microsoft Security Bulletin MS04-028
+#       Buffer Overrun in JPEG Processing (GDI+) Could
+#       Allow Code Execution (833987)
+#    Enabled with +inspect-jpegs in actions files.
+#
+#    Revision 1.29.2.3  2002/08/23 02:22:53  hal9
+#    Fix a perl brain fart with <li> in comments.
+#
+#    Revision 1.29.2.1  2002/08/02 12:51:42  oes
+#    Added top submit button; Consistency with docs: Change default name for action from hide-referer to hide-referrer
+#
+#    Revision 1.29  2002/05/21 19:10:57  oes
+#    Fixed JavaScript error
+#
+#    Revision 1.28  2002/05/14 21:36:38  oes
+#     - Renamed prevent-(setting/reading)-cookies to
+#       crunch-(incoming/outgoing)-cookies
+#     - Renamed helplink export to actions-help-prefix
+#     - Restored alphabetical order of actions
+#
+#    Revision 1.27  2002/04/26 22:55:26  jongfoster
+#    Removing the alternating colors because they've been wrong
+#    since the actions renames, they're high maintenance, they
+#    don't look particularly good, and now there are gaps between
+#    the table cells we don't need them.
+#
+#    Revision 1.26  2002/04/26 21:55:17  jongfoster
+#    Cosmetic change: Making the +filter UI look the same as
+#    the other actions.
+#
+#    Revision 1.25  2002/04/26 21:37:50  jongfoster
+#    Fixing all(?) the substitutions that were broken in the
+#    recent actions rename.
+#
+#    Revision 1.24  2002/04/26 18:24:28  jongfoster
+#    Fixing typos in help hyperlinks
+#
+#    Revision 1.23  2002/04/26 12:57:02  oes
+#    Actions renamed, alphabetically sorted, comments fixed, and names linked to help
+#
+#    Revision 1.22  2002/04/10 13:32:53  oes
+#    Made templates modular
+#
+#    Revision 1.21  2002/04/08 17:05:18  oes
+#    Inline a style exception
+#
+#    Revision 1.20  2002/04/05 16:01:30  oes
+#    Correct HTML, external Stylesheets, eye candy, some fixes
+#
+#    Revision 1.19  2002/03/26 22:29:56  swa
+#    we have a new homepage!
+#
+#    Revision 1.18  2002/03/24 16:32:08  jongfoster
+#    Removing logo option
+#
+#    Revision 1.17  2002/03/24 15:23:33  jongfoster
+#    Name changes
+#
+#    Revision 1.16  2002/03/24 11:01:06  swa
+#    name change
+#
+#    Revision 1.15  2002/03/23 16:18:15  swa
+#    renamed every reference to the old name with foobar.
+#    fixed "application foobar application" tag, fixed
+#    "the foobar" with "foobar". left junkbuster in cvs
+#    comments and remarks to history untouched. should
+#    make final rename easier.
+#
+#    Revision 1.14  2002/03/16 15:22:19  jongfoster
+#    Moving 'alpha' warning to the end of the page
+#
+#    Revision 1.13  2002/03/16 14:28:38  jongfoster
+#    First version of modular filters support
+#
+#    Revision 1.12  2002/03/12 01:42:50  oes
+#    Introduced modular filters
+#
+#    Revision 1.11  2002/03/08 18:19:14  jongfoster
+#    Adding +image-blocker{pattern} option to edit interface
+#
 #    Revision 1.10  2002/03/03 10:29:12  swa
 #    point users to the right feedback forms,
 #    not necessarily the developer list.
 # hide-from-param-block
 # hide-from-param-custom
 # hide-from-param
-# hide-referer-param-forge
-# hide-referer-param-block
-# hide-referer-param-custom
-# hide-referer-param
+# hide-referrer-param-forge
+# hide-referrer-param-block
+# hide-referrer-param-custom
+# hide-referrer-param
 # hide-user-agent-param
 # image-blocker-param-pattern
-# image-blocker-param-logo
 # image-blocker-param-blank
 # image-blocker-param-custom
 #
 <html>
 
 <head>
-<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">
+  <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">
+  <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
 
-<title>JunkBuster: Edit actions</title>
+  <title>Privoxy@@my-hostname@: Edit actions</title>
 
 <style type="text/css">
-body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif;
-               background-color: #ffffff;
-               color: #000000            }
 td.action    { font-weight: bold;
                font-style: italic;
                white-space: nowrap       }
+td.subaction { font-style: italic        }
 th           { font-weight: bold;        }
 # This is the key to the color names below:
 # bg=background, en="Enable", dis="Disable", noc="No Change", hdr=header
 # 1=odd rows, 2=even rows, h=Table header
 tr.hdr       { background-color: #999999 }
 tr.bg1       { background-color: #eeeeee }
-td.en1       { background-color: #eeffee }
-td.dis1      { background-color: #ffeeee }
-td.noc1      { background-color: #eeeeff }
-tr.bg2       { background-color: #dddddd }
-td.en2       { background-color: #ddffdd }
-td.dis2      { background-color: #ffdddd }
-td.noc2      { background-color: #ddddff }
+td.en1       { background-color: #ddffdd }
+td.dis1      { background-color: #ffdddd }
+td.noc1      { background-color: #ddddff }
 th.enh       { background-color: #99ff99 }
 th.dish      { background-color: #ff9999 }
 th.noch      { background-color: #9999ff }
-table.wide   { border-color: white;
+table.wide   { padding: 5px; }
+td.green     { border: solid black 1px; background-color: #ddffdd; }
+</style>
+
+<!--
+border-color: white;
                border-style: solid;
                border-left-width: 10px;
                border-right-width: 10px;
                border-top-width: 0px;
                border-bottom-width: 0px  }
-td.light     { background-color: #eeeeee }
-td.dark      { background-color: #dddddd }
-td.green     { background-color: #ddffdd }
-</style>
+-->
 
 <script type="text/javascript">
 <!--
 
-function hide_from_param_disable(tf)
+function hide_from_header_param_disable(tf)
 {
     if (document.getElementById) {
        // NS6 or IE5
-        document.getElementById("hide_from_param").disabled = tf;
+        document.getElementById("hide_from_header_param").disabled = tf;
     } else if (document.all) {
         // IE4
-        document.myform.hide_from_param.disabled = tf;
+        document.myform.hide_from_header_param.disabled = tf;
     }
 }
 
-function hide_referer_param_disable(tf)
+function hide_referrer_param_disable(tf)
 {
     if (document.getElementById) {
-        document.getElementById("hide_referer_param").disabled = tf;
+        document.getElementById("hide_referrer_param").disabled = tf;
     } else if (document.all) {
-        document.myform.hide_referer_param.disabled = tf;
+        document.myform.hide_referrer_param.disabled = tf;
     }
 }
 
-function image_blocker_param_disable(tf)
+function set_image_blocker_param_disable(tf)
 {
     if (document.getElementById) {
-        document.getElementById("image_blocker_param").disabled = tf;
+        document.getElementById("set_image_blocker_param").disabled = tf;
     } else if (document.all) {
-        document.myform.image_blocker_param.disabled = tf;
+        document.myform.set_image_blocker_param.disabled = tf;
     }
 }
 
@@ -221,24 +336,24 @@ function show_deanimate_opts(tf)
     target.style.display = (tf ? "" : "none");
 }
 
-function show_hide_from_opts(tf)
+function show_hide_from_header_opts(tf)
 {
     if (document.getElementById) {
-        target = document.getElementById("hide_from_opts");
+        target = document.getElementById("hide_from_header_opts");
     } else if (document.all) {
-        target = document.hide_from_opts;
+        target = document.hide_from_header_opts;
     } else {
         return;
     }
     target.style.display = (tf ? "" : "none");
 }
 
-function show_hide_referer_opts(tf)
+function show_hide_referrer_opts(tf)
 {
     if (document.getElementById) {
-        target = document.getElementById("hide_referer_opts");
+        target = document.getElementById("hide_referrer_opts");
     } else if (document.all) {
-        target = document.hide_referer_opts;
+        target = document.hide_referrer_opts;
     } else {
         return;
     }
@@ -257,12 +372,12 @@ function show_user_agent_opts(tf)
     target.style.display = (tf ? "" : "none");
 }
 
-function show_image_blocker_opts(tf)
+function show_set_image_blocker_opts(tf)
 {
     if (document.getElementById) {
-        target = document.getElementById("image_blocker_opts");
+        target = document.getElementById("set_image_blocker_opts");
     } else if (document.all) {
-        target = document.image_blocker_opts;
+        target = document.set_image_blocker_opts;
     } else {
         return;
     }
@@ -281,12 +396,12 @@ function show_limit_connect_opts(tf)
     target.style.display = (tf ? "" : "none");
 }
 
-function show_wafer_opts(tf)
+function show_send_wafer_opts(tf)
 {
     if (document.getElementById) {
-        target = document.getElementById("wafer_opts");
+        target = document.getElementById("send_wafer_opts");
     } else if (document.all) {
-        target = document.wafer_opts;
+        target = document.send_wafer_opts;
     } else {
         return;
     }
@@ -299,52 +414,33 @@ function show_wafer_opts(tf)
 
 <body>
 
+<!-- @if-one-form-only-start -->
 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
+<!-- if-one-form-only-end@ -->
 
-  <table cellpadding="20" cellspacing="10" border="0" width="100%">
+  <table summary="" cellpadding="20" cellspacing="10" border="0" width="100%">
     <tr>
-      <td class="dark">
-        <p><b><big><big>This is the Internet 
-          J</big>UNK</big><i style="color: #ff0000">BUSTER</i><big><big>
-          @version@ on @my-hostname@ (@my-ip-address@),
-          port @my-port@, 
-          @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@</big></big></b></p>
+      <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 style="background-color: #ffdddd" >
-        <p><b>Please note that this <span style="color: #ff0000">@code-status@</span> 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>
-
-       <p>
-<h2>Support and Service via Sourceforge</h2>
-<p>
-We value your feedback. However, to provide you with the best support,
-please note:
-<ul>
-  <li>Use the <a href="http://sourceforge.net/tracker/?group_id=11118&atid=211118">support forum</a> to get
-  help.</li>
-  <li>Submit bugs only thru our <a href="http://sourceforge.net/tracker/?group_id=11118&atid=111118">bug
-      forum</a>. Make sure that the bug has not yet been submitted.</li>
-  <li>Submit feature requests only thru our <a
-      href="http://sourceforge.net/tracker/?atid=361118&group_id=11118&func=browse">feature request forum</a>.</li>
-</ul>
-</p>
-<p>
-For any other issues, feel free to use the <a
-href="http://sourceforge.net/mail/?group_id=11118">mailing lists</a>.
-</p>
+      <td class="warning">
+
+#include mod-unstable-warning
+
       </td>
     </tr>
 <!-- if-unstable-end@ -->
 
+<!-- @if-one-form-only-start -->
     <tr>
-      <td class="light">
+      <td class="box">
         <h2>Edit Actions
           <input type="hidden" name="f" value="@f@">
           <input type="hidden" name="v" value="@v@">
@@ -352,20 +448,30 @@ href="http://sourceforge.net/mail/?group_id=11118">mailing lists</a>.
         </h2>
       </td>
     </tr>
-  </table>
 
-  <table border="0" width="100%" cellspacing="0" class="wide">
+    <tr>
+      <td class="green" align="center">
+        <p><input type="submit" value="Submit" name="Submit"></p>
+      </td>
+    </tr>
+<!-- if-one-form-only-end@ -->
+
+<tr><td class="wrapbox">
+
+<!-- @if-multiple-forms-start -->
+<form method="GET" action="edit-actions-submit" id="myform" name="myform">
+  <h2>Edit Actions (Section 1)</h2>
+<!-- if-multiple-forms-end@ -->
+
+  <table summary="Action section 1" border="0" cellspacing="2" width="100%" class="wide">
     <tr class="hdr" align="left">
-      <th>Action
-      </th>
-      <th>Description</th>
       <th class="enh" align="center">Enable</th>
       <th class="dish" align="center">Disable</th>
       <th class="noch" align="center">No Change</th>
+      <th>Action</th>
+      <th>Description</th>
     </tr>
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+add-header</td>
-      <td>Adds HTTP headers.</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
         name="add_header" id="add_header_y" value="Y" @add-header-y@
         onclick="show_add_header_opts(true)"></td>
@@ -375,29 +481,142 @@ href="http://sourceforge.net/mail/?group_id=11118">mailing lists</a>.
       <td class="noc1" align="center" valign="middle"><input type="radio"
         name="add_header" value="X" @add-header-x@
         onclick="show_add_header_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@ADD-HEADER">add-header</a></td>
+      <td>Adds HTTP headers.</td>
     </tr>
     <tr class="bg1" align="left" valign="top" id="add_header_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
       <td>&nbsp;</td>
-      <td colspan="4">Editing the settings for this option, or turning
+      <td>Editing the settings for this option, or turning
         it on if it was off, is not yet supported using this web-based
         editor.</td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+block</td>
-      <td>Block the request</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
         name="block" value="Y" @block-y@
         ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
+      <td class="dis1" align="center" valign="middle"><input type="radio"
         name="block" value="N" @block-n@
         ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
+      <td class="noc1" align="center" valign="middle"><input type="radio"
         name="block" value="X" @block-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@BLOCK">block</a></td>
+      <td>Block the request</td>
+    </tr>
+   <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="content_type_overwrite" value="Y" @content-type-overwrite-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="content_type_overwrite" value="N" @content-type-overwrite-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="content_type_overwrite" value="X" @content-type-overwrite-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CONTENT_TYPE_OVERWRITE">content-type-overwrite</a></td>
+      <td>Replace Content-Type header. By default it only applies to
+        text documents, but if you know what you're doing you
+        can enable force-text-mode to modify binary content types as well.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="content_type_overwrite_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td>New Content-Type:<br>
+        <input type="text" name="content_type_overwrite_mode" size="40"
+        value="@content-type-overwrite-param@"></td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="crunch_client_header" id="crunch_client_header_y" value="Y" @crunch-client-header-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="crunch_client_header" value="N" @crunch-client-header-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="crunch_client_header" value="X" @crunch-client-header-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-CLIENT-HEADER">crunch-client-header</a></td>
+      <td>Remove header(s) matching the supplied pattern.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="crunch_client_header_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td>Header string to suppress:<br>
+        <input type="text" name="crunch_client_header_mode" size="40"
+        value="@crunch-client-header-param@"></td>
     </tr>
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+deanimate-gifs</td>
-      <td>Replace animated GIFs with their (first/last) frame.</td>
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="crunch_if_none_match" value="Y" @crunch-if-none-match-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="crunch_if_none_match" value="N" @crunch-if-none-match-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="crunch_if_none_match" value="X" @crunch-if-none-match-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH_IF_NONE_MATCH">crunch-if-none-match</a></td>
+      <td>Remove If-None-Match header. Useful for filter testing
+         and to make sure the header can't be used to track your visits.</td>
+    </tr>
+
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="crunch_incoming_cookies" value="Y" @crunch-incoming-cookies-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="crunch_incoming_cookies" value="N" @crunch-incoming-cookies-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="crunch_incoming_cookies" value="X" @crunch-incoming-cookies-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></td>
+      <td>Prevent the website from setting cookies on your system.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="crunch_outgoing_cookies" value="Y" @crunch-outgoing-cookies-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="crunch_outgoing_cookies" value="N" @crunch-outgoing-cookies-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="crunch_outgoing_cookies" value="X" @crunch-outgoing-cookies-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></td>
+      <td>Prevent the website from reading cookies from your system.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="crunch_server_header" id="crunch_server_header_y" value="Y" @crunch-server-header-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="crunch_server_header" value="N" @crunch-server-header-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="crunch_server_header" value="X" @crunch-server-header-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-SERVER-HEADER">crunch-server-header</a></td>
+      <td>Remove server header(s) matching the supplied pattern.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="crunch_server_header_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td>Header string to suppress:<br>
+        <input type="text" name="crunch_server_header_mode" size="40"
+        value="@crunch-server-header-param@"></td>
+    </tr>
+
+    <tr class="bg1" align="left" valign="top">
       <td class="en1" align="center" valign="middle"><input type="radio"
         name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
         onclick="show_deanimate_opts(true)"></td>
@@ -407,207 +626,457 @@ href="http://sourceforge.net/mail/?group_id=11118">mailing lists</a>.
       <td class="noc1" align="center" valign="middle"><input type="radio"
         name="deanimate_gifs" value="X" @deanimate-gifs-x@
         onclick="show_deanimate_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@DEANIMATE-GIFS">deanimate-gifs</a></td>
+      <td>Replace animated GIFs with their (first/last) frame.</td>
     </tr>
     <tr class="bg1" align="left" valign="top" id="deanimate_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
       <td>&nbsp;</td>
-      <td colspan="4">Use the <input type="radio" name="deanimate_gifs_mode"
+      <td>Use the <input type="radio" name="deanimate_gifs_mode"
         value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
         for="deanimate_first">first frame</label>&nbsp;&nbsp; <input
         type="radio" name="deanimate_gifs_mode" value="last" 
         id="deanimate_last" @deanimate-gifs-param-last@><label
         for="deanimate_last">last frame</label></td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+fast-redirects</td>
-      <td>Bypass some tracking URLs.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="downgrade_http_version" value="Y" @downgrade-http-version-y@></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="downgrade_http_version" value="N" @downgrade-http-version-n@></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="downgrade_http_version" value="X" @downgrade-http-version-x@></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@DOWNGRADE-HTTP-VERSION"
+       >downgrade-http-version</a></td>
+      <td>Change HTTP/1.1 requests to HTTP/1.0.  Only change if you know
+        what you're doing!</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
         name="fast_redirects" value="Y" @fast-redirects-y@
         ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
+      <td class="dis1" align="center" valign="middle"><input type="radio"
         name="fast_redirects" value="N" @fast-redirects-n@
         ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
+      <td class="noc1" align="center" valign="middle"><input type="radio"
         name="fast_redirects" value="X" @fast-redirects-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@FAST-REDIRECTS">fast-redirects</a></td>
+      <td>Bypass some click-tracking URLs.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="fast-redirects_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td>
+       <input type="radio" name="fast_redirects_mode"
+        value="simple-check" id="fast_redirects_simple_check" @fast-redirects-param-simple-check@><label
+        for="fast_redirects_simple_check">Simple check.</label>
+       <br>
+       <input type="radio" name="fast_redirects_mode" value="check-decoded-url" 
+        id="fast_redirects_check_decoded_url" @fast-redirects-param-check-decoded-url@><label
+        for="fast_redirects_check_decoded_url">Decode URL before checking.</label></td>
+    </tr>
+<!-- @if-multiple-forms-start -->
+   </table>
+   <p>
+    <input type="hidden" name="f" value="@f@">
+    <input type="hidden" name="v" value="@v@">
+    <input type="hidden" name="s" value="@s@">
+    <input type="submit" value="Submit changes in Section 1" name="Submit">
+  </p>
+  </form>
+ </td></tr>
+ <tr><td class="wrapbox">
+  <form method="GET" action="edit-actions-submit" id="myform-2" name="myform">
+  <h2>Edit Actions (Section 2)</h2>
+  <table summary="Action section 2" border="0" cellspacing="2" width="100%" class="wide">
+    <tr class="hdr" align="left">
+      <th class="enh" align="center">Enable</th>
+      <th class="dish" align="center">Disable</th>
+      <th class="noch" align="center">No Change</th>
+      <th>Action</th>
+      <th>Description</th>
+    </tr>
+<!-- if-multiple-forms-end@ -->
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="filter_all" id="filter_all_n" value="N" @filter-all-n@ ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="filter_all" id="filter_all_x" value="X" @filter-all-x@ ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER">filter</a> *</td>
+      <td>Filter the website through regular expression
+        filters.  You can use the radio buttons on this line to disable
+        all filters applied by previous rules, and/or you can enable or
+        disable the filters individually below.</td>
+    </tr>
+@filter-params@
+<!-- @if-multiple-forms-start -->
+   </table>
+   <p>
+    <input type="hidden" name="f" value="@f@">
+    <input type="hidden" name="v" value="@v@">
+    <input type="hidden" name="s" value="@s@">
+    <input type="submit" value="Submit changes in Section 2" name="Submit">
+   </p>
+  </form>
+ </td></tr>
+ <tr><td class="wrapbox">
+  <form method="GET" action="edit-actions-submit" id="myform-3" name="myform">
+  <h2>Edit Actions (Section 3)</h2>
+  <table summary="Action section 3" border="0" cellspacing="2" width="100%" class="wide">
+    <tr class="hdr" align="left">
+      <th class="enh" align="center">Enable</th>
+      <th class="dish" align="center">Disable</th>
+      <th class="noch" align="center">No Change</th>
+      <th>Action</th>
+      <th>Description</th>
+    </tr>
+<!-- if-multiple-forms-end@ -->
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="filter_client_headers" value="Y" @filter-client-headers-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="filter_client_headers" value="N" @filter-client-headers-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="filter_client_headers" value="X" @filter-client-headers-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER-CLIENT-HEADERS">filter-client-headers</a></td>
+      <td>Apply filters to the client headers as well. Only enable this if you know what you're doing.</td>
     </tr>
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+downgrade</td>
-      <td>Change HTTP/1.1 requests to HTTP/1.0.  Only change if you know
-        what you're doing!</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
-        name="downgrade" value="Y" @downgrade-y@></td>
+        name="filter_server_headers" value="Y" @filter-server-headers-y@
+        ></td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="downgrade" value="N" @downgrade-n@></td>
+        name="filter_server_headers" value="N" @filter-server-headers-n@
+        ></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="downgrade" value="X" @downgrade-x@></td>
+        name="filter_server_headers" value="X" @filter-server-headers-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER-SERVER-HEADERS">filter-server-headers</a></td>
+      <td>Apply filters to the server headers as well. Only enable this if you know what you're doing.</td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+filter</td>
-      <td>Filter the website through the re_filterfile</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="filter" value="Y" @filter-y@
+
+   <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="force_text_mode" value="Y" @force-text-mode-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="force_text_mode" value="N" @force-text-mode-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="force_text_mode" value="X" @force-text-mode-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@FORCE_TEXT_MODE">force-text-mode</a></td>
+      <td>
+       Enable filtering on documents whose Content-Type wasn't recognized as text.
+       Do think twice, nothing is alright.
+     </td>
+    </tr>
+   <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="handle_as_empty_document" value="Y" @handle-as-empty-document-y@
         ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="filter" value="N" @filter-n@ 
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="handle_as_empty_document" value="N" @handle-as-empty-document-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="handle_as_empty_document" value="X" @handle-as-empty-document-x@
         ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="filter" value="X" @filter-x@
-         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE_AS_EMPTY_DOCUMENT">handle-as-empty-document</a></td>
+      <td>
+       Block with an <em>empty</em> document instead of an Image or HTML message.
+       The <em>empty</em> document contains only a space and can safely be parsed
+       as JavaScript or Style Sheet. Use content-type-overwrite to specify the
+       Content-Type, default is <q>text/html</q>.
+     </td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="handle_as_image" value="Y" @handle-as-image-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="handle_as_image" value="N" @handle-as-image-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="handle_as_image" value="X" @handle-as-image-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-IMAGE">handle-as-image</a></td>
+      <td>Request is for an image (only useful in conjunction with the <i><b><a href="@user-manual@@actions-help-prefix@BLOCK">block</a></b></i>
+        and <i><b><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></b></i> actions).</td>
     </tr>
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+hide-forwarded</td>
-      <td>Block any existing X-Forwarded-for header, and do not add a new one.</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
-        name="hide_forwarded" value="Y" @hide-forwarded-y@
+        name="hide_accept_language" id="hide_accept_language_y" value="Y" @hide-accept-language-y@
+        onclick="show_hide_accept_language_opts(true)"></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="hide_accept_language" id="hide_accept_language_n" value="N" @hide-accept-language-n@
+        onclick="show_hide_accept_language_opts(false)"></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="hide_accept_language" id="hide_accept_language_x" value="X" @hide-accept-language-x@
+        onclick="show_hide_accept_language_opts(false)"
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-ACCEPT-LANGUAGE">hide-accept-language</a></td>
+      <td>Pretend to have different language settings. (Makes a fake User-Agent more believable,
+          but can lead to foreign content.)</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="hide_accept-language_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td><input type="radio" name="hide_accept_language_mode" value="block"
+        onclick="hide_accept_language_param_disable(true)"
+        @hide-accept-language-param-block@ id="hide_accept_language_mode_block"><label
+        for="hide_accept_language_mode_block">Remove Accept-Language header without replacement.</label>
+        <br>
+        <input type="radio" name="hide_accept_language_mode" value="CUSTOM"
+        onclick="hide_accept_language_param_disable(false)"
+        @hide-accept-language-param-custom@ id="hide_accept_language_mode_set"><label
+        for="hide_accept_language_mode_set">Fake these language settings:</label><br>
+        <input type="text" name="hide_accept_language_param" 
+        id="hide_accept_language_param" size="40"
+        value="@hide-accept-language-param@"><br>
+     </td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="hide_content_disposition" id="hide_content_disposition_y" value="Y" @hide-content-disposition-y@
+        onclick="show_hide_content_disposition_opts(true)"></td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="hide_forwarded" value="N" @hide-forwarded-n@
+        name="hide_content_disposition" id="hide_content_disposition_n" value="N" @hide-content-disposition-n@
+        onclick="show_hide_content_disposition_opts(false)"></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="hide_content_disposition" id="hide_content_disposition_x" value="X" @hide-content-disposition-x@
+        onclick="show_hide_content_disposition_opts(false)"
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-CONTENT-DISPOSITION">hide-content-disposition</a></td>
+      <td>Block or overwrite the content-disposition header. Useful to view a document inside the browser,
+       even if you were supposed to save it first, or to change the suggested file name.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="hide_content_disposition_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td><input type="radio" name="hide_content_disposition_mode" value="block"
+        onclick="hide_content_disposition_param_disable(true)"
+        @hide-content-disposition-param-block@ id="hide_content_disposition_mode_block"><label
+        for="hide_content_disposition_mode_block">Remove content-disposition header without replacement.</label>
+        <br>
+        <input type="radio" name="hide_content_disposition_mode" value="CUSTOM"
+        onclick="hide_content_disposition_param_disable(false)"
+        @hide-content-disposition-param-custom@ id="hide_content_disposition_mode_set"><label
+        for="hide_content_disposition_mode_set">Overwrite content-dispostion header with:</label><br>
+        <input type="text" name="hide_content_disposition_param" 
+        id="hide_content_disposition_param" size="40"
+        value="@hide-content-disposition-param@"><br>
+     </td>
+    </tr>
+
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="hide_forwarded_for_headers" value="Y" @hide-forwarded-for-headers-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="hide_forwarded_for_headers" value="N" @hide-forwarded-for-headers-n@
         ></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="hide_forwarded" value="X" @hide-forwarded-x@
+        name="hide_forwarded_for_headers" value="X" @hide-forwarded-for-headers-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FORWARDED-FOR-HEADERS">hide-forwarded-for-headers</a></td>
+      <td>Block any existing X-Forwarded-for header, and do not add a new one.</td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+hide-from</td>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="hide_from_header" id="hide_from_header_y" value="Y" @hide-from-header-y@
+        onclick="show_hide_from_header_opts(true)"></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="hide_from_header" value="N" @hide-from-header-n@
+        onclick="show_hide_from_header_opts(false)"></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="hide_from_header" value="X" @hide-from-header-x@
+        onclick="show_hide_from_header_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FROM-HEADER">hide-from-header</a></td>
       <td>Stop old web browsers from sending the user's e-mail address with
         every request.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="hide_from" id="hide_from_y" value="Y" @hide-from-y@
-        onclick="show_hide_from_opts(true)"></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="hide_from" value="N" @hide-from-n@
-        onclick="show_hide_from_opts(false)"></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="hide_from" value="X" @hide-from-x@
-        onclick="show_hide_from_opts(false)"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top" id="hide_from_opts">
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="hide_from_header_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td><input type="radio" name="hide_from_header_mode" value="block"
+        onclick="hide_from_header_param_disable(true);"
+        @hide-from-header-param-block@ id="hide_from_header_mode_block"><label
+        for="hide_from_header_mode_block">Remove completely</label><br>
+        <input type="radio" name="hide_from_header_mode" value="CUSTOM" 
+        onclick="hide_from_header_param_disable(false);"
+        @hide-from-header-param-custom@ id="hide_from_header_mode_set"><label
+        for="hide_from_header_mode_set">Fake e-mail address:</label><br>
+        <input type="text" name="hide_from_header_param" id="hide_from_header_param"
+        size="40" value="@hide-from-header-param@"></td>
+    </tr>
+
+   <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="hide_if_modified_since" value="Y" @hide-if-modified-since-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="hide_if_modified_since" value="N" @hide-if-modified-since-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="hide_if_modified_since" value="X" @hide-if-modified-since-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE_IF_MODIFIED_SINCE">hide-if-modified-since</a></td>
+      <td>Remove or randomize If-Modified-Since header.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="hide_if-modifed-since_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
       <td>&nbsp;</td>
-      <td colspan="4"><input type="radio" name="hide_from_mode" value="block"
-        onclick="hide_from_param_disable(true);"
-        @hide-from-param-block@ id="from_mode_block"><label
-        for="from_mode_block">Remove completely</label><br>
-        <input type="radio" name="hide_from_mode" value="CUSTOM" 
-        onclick="hide_from_param_disable(false);"
-        @hide-from-param-custom@ id="from_mode_set"><label
-        for="from_mode_set">Fake e-mail address:</label><br>
-        <input type="text" name="hide_from_param" id="hide_from_param"
-        size="40" value="@hide-from-param@"></td>
+      <td><input type="radio" name="hide_if_modified_since_mode" value="block"
+        onclick="hide_if_modified_since_param_disable(true)"
+        @hide-if-modified-since-param-block@ id="hide_if_modified_since_mode_block"><label
+        for="hide_if_modified_since_mode_block">Remove without replacement.</label>
+        Useful for filter testing.<br>
+        <input type="radio" name="hide_if_modified_since_mode" value="CUSTOM"
+        onclick="hide_if_modified_since_param_disable(true)"
+        @hide-if-modified-since-param-custom@ id="hide_if_modified_since_mode_set"><label
+        for="hide_if_modified_since_mode_set">Add random amount of seconds in the range of</label>
+        <input type="text" name="hide_if_modified_since_param" 
+        id="hide_if_modified_since_param" size="4"
+        value="@hide-if-modified-since-param@"> minute(s).
+        To appreciate this option a small amount of paranoia is required,
+        but at least in theory the If-Modified-Since header could be used
+       to keep track of your visits.
+     </td>
     </tr>
+<!-- @if-multiple-forms-start -->
+   </table>
+   <p>
+    <input type="hidden" name="f" value="@f@">
+    <input type="hidden" name="v" value="@v@">
+    <input type="hidden" name="s" value="@s@">
+    <input type="submit" value="Submit changes in Section 3" name="Submit">
+   </p>
+  </form>
+ </td></tr>
+ <tr><td class="wrapbox">
+  <form method="GET" action="edit-actions-submit" id="myform-4" name="myform">
+  <h2>Edit Actions (Section 4)</h2>
+  <table summary="Action section 4" border="0" cellspacing="2" width="100%" class="wide">
+    <tr class="hdr" align="left">
+      <th class="enh" align="center">Enable</th>
+      <th class="dish" align="center">Disable</th>
+      <th class="noch" align="center">No Change</th>
+      <th>Action</th>
+      <th>Description</th>
+    </tr>
+<!-- if-multiple-forms-end@ -->
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+hide-referer</td>
-      <td>Helps prevent tracking by not sending the URL of the previous web
-        page.&nbsp;</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
-        name="hide_referer" id="hide_referer_y" value="Y" @hide-referer-y@
-        onclick="show_hide_referer_opts(true)"></td>
+        name="hide_referrer" id="hide_referrer_y" value="Y" @hide-referrer-y@
+        onclick="show_hide_referrer_opts(true)"></td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="hide_referer" id="hide_referer_n" value="N" @hide-referer-n@
-        onclick="show_hide_referer_opts(false)"></td>
+        name="hide_referrer" id="hide_referrer_n" value="N" @hide-referrer-n@
+        onclick="show_hide_referrer_opts(false)"></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="hide_referer" id="hide_referer_x" value="X" @hide-referer-x@
-        onclick="show_hide_referer_opts(false)"
+        name="hide_referrer" id="hide_referrer_x" value="X" @hide-referrer-x@
+        onclick="show_hide_referrer_opts(false)"
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-REFERRER">hide-referrer</a></td>
+      <td>Helps prevent tracking by not sending the URL of the previous web
+        page.&nbsp;</td>
     </tr>
-    <tr class="bg1" align="left" valign="top" id="hide_referer_opts">
+    <tr class="bg1" align="left" valign="top" id="hide_referrer_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
       <td>&nbsp;</td>
-      <td colspan="4"><input type="radio" name="hide_referer_mode" value="block"
-        onclick="hide_referer_param_disable(true)"
-        @hide-referer-param-block@ id="referer_mode_block"><label
-        for="referer_mode_block">Remove completely</label> (breaks images
+      <td><input type="radio" name="hide_referrer_mode" value="block"
+        onclick="hide_referrer_param_disable(true)"
+        @hide-referrer-param-block@ id="hide_referrer_mode_block"><label
+        for="hide_referrer_mode_block">Remove completely</label> (breaks images
         on some free web hosts).<br>
-        <input type="radio" name="hide_referer_mode" value="forge"
-        onclick="hide_referer_param_disable(true)"
-        @hide-referer-param-forge@ id="referer_mode_forge"><label
-        for="referer_mode_forge">Fake as the root directory of the
+        <input type="radio" name="hide_referrer_mode" value="forge"
+        onclick="hide_referrer_param_disable(true)"
+        @hide-referrer-param-forge@ id="hide_referrer_mode_forge"><label
+        for="hide_referrer_mode_forge">Fake as the root directory of the
         site</label> (fools checks for in-site links.)<br>
-        <input type="radio" name="hide_referer_mode" value="CUSTOM"
-        onclick="hide_referer_param_disable(false)"
-        @hide-referer-param-custom@ id="referer_mode_set"><label
-        for="referer_mode_set">Fake as this web address:</label><br>
-        <input type="text" name="hide_referer_param" 
-        id="hide_referer_param" size="40"
-        value="@hide-referer-param@"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+hide-user-agent</td>
-      <td>Pretend to be using a different web browser.&nbsp; (Breaks many web
-        sites).</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
+        <input type="radio" name="hide_referrer_mode" value="CUSTOM"
+        onclick="hide_referrer_param_disable(false)"
+        @hide-referrer-param-custom@ id="hide_referrer_mode_set"><label
+        for="hide_referrer_mode_set">Fake as this web address:</label><br>
+        <input type="text" name="hide_referrer_param" 
+        id="hide_referrer_param" size="40"
+        value="@hide-referrer-param@"><br>
+        <input type="radio" name="hide_referrer_mode" value="conditional-block"
+        onclick="hide_referrer_param_disable(true)"
+        @hide-referrer-param-conditional-block@ id="hide_referrer_mode_conditional-block"><label
+        for="hide_referrer_mode_conditional-block">Remove completely if host has changed,
+        but don't touch in-site referrers.
+        Less suspicious than the options above.</label><br></td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
         name="hide_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
         onclick="show_user_agent_opts(true)"></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
+      <td class="dis1" align="center" valign="middle"><input type="radio"
         name="hide_user_agent" value="N" @hide-user-agent-n@
         onclick="show_user_agent_opts(false)"></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
+      <td class="noc1" align="center" valign="middle"><input type="radio"
         name="hide_user_agent" value="X" @hide-user-agent-x@
         onclick="show_user_agent_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-USER-AGENT">hide-user-agent</a></td>
+      <td>Pretend to be using a different web browser.&nbsp; (Breaks many web
+        sites).</td>
     </tr>
-    <tr class="bg2" align="left" valign="top" id="user_agent_opts">
+    <tr class="bg1" align="left" valign="top" id="user_agent_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
       <td>&nbsp;</td>
-      <td colspan="4">User Agent string to send:<br>
+      <td>User Agent string to send:<br>
         <input type="text" name="hide_user_agent_mode" size="40"
         value="@hide-user-agent-param@"></td>
     </tr>
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+image</td>
-      <td>Request is for an image (only useful in conjunction with the <i><b>+block</b></i>
-        and <i><b>+image-blocker</b></i> options).</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
-        name="image" value="Y" @image-y@
+        name="inspect_jpegs" value="Y" @inspect-jpegs-y@
         ></td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="image" value="N" @image-n@
+        name="inspect_jpegs" value="N" @inspect-jpegs-n@
         ></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="image" value="X" @image-x@
+        name="inspect_jpegs" value="X" @inspect-jpegs-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@INSPECT-JPEGS">inspect-jpegs</a></td>
+      <td>Checks jpeg images for malicious content.</td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+image-blocker</td>
-      <td>Specifies how to block images.&nbsp; Disable to always send a HTML
-        &quot;blocked&quot; page.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="image_blocker" id="image_blocker_y" value="Y" @image-blocker-y@
-        onclick="show_image_blocker_opts(true)"></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="image_blocker" value="N" @image-blocker-n@
-        onclick="show_image_blocker_opts(false)"></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="image_blocker" value="X" @image-blocker-x@
-        onclick="show_image_blocker_opts(false)"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top" id="image_blocker_opts">
-      <td>&nbsp;</td>
-      <td colspan="4"><input type="radio" name="image_blocker_mode"
-        onclick="image_blocker_param_disable(true)"
-        value="pattern" id="image_blocker_mode_pattern"
-        @image-blocker-param-pattern@><label
-        for="image_blocker_mode_pattern">Send a pattern (<img
-        src="send-banner?type=p" width="12" height="12"
-        alt="pattern">)</label><br>
-        <input type="radio" name="image_blocker_mode"
-        onclick="image_blocker_param_disable(true)"
-        value="logo" id="image_blocker_mode_logo" @image-blocker-param-logo@><label
-        for="image_blocker_mode_logo">Send Junkbuster logo
-        (<img src="send-banner?type=l" alt="logo">)</label><br>
-        <input type="radio" name="image_blocker_mode" value="blank"
-        onclick="image_blocker_param_disable(true)"
-        id="image_blocker_mode_blank" @image-blocker-param-blank@><label 
-        for="image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
-        <input type="radio" name="image_blocker_mode" value="CUSTOM"
-        onclick="image_blocker_param_disable(false)"
-        id="image_blocker_mode_set" @image-blocker-param-custom@><label
-        for="image_blocker_mode_set">Redirect
-        the browser to this image URL:</label><br>
-        <input type="text" name="image_blocker_param" id="image_blocker_param"
-        size="40" value="@image-blocker-param@"></td>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="kill_popups" value="Y" @kill-popups-y@
+        ></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="kill_popups" value="N" @kill-popups-n@
+        ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="kill_popups" value="X" @kill-popups-x@
+        ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@KILL-POPUPS">kill-popups</a></td>
+      <td>Filter the website through a built-in filter to disable many JavaScript
+        pop-up windows.</td>
     </tr>
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+limit-connect</td>
-      <td>Specify which ports are allowed for SSL (HTTP CONNECT) access.
-        Note that this allows arbitrary tunnelling, so opening all
-        ports would be a security hole.</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
         name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
         onclick="show_limit_connect_opts(true)"></td>
@@ -617,203 +1086,293 @@ href="http://sourceforge.net/mail/?group_id=11118">mailing lists</a>.
       <td class="noc1" align="center" valign="middle"><input type="radio"
         name="limit_connect" value="X" @limit-connect-x@
         onclick="show_limit_connect_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-CONNECT">limit-connect</a></td>
+      <td>Specify which ports are allowed for SSL (HTTP CONNECT) access.
+        Note that this allows arbitrary tunnelling, so opening all
+        ports would be a security hole.</td>
     </tr>
     <tr class="bg1" align="left" valign="top" id="limit_connect_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
       <td>&nbsp;</td>
-      <td colspan="4">Legal SSL ports (comma separated, ranges allowed):<br>
+      <td>Legal SSL ports (comma separated, ranges allowed):<br>
         <input type="text" name="limit_connect_mode" size="40"
         value="@limit-connect-param@"></td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+no-compression</td>
-      <td>Disables compression.  Compressed web pages are faster to
-        download, but cannot be filtered with +filter or +no-popups.
-        This setting only affects the few web sites which support
-        compression.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="no_compression" value="Y" @no-compression-y@
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="overwrite_last_modified" value="Y" @overwrite-last-modified-y@
         ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="no_compression" value="N" @no-compression-n@
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="overwrite_last_modified" value="N" @overwrite-last-modified-n@
         ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="no_compression" value="X" @no-compression-x@
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="overwrite_last_modified" value="X" @overwrite-last-modified-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@OVERWRITE_LAST_MODIFIED">overwrite-last-modified</a></td>
+      <td>Remove or randomize If-Modified-Since header.</td>
     </tr>
+    <tr class="bg1" align="left" valign="top" id="overwrite_last_modified_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td><input type="radio" name="overwrite_last_modified_mode" value="block"
+        onclick="overwrite_last_modified_param_disable(true)"
+        @overwrite-last-modified-param-block@ id="overwrite_last_modified_mode_block"><label
+        for="overwrite_last_modified_mode_block">Remove without replacement.</label>
+        <br>
+        <input type="radio" name="overwrite_last_modified_mode" value="reset-to-request-time"
+        onclick="overwrite_last_modified_param_disable(true)"
+        @overwrite-last-modified-param-reset-to-request-time@
+         id="overwrite_last_modified_mode_reset-to-request-time"><label
+        for="overwrite_last_modified_mode_reset-to-request-time">Reset to the time of the request.</label>
+        <br>
+        <input type="radio" name="overwrite_last_modified_mode" value="randomize"
+        onclick="overwrite_last_modified_param_disable(true)"
+        @overwrite-last-modified-param-randomize@
+         id="overwrite_last_modified_mode_randomize"><label
+        for="overwrite_last_modified_mode_randomize">Overwrite with random value
+        between original header value and the time of the request.</label>
+     </td>
+    </tr>
+
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+no-cookies-keep</td>
-      <td>Any cookies set by the website are changed to temporary
-        ("per-session") ones, which only last until you close your web
-        browser.  This will allow you to use sites that require cookies, but
-        sites will not be able to track you across sessions.  For this to
-        be useful, you should disable <b><i>no-cookies-read</i></b> and
-        <b><i>no-cookies-set</i></b>.</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
-        name="no_cookies_keep" value="Y" @no-cookies-keep-y@
+        name="prevent_compression" value="Y" @prevent-compression-y@
         ></td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="no_cookies_keep" value="N" @no-cookies-keep-n@
+        name="prevent_compression" value="N" @prevent-compression-n@
         ></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="no_cookies_keep" value="X" @no-cookies-keep-x@
+        name="prevent_compression" value="X" @prevent-compression-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@PREVENT-COMPRESSION">prevent-compression</a></td>
+      <td>Disables compression.  Compressed web pages are faster to
+        download, but cannot be filtered with <a href="@user-manual@@actions-help-prefix@FILTER"><b>filter</b></a>
+        or <a href="@user-manual@@actions-help-prefix@KILL-POPUPS"><b>kill-popups</b></a>.
+        This setting only affects the few web sites which support
+        compression.</td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+no-cookies-read</td>
-      <td>Prevent the website from reading cookies.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="no_cookies_read" value="Y" @no-cookies-read-y@
+   <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="redirect" value="Y" @redirect-y@
         ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="no_cookies_read" value="N" @no-cookies-read-n@
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="redirect" value="N" @redirect-n@
         ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="no_cookies_read" value="X" @no-cookies-read-x@
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="redirect" value="X" @redirect-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@REDIRECT">redirect</a></td>
+      <td>Redirect to another address.
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="redirect_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td>Static address or a single pcrs command to redirect to a rewritten version of the original URL:<br>
+        <input type="text" name="redirect_mode" size="40"
+        value="@redirect-param@"></td>
     </tr>
+
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+no-cookies-set</td>
-      <td>Prevent the website from setting cookies.</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
-        name="no_cookies_set" value="Y" @no-cookies-set-y@
+        name="send_vanilla_wafer" value="Y" @send-vanilla-wafer-y@
         ></td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="no_cookies_set" value="N" @no-cookies-set-n@
+        name="send_vanilla_wafer" value="N" @send-vanilla-wafer-n@
         ></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="no_cookies_set" value="X" @no-cookies-set-x@
+        name="send_vanilla_wafer" value="X" @send-vanilla-wafer-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@SEND-VANILLA-WAFER">send-vanilla-wafer</a></td>
+      <td>Adds a special wafer (standard cookie) to all your requests.</td>
     </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+no-popups</td>
-      <td>Filter the website through a built-in filter to disable JavaScript
-        pop-up windows.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="no_popups" value="Y" @no-popups-y@
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="send_wafer" id="send_wafer_y" value="Y" @send-wafer-y@
+        onclick="show_send_wafer_opts(true)"></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="send_wafer" id="send_wafer_n" value="N" @send-wafer-n@
+        onclick="show_send_wafer_opts(false)"></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="send_wafer" id="send_wafer_x" value="X" @send-wafer-x@
+        onclick="show_send_wafer_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@SEND-WAFER">send-wafer</a></td>
+      <td>Adds user-specified cookies.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="send_wafer_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td>Editing the settings for this option, or turning
+        it on if it was off, is not yet supported using this web-based
+        editor.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="session_cookies_only" value="Y" @session-cookies-only-y@
         ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="no_popups" value="N" @no-popups-n@
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="session_cookies_only" value="N" @session-cookies-only-n@
         ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="no_popups" value="X" @no-popups-x@
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="session_cookies_only" value="X" @session-cookies-only-x@
         ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@SESSION-COOKIES-ONLY">session-cookies-only</a></td>
+      <td>Any cookies set by the website are changed to temporary
+        ("per-session") ones, which only last until you close your web
+        browser.  This will allow you to use sites that require cookies, but
+        sites will not be able to track you across sessions.  For this to
+        be useful, you should disable 
+        <a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES"><b>crunch-outgoing-cookies</b></a> and
+        <a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES"><b>crunch-incoming-cookies</b></a>.</td>
     </tr>
     <tr class="bg1" align="left" valign="top">
-      <td class="action">+vanilla-wafer</td>
-      <td>If you use a jarfile, automatically adds a special wafer.</td>
       <td class="en1" align="center" valign="middle"><input type="radio"
-        name="vanilla_wafer" value="Y" @vanilla-wafer-y@
+        name="set_image_blocker" id="set_image_blocker_y" value="Y" @set-image-blocker-y@
+        onclick="show_set_image_blocker_opts(true)"></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="set_image_blocker" value="N" @set-image-blocker-n@
+        onclick="show_set_image_blocker_opts(false)"></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="set_image_blocker" value="X" @set-image-blocker-x@
+        onclick="show_set_image_blocker_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></td>
+      <td>Specifies how to block images.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="set_image_blocker_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td><input type="radio" name="set_image_blocker_mode"
+        onclick="set_image_blocker_param_disable(true)"
+        value="pattern" id="set_image_blocker_mode_pattern"
+        @set-image-blocker-param-pattern@><label
+        for="set_image_blocker_mode_pattern">Send a pattern (<img
+        src="send-banner?type=p" width="12" height="12"
+        alt="pattern">)</label><br>
+        <input type="radio" name="set_image_blocker_mode" value="blank"
+        onclick="set_image_blocker_param_disable(true)"
+        id="set_image_blocker_mode_blank" @set-image-blocker-param-blank@><label 
+        for="set_image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
+        <input type="radio" name="set_image_blocker_mode" value="CUSTOM"
+        onclick="set_image_blocker_param_disable(false)"
+        id="set_image_blocker_mode_set" @set-image-blocker-param-custom@><label
+        for="set_image_blocker_mode_set">Redirect
+        the browser to this image URL:</label><br>
+        <input type="text" name="set_image_blocker_param" id="set_image_blocker_param"
+        size="40" value="@set-image-blocker-param@"></td>
+    </tr>
+   <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="treat_forbidden_connects_like_blocks" value="Y" @treat-forbidden-connects-like-blocks-y@
         ></td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="vanilla_wafer" value="N" @vanilla-wafer-n@
+        name="treat_forbidden_connects_like_blocks" value="N" @treat-forbidden-connects-like-blocks-n@
         ></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="vanilla_wafer" value="X" @vanilla-wafer-x@
+        name="treat_forbidden_connects_like_blocks" value="X" @treat-forbidden-connects-like-blocks-x@
         ></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+wafer</td>
-      <td>Adds user-specified cookies.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="wafer" id="wafer_y" value="Y" @wafer-y@
-        onclick="show_wafer_opts(true)"></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="wafer" id="wafer_n" value="N" @wafer-n@
-        onclick="show_wafer_opts(false)"></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="wafer" id="wafer_x" value="X" @wafer-x@
-        onclick="show_wafer_opts(false)"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top" id="wafer_opts">
-      <td>&nbsp;</td>
-      <td colspan="4">Editing the settings for this option, or turning
-        it on if it was off, is not yet supported using this web-based
-        editor.</td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@TREAT_FORBIDDEN_CONNECTS_LIKE_BLOCKS">treat-forbidden-connects-like-blocks</a></td>
+      <td>
+       Answer forbidden Connect requests with the usual block message.
+       Makes unblocking easier, but the <q>go there anyway</q> link will not work
+       as expected.
+     </td>
     </tr>
   </table>
 
+<!-- @if-multiple-forms-start -->
+  <p>
+   <input type="hidden" name="f" value="@f@">
+   <input type="hidden" name="v" value="@v@">
+   <input type="hidden" name="s" value="@s@">
+   <input type="submit" value="Submit changes in Section 4" name="Submit">
+  </p>
+ </form>
+<!-- if-multiple-forms-end@ -->
+</td></tr>
+<!-- @if-one-form-only-start -->
+    <tr>
+      <td class="green" align="center">
+        <p><input type="submit" value="Submit" name="Submit"></p>
+      </td>
+    </tr>
+<!-- if-one-form-only-end@ -->
+    <tr>
+      <td class="box">
+        <h2>More Privoxy:</h2>
+        <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
+      </td>
+    </tr>
+
+    <tr>
+      <td class="info">
+
+#include mod-support-and-service
+
+      </td>
+    </tr>
+
+<!-- @if-have-help-info-start -->
+    <tr>
+      <td class="info">
+
+#include mod-local-help
+
+      </td>
+    </tr>
+<!-- if-have-help-info-end@ -->
+
+  </table>
+<!-- @if-one-form-only-start -->
+</form>
+<!-- if-one-form-only-end@ -->
 
 <script type="text/javascript">
 <!--
 
 if (document.getElementById) {
     // alert("Netscape 6 or IE5");
-    document.getElementById("hide_from_param").disabled = !(document.getElementById("from_mode_set").checked);
-    document.getElementById("hide_referer_param").disabled = !(document.getElementById("referer_mode_set").checked);
-    document.getElementById("image_blocker_param").disabled = !(document.getElementById("image_blocker_mode_set").checked);
+    document.getElementById("hide_from_header_param").disabled = !(document.getElementById("hide_from_header_mode_set").checked);
+    document.getElementById("hide_referrer_param").disabled = !(document.getElementById("hide_referrer_mode_set").checked);
+    document.getElementById("set_image_blocker_param").disabled = !(document.getElementById("set_image_blocker_mode_set").checked);
 
     show_add_header_opts    (document.getElementById("add_header_y").checked);
     show_deanimate_opts     (document.getElementById("deanimate_gifs_y").checked);
-    show_hide_from_opts     (document.getElementById("hide_from_y").checked);
-    show_hide_referer_opts  (document.getElementById("hide_referer_y").checked);
+    show_hide_from_header_opts(document.getElementById("hide_from_header_y").checked);
+    show_hide_referrer_opts (document.getElementById("hide_referrer_y").checked);
     show_user_agent_opts    (document.getElementById("hide_user_agent_y").checked);
-    show_image_blocker_opts (document.getElementById("image_blocker_y").checked);
+    show_set_image_blocker_opts (document.getElementById("set_image_blocker_y").checked);
     show_limit_connect_opts (document.getElementById("limit_connect_y").checked);
-    show_wafer_opts         (document.getElementById("wafer_y").checked);
+    show_send_wafer_opts    (document.getElementById("send_wafer_y").checked);
 } else if (document.all) {
     // alert("IE4");
-    document.myform.hide_from_param.disabled = !(document.myform.from_mode_set.checked);
-    document.myform.hide_referer_param.disabled = !(document.myform.referer_mode_set.checked);
-    document.myform.image_blocker_param.disabled = !(document.myform.image_blocker_mode_set.checked);
+    document.myform.hide_from_header_param.disabled = !(document.myform.hide_from_header_mode_set.checked);
+    document.myform.hide_referrer_param.disabled = !(document.myform.hide_referrer_mode_set.checked);
+    document.myform.set_image_blocker_param.disabled = !(document.myform.set_image_blocker_mode_set.checked);
 
     show_add_header_opts    (document.myform.add_header_y.checked);
     show_deanimate_opts     (document.myform.deanimate_gifs_y.checked);
-    show_hide_from_opts     (document.myform.hide_from_y.checked);
-    show_hide_referer_opts  (document.myform.hide_referer_y.checked);
+    show_hide_from_header_opts (document.myform.hide_from_header_y.checked);
+    show_hide_referrer_opts (document.myform.hide_referrer_y.checked);
     show_user_agent_opts    (document.myform.hide_user_agent_y.checked);
-    show_image_blocker_opts (document.myform.image_blocker_y.checked);
+    show_set_image_blocker_opts (document.myform.set_image_blocker_y.checked);
     show_limit_connect_opts (document.myform.limit_connect_y.checked);
-    show_wafer_opts         (document.myform.wafer_y.checked);
+    show_send_wafer_opts    (document.myform.send_wafer_y.checked);
 } else if (document.layers) {
     // alert("Netscape 4");
 }
 //-->
 </script>
 
-  <table cellpadding="20" cellspacing="10" border="0" width="100%">
-    <tr>
-      <td class="green" align="center">
-        <p><input type="submit" value="Submit" name="Submit"></p>
-      </td>
-    </tr>
-
-    <tr>
-      <td class="dark">
-        <h2>More Junkbuster:</h2>
-        <ul>@menu@</ul>
-      </td>
-    </tr>
-
-<!-- @if-have-help-info-start -->
-    <tr>
-      <td class="light">
-        <h2>Local Junkbuster support:</h2>
-
-<!-- @if-have-proxy-info-start -->
-        <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Junkbuster installation.
-<!-- if-have-proxy-info-end@ -->
-
-<!-- @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.
-<!-- if-have-adminaddr-info-end@ -->
-
-        </p>
-      </td>
-    </tr>
-<!-- if-have-help-info-end@ -->
-    
-    <tr>
-      <td>
-        <small><small>Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></small></small>
-      </td>
-    </tr>
-
-  </table>
-</form>
 
 </body>
 
 </html>
-