templates: Move the site-specific documentation block before the generic one
[privoxy.git] / templates / edit-actions-for-url
index f4b6ff9..229d995 100644 (file)
@@ -4,15 +4,15 @@
 #
 # Purpose     :  Template used to edit the actions associated with a
 #                particular section in an actions file.
-# 
 #
-# Copyright   :  Written by and Copyright (C) 2001-2008 the SourceForge
+#
+# Copyright   :  Written by and Copyright (C) 2001-2014 the
 #                Privoxy team. http://www.privoxy.org/
 #
 #                Original Author: Copyright (C) 2001 Jonathan Foster
 #                http://www.jon-foster.co.uk/
 #
-#                This program is free software; you can redistribute it 
+#                This program is free software; you can redistribute it
 #                and/or modify it under the terms of the GNU General
 #                Public License as published by the Free Software
 #                Foundation; either version 2 of the License, or (at
 #                or write to the Free Software Foundation, Inc., 59
 #                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
-# Revisions   :
-#    $Log: edit-actions-for-url,v $
-#    Revision 1.50  2008/03/04 18:30:44  fabiankeil
-#    Remove the treat-forbidden-connects-like-blocks action. We now
-#    use the "blocked" page for forbidden CONNECT requests by default.
-#
-#    Revision 1.49  2008/03/01 14:00:47  fabiankeil
-#    Let the block action take the reason for the block
-#    as argument and show it on the "blocked" page.
-#
-#    Revision 1.48  2007/12/11 21:18:55  fabiankeil
-#    Make forward-override accessible through the CGI editor.
-#
-#    Revision 1.47  2007/12/06 18:21:55  fabiankeil
-#    Update hide-forwarded-for-headers description.
-#
-#    Revision 1.46  2007/11/10 15:06:10  fabiankeil
-#    - Add support for +hide-referrer{conditional-forge}.
-#    - Minor rewordings.
-#
-#    Revision 1.45  2007/05/24 13:38:45  fabiankeil
-#    Two minor fixes.
-#
-#    Revision 1.44  2007/04/15 16:39:21  fabiankeil
-#    Introduce tags as alternative way to specify which
-#    actions apply to a request. At the moment tags can be
-#    created based on client and server headers.
-#
-#    Revision 1.43  2007/03/29 11:40:34  fabiankeil
-#    Divide @filter-params@ into @client-header-filter-params@
-#    @content-filter-params@ and @server-header-filter-params@.
-#
-#    Revision 1.42  2007/03/20 15:40:00  fabiankeil
-#    Adjust to new world order with dedicated header-filter actions.
-#
-#    Revision 1.41  2007/01/23 16:03:16  fabiankeil
-#    - Add favicon links.
-#    - Remove useless W3C validator links.
-#
-#    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.
-#
-#    Revision 1.9  2002/01/23 00:26:45  jongfoster
-#    Reducing length of URLs
-#    Where encoded and unencoded versions of a string existed, removing
-#    the unencoded one.
-#
-#    Revision 1.8  2002/01/17 21:33:00  jongfoster
-#    Replacing all references to the URL of the config interface
-#    with @default-cgi@
-#
-#    Revision 1.7  2002/01/17 21:21:03  jongfoster
-#    DOS->Unix line endings
-#
-#    Revision 1.6  2001/11/22 21:58:41  jongfoster
-#    Adding action +no-cookies-keep
-#
-#    Revision 1.5  2001/11/13 21:12:17  jongfoster
-#    Added support for the following actions:
-#    +downgrade, +limit-connect, +no-compression
-#
-#    Revision 1.4  2001/11/13 00:58:18  jongfoster
-#    New version of actions file editor templates
-#
-#
 ##############################################################################
 #
-# Browser support for the JavaScript on this page:
-#   MS Internet Explorer 5.5 - Tested,   Yes
-#   Netscape 6.0             - Tested,   Yes
-#   Netscape 4.75            - Tested,   NO
-#   Opera 5.12               - Tested,   NO
-#   MS Internet Explorer 4+  - Untested, Yes
-#   MS IE 3.x, NS3.x         - Untested, NO
-#   Mozilla >=0.6            - Untested, Yes
-#
-# All browsers should work, you just might not get the pretty DHTML effects.
-#
-# The effects that only work under the browsers marked "Yes" above are:
-#  - Text edit boxes that won't have any effect are disabled.
-#  - Table rows containing additional settings are hidden if the feature in
-#    question is disabled.
-#
-# There are major kludges to get around these problems with NS4, but they
-# screw up the HTML too much for other browsers.  If anyone wants to try,
-# here's some descriptions of the kludges:
-#    http://www.webreference.com/js/tips/991114.html
-#    http://www.webreference.com/dhtml/column12/outDisplay.html
-#
-# If you're favorite browser isn't listed, please test and add it.
-#
-#
-#############################################################################
-#
 # Standard support:
 #
 # This file currently produces valid HTML 4.01 Strict.
 # If you change it, please save the generated page from your web browser
 # and then upload it to http://validator.w3.org/ for checking.
 #
-#############################################################################
+##############################################################################
 #
 # Available variables include:
 #
 # image-blocker-param-custom
 #
 #
-#############################################################################
+##############################################################################
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <meta name="robots" content="noindex,nofollow">
   <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
   <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
@@ -433,18 +222,6 @@ function show_limit_connect_opts(tf)
     target.style.display = (tf ? "" : "none");
 }
 
-function show_send_wafer_opts(tf)
-{
-    if (document.getElementById) {
-        target = document.getElementById("send_wafer_opts");
-    } else if (document.all) {
-        target = document.send_wafer_opts;
-    } else {
-        return;
-    }
-    target.style.display = (tf ? "" : "none");
-}
-
 //-->
 </script>
 </head>
@@ -552,10 +329,57 @@ function show_send_wafer_opts(tf)
         <input type="text" name="block_mode" size="40" value="@block-param@">
       </td>
     </tr>
-
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="change_x_forwarded_for" id="change_x_forwarded_for_y" value="Y" @change-x-forwarded-for-y@
+        onclick="show_change_x_forwarded_for_opts(true)"></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="change_x_forwarded_for" value="N" @change-x-forwarded-for-n@
+        onclick="show_change_x_forwarded_for_opts(false)"></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="change_x_forwarded_for" value="X" @change-x-forwarded-for-x@
+        onclick="show_change_x_forwarded_for_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CHANGE-X-FORWARDED-FOR">change-x-forwarded-for</a></td>
+      <td>Specifies whether to block or add X-Forwarded-For headers.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="change_x_forwarded_for_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td><input type="radio" name="change_x_forwarded_for_mode" value="block"
+        id="change_x_forwarded_for_mode_block" @change-x-forwarded-for-param-block@><label
+        for="change_x_forwarded_for_mode_block">Block the header.</label><br>
+        <input type="radio" name="change_x_forwarded_for_mode" value="add"
+        id="change_x_forwarded_for_mode_add" @change-x-forwarded-for-param-add@><label
+        for="change_x_forwarded_for_mode_add">Add the header.</label><br>
+    </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="client_header_filter_all" id="client_header_filter_all_n" value="N" @client-header-filter-all-n@ ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="client_header_filter_all" id="client_header_filter_all_x" value="X" @client-header-filter-all-x@ ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-FILTER">client-header-filter</a> *</td>
+      <td>Filter the client headers.
+        You can use the radio buttons on this line to disable
+        all client-header filters applied by previous rules, and/or
+        you can enable or disable the filters individually below.</td>
+    </tr>
 @client-header-filter-params@
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="client_header_tagger_all" id="client_header_tagger_all_n" value="N" @client-header-tagger-all-n@ ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="client_header_tagger_all" id="client_header_tagger_all_x" value="X" @client-header-tagger-all-x@ ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-TAGGER">client-header-tagger</a> *</td>
+      <td>Create tags based on the client headers.
+        You can use the radio buttons on this line to disable
+        all client-header taggers applied by previous rules, and/or
+        you can enable or disable the taggers individually below.</td>
+    </tr>
 @client-header-tagger-params@
-
    <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@
@@ -566,7 +390,7 @@ function show_send_wafer_opts(tf)
       <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 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>
@@ -612,7 +436,7 @@ function show_send_wafer_opts(tf)
       <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 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>
@@ -687,7 +511,7 @@ function show_send_wafer_opts(tf)
       <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" 
+        type="radio" name="deanimate_gifs_mode" value="last"
         id="deanimate_last" @deanimate-gifs-param-last@><label
         for="deanimate_last">last frame</label></td>
     </tr>
@@ -703,6 +527,24 @@ function show_send_wafer_opts(tf)
       <td>Change HTTP/1.1 requests to HTTP/1.0.  Only change if you know
         what you're doing!</td>
     </tr>
+
+<!-- @if-external-content-filters-start -->
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="external_content_filter_all" id="external_content_filter_all_n" value="N" @external-content-filter-all-n@ ></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="external_content_filter_all" id="external_content_filter_all_x" value="X" @external-content-filter-all-x@ ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@EXTERNAL_FILTER">external-filter</a> *</td>
+      <td>Filter the website through external scripts or programs.
+        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>
+
+@external-content-filter-params@
+<!-- if-external-content-filters-end@ -->
+
     <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@
@@ -726,7 +568,7 @@ function show_send_wafer_opts(tf)
         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" 
+       <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>
@@ -799,7 +641,7 @@ function show_send_wafer_opts(tf)
       <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 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.
@@ -828,7 +670,7 @@ function show_send_wafer_opts(tf)
       <td>&nbsp;</td>
       <td>
         Overriding forward directive:<br>
-        <input type="text" name="forward_override_param" 
+        <input type="text" name="forward_override_param"
         id="forward_override_param" size="40"
         value="@forward-override-param@"><br>
      </td>
@@ -843,7 +685,7 @@ function show_send_wafer_opts(tf)
       <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="action"><a href="@user-manual@@actions-help-prefix@HANDLE_AS_EMPTY_DOCUMENT">handle-as-empty-document</a></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
@@ -894,7 +736,7 @@ function show_send_wafer_opts(tf)
         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" 
+        <input type="text" name="hide_accept_language_param"
         id="hide_accept_language_param" size="40"
         value="@hide-accept-language-param@"><br>
      </td>
@@ -928,25 +770,11 @@ function show_send_wafer_opts(tf)
         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" 
+        <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_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>Remove any existing X-Forwarded-for header.</td>
-    </tr>
     <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@
@@ -970,7 +798,7 @@ function show_send_wafer_opts(tf)
         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" 
+        <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>
@@ -988,7 +816,7 @@ function show_send_wafer_opts(tf)
       <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 class="action"><a href="@user-manual@@actions-help-prefix@HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></td>
       <td>Remove or randomize the If-Modified-Since header.</td>
     </tr>
     <tr class="bg1" align="left" valign="top" id="hide_if-modifed-since_opts">
@@ -1005,7 +833,7 @@ function show_send_wafer_opts(tf)
         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" 
+        <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,
@@ -1069,7 +897,7 @@ function show_send_wafer_opts(tf)
         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" 
+        <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"
@@ -1107,33 +935,6 @@ function show_send_wafer_opts(tf)
         <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="en1" align="center" valign="middle"><input type="radio"
-        name="inspect_jpegs" value="Y" @inspect-jpegs-y@
-        ></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="inspect_jpegs" value="N" @inspect-jpegs-n@
-        ></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        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="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. Not recommended.</td>
-    </tr>
     <tr class="bg1" align="left" valign="top">
       <td class="en1" align="center" valign="middle"><input type="radio"
         name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
@@ -1157,6 +958,29 @@ function show_send_wafer_opts(tf)
         <input type="text" name="limit_connect_mode" size="40"
         value="@limit-connect-param@"></td>
     </tr>
+    <tr class="bg1" align="left" valign="top">
+      <td class="en1" align="center" valign="middle"><input type="radio"
+        name="limit_cookie_lifetime" id="limit_cookie_lifetime_y" value="Y" @limit-cookie-lifetime-y@
+        onclick="show_limit_cookie_lifetime_opts(true)"></td>
+      <td class="dis1" align="center" valign="middle"><input type="radio"
+        name="limit_cookie_lifetime" value="N" @limit-cookie-lifetime-n@
+        onclick="show_limit_cookie_lifetime_opts(false)"></td>
+      <td class="noc1" align="center" valign="middle"><input type="radio"
+        name="limit_cookie_lifetime" value="X" @limit-cookie-lifetime-x@
+        onclick="show_limit_cookie_lifetime_opts(false)"></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-COOKIE-LIFETIME">limit-cookie-lifetime</a></td>
+      <td>Limit the cookie lifetime specified in Set-Cookie headers.</td>
+    </tr>
+    <tr class="bg1" align="left" valign="top" id="limit_cookie_lifetime_opts">
+      <td class="en1">&nbsp;</td>
+      <td class="dis1">&nbsp;</td>
+      <td class="noc1">&nbsp;</td>
+      <td>&nbsp;</td>
+      <td>Lifetime limit in minutes (or 0 to behave like
+        <a href="@user-manual@@actions-help-prefix@LIMIT-COOKIE-LIFETIME">session-cookies-only</a>):<br>
+        <input type="text" name="limit_cookie_lifetime_mode" size="40"
+        value="@limit-cookie-lifetime-param@"></td>
+    </tr>
     <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@
@@ -1167,7 +991,7 @@ function show_send_wafer_opts(tf)
       <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 class="action"><a href="@user-manual@@actions-help-prefix@OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></td>
       <td>Remove or randomize the Last-Modified header.</td>
     </tr>
     <tr class="bg1" align="left" valign="top" id="overwrite_last_modified_opts">
@@ -1235,44 +1059,31 @@ function show_send_wafer_opts(tf)
     </tr>
 
     <tr class="bg1" align="left" valign="top">
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="send_vanilla_wafer" value="Y" @send-vanilla-wafer-y@
-        ></td>
+      <td class="en1">&nbsp;</td>
       <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="send_vanilla_wafer" value="N" @send-vanilla-wafer-n@
-        ></td>
+        name="server_header_filter_all" id="server_header_filter_all_n" value="N" @server-header-filter-all-n@ ></td>
       <td class="noc1" align="center" valign="middle"><input type="radio"
-        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. Not recommended.</td>
+        name="server_header_filter_all" id="server_header_filter_all_x" value="X" @server-header-filter-all-x@ ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-FILTER">server-header-filter</a> *</td>
+      <td>Filter the server headers.
+        You can use the radio buttons on this line to disable
+        all server-header filters applied by previous rules, and/or
+        you can enable or disable the filters individually below.</td>
     </tr>
+@server-header-filter-params@
     <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="en1">&nbsp;</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>
+        name="server_header_tagger_all" id="server_header_tagger_all_n" value="N" @server-header-tagger-all-n@ ></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>
+        name="server_header_tagger_all" id="server_header_tagger_all_x" value="X" @server-header-tagger-all-x@ ></td>
+      <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-TAGGER">server-header-tagger</a> *</td>
+      <td>Create tags based on the server headers.
+        You can use the radio buttons on this line to disable
+        all server-header taggers applied by previous rules, and/or
+        you can enable or disable the taggers individually below.</td>
     </tr>
-
-@server-header-filter-params@
 @server-header-tagger-params@
-
     <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@
@@ -1288,7 +1099,7 @@ function show_send_wafer_opts(tf)
         ("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 
+        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>
@@ -1319,7 +1130,7 @@ function show_send_wafer_opts(tf)
         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 
+        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)"
@@ -1355,23 +1166,23 @@ function show_send_wafer_opts(tf)
       </td>
     </tr>
 
+<!-- @if-have-help-info-start -->
     <tr>
       <td class="info">
 
-#include mod-support-and-service
+#include mod-local-help
 
       </td>
     </tr>
+<!-- if-have-help-info-end@ -->
 
-<!-- @if-have-help-info-start -->
     <tr>
       <td class="info">
 
-#include mod-local-help
+#include mod-support-and-service
 
       </td>
     </tr>
-<!-- if-have-help-info-end@ -->
 
   </table>
 <!-- @if-one-form-only-start -->