Two minor fixes.
[privoxy.git] / templates / edit-actions-for-url
1 ##############################################################################
2 #
3 # File        :  $Source: /cvsroot/ijbswa/current/templates/edit-actions-for-url,v $
4 #
5 # Purpose     :  Template used to edit the actions associated with a
6 #                particular section in an actions file.
7
8 #
9 # Copyright   :  Written by and Copyright (C) 2001-2007 the SourceForge
10 #                Privoxy team. http://www.privoxy.org/
11 #
12 #                Original Author: Copyright (C) 2001 Jonathan Foster
13 #                http://www.jon-foster.co.uk/
14 #
15 #                This program is free software; you can redistribute it 
16 #                and/or modify it under the terms of the GNU General
17 #                Public License as published by the Free Software
18 #                Foundation; either version 2 of the License, or (at
19 #                your option) any later version.
20 #
21 #                This program is distributed in the hope that it will
22 #                be useful, but WITHOUT ANY WARRANTY; without even the
23 #                implied warranty of MERCHANTABILITY or FITNESS FOR A
24 #                PARTICULAR PURPOSE.  See the GNU General Public
25 #                License for more details.
26 #
27 #                The GNU General Public License should be included with
28 #                this file.  If not, you can view it at
29 #                http://www.gnu.org/copyleft/gpl.html
30 #                or write to the Free Software Foundation, Inc., 59
31 #                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32 #
33 # Revisions   :
34 #    $Log: edit-actions-for-url,v $
35 #    Revision 1.44  2007/04/15 16:39:21  fabiankeil
36 #    Introduce tags as alternative way to specify which
37 #    actions apply to a request. At the moment tags can be
38 #    created based on client and server headers.
39 #
40 #    Revision 1.43  2007/03/29 11:40:34  fabiankeil
41 #    Divide @filter-params@ into @client-header-filter-params@
42 #    @content-filter-params@ and @server-header-filter-params@.
43 #
44 #    Revision 1.42  2007/03/20 15:40:00  fabiankeil
45 #    Adjust to new world order with dedicated header-filter actions.
46 #
47 #    Revision 1.41  2007/01/23 16:03:16  fabiankeil
48 #    - Add favicon links.
49 #    - Remove useless W3C validator links.
50 #
51 #    Revision 1.40  2006/12/21 13:01:03  fabiankeil
52 #    Prepare for "split-large-forms".
53 #
54 #    Mention that redirect{} now also understands
55 #    a single pcrs job as argument.
56 #
57 #    Add some table summaries and remove useless validator link.
58 #
59 #    Revision 1.39  2006/10/04 17:37:54  fabiankeil
60 #    JavaScript fix for bug report #1570678.
61 #
62 #    Revision 1.38  2006/09/08 12:06:35  fabiankeil
63 #    Have hide-if-modified-since interpret the random
64 #    range value as minutes instead of hours. Allows
65 #    more fine-grained configuration.
66 #
67 #    Revision 1.37  2006/09/05 18:20:14  fabiankeil
68 #    Sorted alphabetically, fixed spelling mistakes
69 #    and shortened some descriptions.
70 #
71 #    Revision 1.36  2006/08/14 08:29:17  fabiankeil
72 #    Split filter-headers{} into filter-client-headers{}
73 #    and filter-server-headers{}.
74 #
75 #    Revision 1.35  2006/08/03 02:46:42  david__schmidt
76 #    Incorporate Fabian Keil's patch work:\rhttp://www.fabiankeil.de/sourcecode/privoxy/
77 #
78 #    Revision 1.34  2006/07/18 14:49:13  david__schmidt
79 #    Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
80 #    with what was really the latest development (the v_3_0_branch branch)
81 #
82 #    Revision 1.29.2.5  2004/10/05 03:17:26  david__schmidt
83 #    Typo: inspect_jpegs, not inspect-jpegs in form
84 #
85 #    Revision 1.29.2.4  2004/10/03 12:53:46  david__schmidt
86 #    Add the ability to check jpeg images for invalid
87 #    lengths of comment blocks.  Defensive strategy
88 #    against the exploit:
89 #       Microsoft Security Bulletin MS04-028
90 #       Buffer Overrun in JPEG Processing (GDI+) Could
91 #       Allow Code Execution (833987)
92 #    Enabled with +inspect-jpegs in actions files.
93 #
94 #    Revision 1.29.2.3  2002/08/23 02:22:53  hal9
95 #    Fix a perl brain fart with <li> in comments.
96 #
97 #    Revision 1.29.2.1  2002/08/02 12:51:42  oes
98 #    Added top submit button; Consistency with docs: Change default name for action from hide-referer to hide-referrer
99 #
100 #    Revision 1.29  2002/05/21 19:10:57  oes
101 #    Fixed JavaScript error
102 #
103 #    Revision 1.28  2002/05/14 21:36:38  oes
104 #     - Renamed prevent-(setting/reading)-cookies to
105 #       crunch-(incoming/outgoing)-cookies
106 #     - Renamed helplink export to actions-help-prefix
107 #     - Restored alphabetical order of actions
108 #
109 #    Revision 1.27  2002/04/26 22:55:26  jongfoster
110 #    Removing the alternating colors because they've been wrong
111 #    since the actions renames, they're high maintenance, they
112 #    don't look particularly good, and now there are gaps between
113 #    the table cells we don't need them.
114 #
115 #    Revision 1.26  2002/04/26 21:55:17  jongfoster
116 #    Cosmetic change: Making the +filter UI look the same as
117 #    the other actions.
118 #
119 #    Revision 1.25  2002/04/26 21:37:50  jongfoster
120 #    Fixing all(?) the substitutions that were broken in the
121 #    recent actions rename.
122 #
123 #    Revision 1.24  2002/04/26 18:24:28  jongfoster
124 #    Fixing typos in help hyperlinks
125 #
126 #    Revision 1.23  2002/04/26 12:57:02  oes
127 #    Actions renamed, alphabetically sorted, comments fixed, and names linked to help
128 #
129 #    Revision 1.22  2002/04/10 13:32:53  oes
130 #    Made templates modular
131 #
132 #    Revision 1.21  2002/04/08 17:05:18  oes
133 #    Inline a style exception
134 #
135 #    Revision 1.20  2002/04/05 16:01:30  oes
136 #    Correct HTML, external Stylesheets, eye candy, some fixes
137 #
138 #    Revision 1.19  2002/03/26 22:29:56  swa
139 #    we have a new homepage!
140 #
141 #    Revision 1.18  2002/03/24 16:32:08  jongfoster
142 #    Removing logo option
143 #
144 #    Revision 1.17  2002/03/24 15:23:33  jongfoster
145 #    Name changes
146 #
147 #    Revision 1.16  2002/03/24 11:01:06  swa
148 #    name change
149 #
150 #    Revision 1.15  2002/03/23 16:18:15  swa
151 #    renamed every reference to the old name with foobar.
152 #    fixed "application foobar application" tag, fixed
153 #    "the foobar" with "foobar". left junkbuster in cvs
154 #    comments and remarks to history untouched. should
155 #    make final rename easier.
156 #
157 #    Revision 1.14  2002/03/16 15:22:19  jongfoster
158 #    Moving 'alpha' warning to the end of the page
159 #
160 #    Revision 1.13  2002/03/16 14:28:38  jongfoster
161 #    First version of modular filters support
162 #
163 #    Revision 1.12  2002/03/12 01:42:50  oes
164 #    Introduced modular filters
165 #
166 #    Revision 1.11  2002/03/08 18:19:14  jongfoster
167 #    Adding +image-blocker{pattern} option to edit interface
168 #
169 #    Revision 1.10  2002/03/03 10:29:12  swa
170 #    point users to the right feedback forms,
171 #    not necessarily the developer list.
172 #
173 #    Revision 1.9  2002/01/23 00:26:45  jongfoster
174 #    Reducing length of URLs
175 #    Where encoded and unencoded versions of a string existed, removing
176 #    the unencoded one.
177 #
178 #    Revision 1.8  2002/01/17 21:33:00  jongfoster
179 #    Replacing all references to the URL of the config interface
180 #    with @default-cgi@
181 #
182 #    Revision 1.7  2002/01/17 21:21:03  jongfoster
183 #    DOS->Unix line endings
184 #
185 #    Revision 1.6  2001/11/22 21:58:41  jongfoster
186 #    Adding action +no-cookies-keep
187 #
188 #    Revision 1.5  2001/11/13 21:12:17  jongfoster
189 #    Added support for the following actions:
190 #    +downgrade, +limit-connect, +no-compression
191 #
192 #    Revision 1.4  2001/11/13 00:58:18  jongfoster
193 #    New version of actions file editor templates
194 #
195 #
196 ##############################################################################
197 #
198 # Browser support for the JavaScript on this page:
199 #   MS Internet Explorer 5.5 - Tested,   Yes
200 #   Netscape 6.0             - Tested,   Yes
201 #   Netscape 4.75            - Tested,   NO
202 #   Opera 5.12               - Tested,   NO
203 #   MS Internet Explorer 4+  - Untested, Yes
204 #   MS IE 3.x, NS3.x         - Untested, NO
205 #   Mozilla >=0.6            - Untested, Yes
206 #
207 # All browsers should work, you just might not get the pretty DHTML effects.
208 #
209 # The effects that only work under the browsers marked "Yes" above are:
210 #  - Text edit boxes that won't have any effect are disabled.
211 #  - Table rows containing additional settings are hidden if the feature in
212 #    question is disabled.
213 #
214 # There are major kludges to get around these problems with NS4, but they
215 # screw up the HTML too much for other browsers.  If anyone wants to try,
216 # here's some descriptions of the kludges:
217 #    http://www.webreference.com/js/tips/991114.html
218 #    http://www.webreference.com/dhtml/column12/outDisplay.html
219 #
220 # If you're favorite browser isn't listed, please test and add it.
221 #
222 #
223 #############################################################################
224 #
225 # Standard support:
226 #
227 # This file currently produces valid HTML 4.01 Strict.
228 #
229 # If you change it, please save the generated page from your web browser
230 # and then upload it to http://validator.w3.org/ for checking.
231 #
232 #############################################################################
233 #
234 # Available variables include:
235 #
236 # action-name-y
237 # action-name-n
238 # action-name-x
239 #
240 # deanimate-gifs-param-first
241 # deanimate-gifs-param-last
242 # hide-from-param-block
243 # hide-from-param-custom
244 # hide-from-param
245 # hide-referrer-param-forge
246 # hide-referrer-param-block
247 # hide-referrer-param-custom
248 # hide-referrer-param
249 # hide-user-agent-param
250 # image-blocker-param-pattern
251 # image-blocker-param-blank
252 # image-blocker-param-custom
253 #
254 #
255 #############################################################################
256 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
257 <html>
258
259 <head>
260   <meta http-equiv="Content-Style-Type" content="text/css">
261   <meta http-equiv="Content-Script-Type" content="text/javascript">
262   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
263   <meta name="robots" content="noindex,nofollow">
264   <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
265   <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
266
267   <title>Privoxy@@my-hostname@: Edit actions</title>
268
269 <style type="text/css">
270 td.action    { font-weight: bold;
271                font-style: italic;
272                white-space: nowrap       }
273 td.subaction { font-style: italic        }
274 th           { font-weight: bold;        }
275 # This is the key to the color names below:
276 # bg=background, en="Enable", dis="Disable", noc="No Change", hdr=header
277 # 1=odd rows, 2=even rows, h=Table header
278 tr.hdr       { background-color: #999999 }
279 tr.bg1       { background-color: #eeeeee }
280 td.en1       { background-color: #ddffdd }
281 td.dis1      { background-color: #ffdddd }
282 td.noc1      { background-color: #ddddff }
283 th.enh       { background-color: #99ff99 }
284 th.dish      { background-color: #ff9999 }
285 th.noch      { background-color: #9999ff }
286 table.wide   { padding: 5px; }
287 td.green     { border: solid black 1px; background-color: #ddffdd; }
288 </style>
289
290 <!--
291 border-color: white;
292                border-style: solid;
293                border-left-width: 10px;
294                border-right-width: 10px;
295                border-top-width: 0px;
296                border-bottom-width: 0px  }
297 -->
298
299 <script type="text/javascript">
300 <!--
301
302 function hide_from_header_param_disable(tf)
303 {
304     if (document.getElementById) {
305         // NS6 or IE5
306         document.getElementById("hide_from_header_param").disabled = tf;
307     } else if (document.all) {
308         // IE4
309         document.myform.hide_from_header_param.disabled = tf;
310     }
311 }
312
313 function hide_referrer_param_disable(tf)
314 {
315     if (document.getElementById) {
316         document.getElementById("hide_referrer_param").disabled = tf;
317     } else if (document.all) {
318         document.myform.hide_referrer_param.disabled = tf;
319     }
320 }
321
322 function set_image_blocker_param_disable(tf)
323 {
324     if (document.getElementById) {
325         document.getElementById("set_image_blocker_param").disabled = tf;
326     } else if (document.all) {
327         document.myform.set_image_blocker_param.disabled = tf;
328     }
329 }
330
331 function show_add_header_opts(tf)
332 {
333     if (document.getElementById) {
334         target = document.getElementById("add_header_opts");
335     } else if (document.all) {
336         target = document.add_header_opts;
337     } else {
338         return;
339     }
340     target.style.display = (tf ? "" : "none");
341 }
342
343 function show_deanimate_opts(tf)
344 {
345     if (document.getElementById) {
346         target = document.getElementById("deanimate_opts");
347     } else if (document.all) {
348         target = document.deanimate_opts;
349     } else {
350         return;
351     }
352     target.style.display = (tf ? "" : "none");
353 }
354
355 function show_hide_from_header_opts(tf)
356 {
357     if (document.getElementById) {
358         target = document.getElementById("hide_from_header_opts");
359     } else if (document.all) {
360         target = document.hide_from_header_opts;
361     } else {
362         return;
363     }
364     target.style.display = (tf ? "" : "none");
365 }
366
367 function show_hide_referrer_opts(tf)
368 {
369     if (document.getElementById) {
370         target = document.getElementById("hide_referrer_opts");
371     } else if (document.all) {
372         target = document.hide_referrer_opts;
373     } else {
374         return;
375     }
376     target.style.display = (tf ? "" : "none");
377 }
378
379 function show_user_agent_opts(tf)
380 {
381     if (document.getElementById) {
382         target = document.getElementById("user_agent_opts");
383     } else if (document.all) {
384         target = document.user_agent_opts;
385     } else {
386         return;
387     }
388     target.style.display = (tf ? "" : "none");
389 }
390
391 function show_set_image_blocker_opts(tf)
392 {
393     if (document.getElementById) {
394         target = document.getElementById("set_image_blocker_opts");
395     } else if (document.all) {
396         target = document.set_image_blocker_opts;
397     } else {
398         return;
399     }
400     target.style.display = (tf ? "" : "none");
401 }
402
403 function show_limit_connect_opts(tf)
404 {
405     if (document.getElementById) {
406         target = document.getElementById("limit_connect_opts");
407     } else if (document.all) {
408         target = document.limit_connect_opts;
409     } else {
410         return;
411     }
412     target.style.display = (tf ? "" : "none");
413 }
414
415 function show_send_wafer_opts(tf)
416 {
417     if (document.getElementById) {
418         target = document.getElementById("send_wafer_opts");
419     } else if (document.all) {
420         target = document.send_wafer_opts;
421     } else {
422         return;
423     }
424     target.style.display = (tf ? "" : "none");
425 }
426
427 //-->
428 </script>
429 </head>
430
431 <body>
432
433 <!-- @if-one-form-only-start -->
434 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
435 <!-- if-one-form-only-end@ -->
436
437   <table summary="" cellpadding="20" cellspacing="10" border="0" width="100%">
438     <tr>
439       <td class="title">
440
441 #include mod-title
442
443       </td>
444     </tr>
445
446 <!-- @if-unstable-start -->
447 # This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
448     <tr>
449       <td class="warning">
450
451 #include mod-unstable-warning
452
453       </td>
454     </tr>
455 <!-- if-unstable-end@ -->
456
457 <!-- @if-one-form-only-start -->
458     <tr>
459       <td class="box">
460         <h2>Edit Actions
461           <input type="hidden" name="f" value="@f@">
462           <input type="hidden" name="v" value="@v@">
463           <input type="hidden" name="s" value="@s@">
464         </h2>
465       </td>
466     </tr>
467
468     <tr>
469       <td class="green" align="center">
470         <p><input type="submit" value="Submit" name="Submit"></p>
471       </td>
472     </tr>
473 <!-- if-one-form-only-end@ -->
474
475 <tr><td class="wrapbox">
476
477 <!-- @if-multiple-forms-start -->
478 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
479   <h2>Edit Actions (Section 1)</h2>
480 <!-- if-multiple-forms-end@ -->
481
482   <table summary="Action section 1" border="0" cellspacing="2" width="100%" class="wide">
483     <tr class="hdr" align="left">
484       <th class="enh" align="center">Enable</th>
485       <th class="dish" align="center">Disable</th>
486       <th class="noch" align="center">No Change</th>
487       <th>Action</th>
488       <th>Description</th>
489     </tr>
490     <tr class="bg1" align="left" valign="top">
491       <td class="en1" align="center" valign="middle"><input type="radio"
492         name="add_header" id="add_header_y" value="Y" @add-header-y@
493         onclick="show_add_header_opts(true)"></td>
494       <td class="dis1" align="center" valign="middle"><input type="radio"
495         name="add_header" value="N" @add-header-n@
496         onclick="show_add_header_opts(false)"></td>
497       <td class="noc1" align="center" valign="middle"><input type="radio"
498         name="add_header" value="X" @add-header-x@
499         onclick="show_add_header_opts(false)"></td>
500       <td class="action"><a href="@user-manual@@actions-help-prefix@ADD-HEADER">add-header</a></td>
501       <td>Adds HTTP headers.</td>
502     </tr>
503     <tr class="bg1" align="left" valign="top" id="add_header_opts">
504       <td class="en1">&nbsp;</td>
505       <td class="dis1">&nbsp;</td>
506       <td class="noc1">&nbsp;</td>
507       <td>&nbsp;</td>
508       <td>Editing the settings for this option, or turning
509         it on if it was off, is not yet supported using this web-based
510         editor.</td>
511     </tr>
512     <tr class="bg1" align="left" valign="top">
513       <td class="en1" align="center" valign="middle"><input type="radio"
514         name="block" value="Y" @block-y@
515         ></td>
516       <td class="dis1" align="center" valign="middle"><input type="radio"
517         name="block" value="N" @block-n@
518         ></td>
519       <td class="noc1" align="center" valign="middle"><input type="radio"
520         name="block" value="X" @block-x@
521         ></td>
522       <td class="action"><a href="@user-manual@@actions-help-prefix@BLOCK">block</a></td>
523       <td>Block the request</td>
524     </tr>
525
526 @client-header-filter-params@
527 @client-header-tagger-params@
528
529    <tr class="bg1" align="left" valign="top">
530       <td class="en1" align="center" valign="middle"><input type="radio"
531         name="content_type_overwrite" value="Y" @content-type-overwrite-y@
532         ></td>
533       <td class="dis1" align="center" valign="middle"><input type="radio"
534         name="content_type_overwrite" value="N" @content-type-overwrite-n@
535         ></td>
536       <td class="noc1" align="center" valign="middle"><input type="radio"
537         name="content_type_overwrite" value="X" @content-type-overwrite-x@
538         ></td>
539       <td class="action"><a href="@user-manual@@actions-help-prefix@CONTENT_TYPE_OVERWRITE">content-type-overwrite</a></td>
540       <td>Replace Content-Type header. By default it only applies to
541          text documents, but if you know what you're doing you
542          can enable force-text-mode to modify binary content types as well.</td>
543     </tr>
544     <tr class="bg1" align="left" valign="top" id="content_type_overwrite_opts">
545       <td class="en1">&nbsp;</td>
546       <td class="dis1">&nbsp;</td>
547       <td class="noc1">&nbsp;</td>
548       <td>&nbsp;</td>
549       <td>New Content-Type:<br>
550         <input type="text" name="content_type_overwrite_mode" size="40"
551         value="@content-type-overwrite-param@"></td>
552     </tr>
553     <tr class="bg1" align="left" valign="top">
554       <td class="en1" align="center" valign="middle"><input type="radio"
555         name="crunch_client_header" id="crunch_client_header_y" value="Y" @crunch-client-header-y@
556         ></td>
557       <td class="dis1" align="center" valign="middle"><input type="radio"
558         name="crunch_client_header" value="N" @crunch-client-header-n@
559         ></td>
560       <td class="noc1" align="center" valign="middle"><input type="radio"
561         name="crunch_client_header" value="X" @crunch-client-header-x@
562         ></td>
563       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-CLIENT-HEADER">crunch-client-header</a></td>
564       <td>Remove header(s) matching the supplied pattern.</td>
565     </tr>
566     <tr class="bg1" align="left" valign="top" id="crunch_client_header_opts">
567       <td class="en1">&nbsp;</td>
568       <td class="dis1">&nbsp;</td>
569       <td class="noc1">&nbsp;</td>
570       <td>&nbsp;</td>
571       <td>Header string to suppress:<br>
572         <input type="text" name="crunch_client_header_mode" size="40"
573         value="@crunch-client-header-param@"></td>
574     </tr>
575     <tr class="bg1" align="left" valign="top">
576       <td class="en1" align="center" valign="middle"><input type="radio"
577         name="crunch_if_none_match" value="Y" @crunch-if-none-match-y@
578         ></td>
579       <td class="dis1" align="center" valign="middle"><input type="radio"
580         name="crunch_if_none_match" value="N" @crunch-if-none-match-n@
581         ></td>
582       <td class="noc1" align="center" valign="middle"><input type="radio"
583         name="crunch_if_none_match" value="X" @crunch-if-none-match-x@
584         ></td>
585       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH_IF_NONE_MATCH">crunch-if-none-match</a></td>
586       <td>Remove If-None-Match header. Useful for filter testing
587          and to make sure the header can't be used to track your visits.</td>
588     </tr>
589
590     <tr class="bg1" align="left" valign="top">
591       <td class="en1" align="center" valign="middle"><input type="radio"
592         name="crunch_incoming_cookies" value="Y" @crunch-incoming-cookies-y@
593         ></td>
594       <td class="dis1" align="center" valign="middle"><input type="radio"
595         name="crunch_incoming_cookies" value="N" @crunch-incoming-cookies-n@
596         ></td>
597       <td class="noc1" align="center" valign="middle"><input type="radio"
598         name="crunch_incoming_cookies" value="X" @crunch-incoming-cookies-x@
599         ></td>
600       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></td>
601       <td>Prevent the website from setting cookies on your system.</td>
602     </tr>
603     <tr class="bg1" align="left" valign="top">
604       <td class="en1" align="center" valign="middle"><input type="radio"
605         name="crunch_outgoing_cookies" value="Y" @crunch-outgoing-cookies-y@
606         ></td>
607       <td class="dis1" align="center" valign="middle"><input type="radio"
608         name="crunch_outgoing_cookies" value="N" @crunch-outgoing-cookies-n@
609         ></td>
610       <td class="noc1" align="center" valign="middle"><input type="radio"
611         name="crunch_outgoing_cookies" value="X" @crunch-outgoing-cookies-x@
612         ></td>
613       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></td>
614       <td>Prevent the website from reading cookies from your system.</td>
615     </tr>
616     <tr class="bg1" align="left" valign="top">
617       <td class="en1" align="center" valign="middle"><input type="radio"
618         name="crunch_server_header" id="crunch_server_header_y" value="Y" @crunch-server-header-y@
619         ></td>
620       <td class="dis1" align="center" valign="middle"><input type="radio"
621         name="crunch_server_header" value="N" @crunch-server-header-n@
622         ></td>
623       <td class="noc1" align="center" valign="middle"><input type="radio"
624         name="crunch_server_header" value="X" @crunch-server-header-x@
625         ></td>
626       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-SERVER-HEADER">crunch-server-header</a></td>
627       <td>Remove server header(s) matching the supplied pattern.</td>
628     </tr>
629     <tr class="bg1" align="left" valign="top" id="crunch_server_header_opts">
630       <td class="en1">&nbsp;</td>
631       <td class="dis1">&nbsp;</td>
632       <td class="noc1">&nbsp;</td>
633       <td>&nbsp;</td>
634       <td>Header string to suppress:<br>
635         <input type="text" name="crunch_server_header_mode" size="40"
636         value="@crunch-server-header-param@"></td>
637     </tr>
638
639     <tr class="bg1" align="left" valign="top">
640       <td class="en1" align="center" valign="middle"><input type="radio"
641         name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
642         onclick="show_deanimate_opts(true)"></td>
643       <td class="dis1" align="center" valign="middle"><input type="radio"
644         name="deanimate_gifs" value="N" @deanimate-gifs-n@
645         onclick="show_deanimate_opts(false)"></td>
646       <td class="noc1" align="center" valign="middle"><input type="radio"
647         name="deanimate_gifs" value="X" @deanimate-gifs-x@
648         onclick="show_deanimate_opts(false)"></td>
649       <td class="action"><a href="@user-manual@@actions-help-prefix@DEANIMATE-GIFS">deanimate-gifs</a></td>
650       <td>Replace animated GIFs with their (first/last) frame.</td>
651     </tr>
652     <tr class="bg1" align="left" valign="top" id="deanimate_opts">
653       <td class="en1">&nbsp;</td>
654       <td class="dis1">&nbsp;</td>
655       <td class="noc1">&nbsp;</td>
656       <td>&nbsp;</td>
657       <td>Use the <input type="radio" name="deanimate_gifs_mode"
658         value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
659         for="deanimate_first">first frame</label>&nbsp;&nbsp; <input
660         type="radio" name="deanimate_gifs_mode" value="last" 
661         id="deanimate_last" @deanimate-gifs-param-last@><label
662         for="deanimate_last">last frame</label></td>
663     </tr>
664     <tr class="bg1" align="left" valign="top">
665       <td class="en1" align="center" valign="middle"><input type="radio"
666         name="downgrade_http_version" value="Y" @downgrade-http-version-y@></td>
667       <td class="dis1" align="center" valign="middle"><input type="radio"
668         name="downgrade_http_version" value="N" @downgrade-http-version-n@></td>
669       <td class="noc1" align="center" valign="middle"><input type="radio"
670         name="downgrade_http_version" value="X" @downgrade-http-version-x@></td>
671       <td class="action"><a href="@user-manual@@actions-help-prefix@DOWNGRADE-HTTP-VERSION"
672        >downgrade-http-version</a></td>
673       <td>Change HTTP/1.1 requests to HTTP/1.0.  Only change if you know
674         what you're doing!</td>
675     </tr>
676     <tr class="bg1" align="left" valign="top">
677       <td class="en1" align="center" valign="middle"><input type="radio"
678         name="fast_redirects" value="Y" @fast-redirects-y@
679         ></td>
680       <td class="dis1" align="center" valign="middle"><input type="radio"
681         name="fast_redirects" value="N" @fast-redirects-n@
682         ></td>
683       <td class="noc1" align="center" valign="middle"><input type="radio"
684         name="fast_redirects" value="X" @fast-redirects-x@
685         ></td>
686       <td class="action"><a href="@user-manual@@actions-help-prefix@FAST-REDIRECTS">fast-redirects</a></td>
687       <td>Bypass some click-tracking URLs.</td>
688     </tr>
689     <tr class="bg1" align="left" valign="top" id="fast-redirects_opts">
690       <td class="en1">&nbsp;</td>
691       <td class="dis1">&nbsp;</td>
692       <td class="noc1">&nbsp;</td>
693       <td>&nbsp;</td>
694       <td>
695        <input type="radio" name="fast_redirects_mode"
696         value="simple-check" id="fast_redirects_simple_check" @fast-redirects-param-simple-check@><label
697         for="fast_redirects_simple_check">Simple check.</label>
698        <br>
699        <input type="radio" name="fast_redirects_mode" value="check-decoded-url" 
700         id="fast_redirects_check_decoded_url" @fast-redirects-param-check-decoded-url@><label
701         for="fast_redirects_check_decoded_url">Decode URL before checking.</label></td>
702     </tr>
703 <!-- @if-multiple-forms-start -->
704    </table>
705    <p>
706     <input type="hidden" name="f" value="@f@">
707     <input type="hidden" name="v" value="@v@">
708     <input type="hidden" name="s" value="@s@">
709     <input type="submit" value="Submit changes in Section 1" name="Submit">
710   </p>
711   </form>
712  </td></tr>
713  <tr><td class="wrapbox">
714   <form method="GET" action="edit-actions-submit" id="myform-2" name="myform">
715   <h2>Edit Actions (Section 2)</h2>
716   <table summary="Action section 2" border="0" cellspacing="2" width="100%" class="wide">
717     <tr class="hdr" align="left">
718       <th class="enh" align="center">Enable</th>
719       <th class="dish" align="center">Disable</th>
720       <th class="noch" align="center">No Change</th>
721       <th>Action</th>
722       <th>Description</th>
723     </tr>
724 <!-- if-multiple-forms-end@ -->
725     <tr class="bg1" align="left" valign="top">
726       <td class="en1">&nbsp;</td>
727       <td class="dis1" align="center" valign="middle"><input type="radio"
728         name="filter_all" id="filter_all_n" value="N" @filter-all-n@ ></td>
729       <td class="noc1" align="center" valign="middle"><input type="radio"
730         name="filter_all" id="filter_all_x" value="X" @filter-all-x@ ></td>
731       <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER">filter</a> *</td>
732       <td>Filter the website through regular expression
733         filters.  You can use the radio buttons on this line to disable
734         all filters applied by previous rules, and/or you can enable or
735         disable the filters individually below.</td>
736     </tr>
737
738 @content-filter-params@
739
740 <!-- @if-multiple-forms-start -->
741    </table>
742    <p>
743     <input type="hidden" name="f" value="@f@">
744     <input type="hidden" name="v" value="@v@">
745     <input type="hidden" name="s" value="@s@">
746     <input type="submit" value="Submit changes in Section 2" name="Submit">
747    </p>
748   </form>
749  </td></tr>
750  <tr><td class="wrapbox">
751   <form method="GET" action="edit-actions-submit" id="myform-3" name="myform">
752   <h2>Edit Actions (Section 3)</h2>
753   <table summary="Action section 3" border="0" cellspacing="2" width="100%" class="wide">
754     <tr class="hdr" align="left">
755       <th class="enh" align="center">Enable</th>
756       <th class="dish" align="center">Disable</th>
757       <th class="noch" align="center">No Change</th>
758       <th>Action</th>
759       <th>Description</th>
760     </tr>
761 <!-- if-multiple-forms-end@ -->
762    <tr class="bg1" align="left" valign="top">
763       <td class="en1" align="center" valign="middle"><input type="radio"
764         name="force_text_mode" value="Y" @force-text-mode-y@
765         ></td>
766       <td class="dis1" align="center" valign="middle"><input type="radio"
767         name="force_text_mode" value="N" @force-text-mode-n@
768         ></td>
769       <td class="noc1" align="center" valign="middle"><input type="radio"
770         name="force_text_mode" value="X" @force-text-mode-x@
771         ></td>
772       <td class="action"><a href="@user-manual@@actions-help-prefix@FORCE_TEXT_MODE">force-text-mode</a></td>
773       <td>
774        Enable filtering on documents whose Content-Type wasn't recognized as text.
775        Do think twice, nothing is alright.
776      </td>
777     </tr>
778    <tr class="bg1" align="left" valign="top">
779       <td class="en1" align="center" valign="middle"><input type="radio"
780         name="handle_as_empty_document" value="Y" @handle-as-empty-document-y@
781         ></td>
782       <td class="dis1" align="center" valign="middle"><input type="radio"
783         name="handle_as_empty_document" value="N" @handle-as-empty-document-n@
784         ></td>
785       <td class="noc1" align="center" valign="middle"><input type="radio"
786         name="handle_as_empty_document" value="X" @handle-as-empty-document-x@
787         ></td>
788       <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE_AS_EMPTY_DOCUMENT">handle-as-empty-document</a></td>
789       <td>
790        Block with an <em>empty</em> document instead of an Image or HTML message.
791        The <em>empty</em> document contains only a space and can safely be parsed
792        as JavaScript or Style Sheet. Use content-type-overwrite to specify the
793        Content-Type, default is <q>text/html</q>.
794      </td>
795     </tr>
796     <tr class="bg1" align="left" valign="top">
797       <td class="en1" align="center" valign="middle"><input type="radio"
798         name="handle_as_image" value="Y" @handle-as-image-y@
799         ></td>
800       <td class="dis1" align="center" valign="middle"><input type="radio"
801         name="handle_as_image" value="N" @handle-as-image-n@
802         ></td>
803       <td class="noc1" align="center" valign="middle"><input type="radio"
804         name="handle_as_image" value="X" @handle-as-image-x@
805         ></td>
806       <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-IMAGE">handle-as-image</a></td>
807       <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>
808         and <i><b><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></b></i> actions).</td>
809     </tr>
810     <tr class="bg1" align="left" valign="top">
811       <td class="en1" align="center" valign="middle"><input type="radio"
812         name="hide_accept_language" id="hide_accept_language_y" value="Y" @hide-accept-language-y@
813         onclick="show_hide_accept_language_opts(true)"></td>
814       <td class="dis1" align="center" valign="middle"><input type="radio"
815         name="hide_accept_language" id="hide_accept_language_n" value="N" @hide-accept-language-n@
816         onclick="show_hide_accept_language_opts(false)"></td>
817       <td class="noc1" align="center" valign="middle"><input type="radio"
818         name="hide_accept_language" id="hide_accept_language_x" value="X" @hide-accept-language-x@
819         onclick="show_hide_accept_language_opts(false)"
820         ></td>
821       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-ACCEPT-LANGUAGE">hide-accept-language</a></td>
822       <td>Pretend to have different language settings. (Makes a fake User-Agent more believable,
823           but can lead to foreign content.)</td>
824     </tr>
825     <tr class="bg1" align="left" valign="top" id="hide_accept-language_opts">
826       <td class="en1">&nbsp;</td>
827       <td class="dis1">&nbsp;</td>
828       <td class="noc1">&nbsp;</td>
829       <td>&nbsp;</td>
830       <td><input type="radio" name="hide_accept_language_mode" value="block"
831         onclick="hide_accept_language_param_disable(true)"
832         @hide-accept-language-param-block@ id="hide_accept_language_mode_block"><label
833         for="hide_accept_language_mode_block">Remove Accept-Language header without replacement.</label>
834         <br>
835         <input type="radio" name="hide_accept_language_mode" value="CUSTOM"
836         onclick="hide_accept_language_param_disable(false)"
837         @hide-accept-language-param-custom@ id="hide_accept_language_mode_set"><label
838         for="hide_accept_language_mode_set">Fake these language settings:</label><br>
839         <input type="text" name="hide_accept_language_param" 
840         id="hide_accept_language_param" size="40"
841         value="@hide-accept-language-param@"><br>
842      </td>
843     </tr>
844     <tr class="bg1" align="left" valign="top">
845       <td class="en1" align="center" valign="middle"><input type="radio"
846         name="hide_content_disposition" id="hide_content_disposition_y" value="Y" @hide-content-disposition-y@
847         onclick="show_hide_content_disposition_opts(true)"></td>
848       <td class="dis1" align="center" valign="middle"><input type="radio"
849         name="hide_content_disposition" id="hide_content_disposition_n" value="N" @hide-content-disposition-n@
850         onclick="show_hide_content_disposition_opts(false)"></td>
851       <td class="noc1" align="center" valign="middle"><input type="radio"
852         name="hide_content_disposition" id="hide_content_disposition_x" value="X" @hide-content-disposition-x@
853         onclick="show_hide_content_disposition_opts(false)"
854         ></td>
855       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-CONTENT-DISPOSITION">hide-content-disposition</a></td>
856       <td>Block or overwrite the content-disposition header. Useful to view a document inside the browser,
857        even if you were supposed to save it first, or to change the suggested file name.</td>
858     </tr>
859     <tr class="bg1" align="left" valign="top" id="hide_content_disposition_opts">
860       <td class="en1">&nbsp;</td>
861       <td class="dis1">&nbsp;</td>
862       <td class="noc1">&nbsp;</td>
863       <td>&nbsp;</td>
864       <td><input type="radio" name="hide_content_disposition_mode" value="block"
865         onclick="hide_content_disposition_param_disable(true)"
866         @hide-content-disposition-param-block@ id="hide_content_disposition_mode_block"><label
867         for="hide_content_disposition_mode_block">Remove content-disposition header without replacement.</label>
868         <br>
869         <input type="radio" name="hide_content_disposition_mode" value="CUSTOM"
870         onclick="hide_content_disposition_param_disable(false)"
871         @hide-content-disposition-param-custom@ id="hide_content_disposition_mode_set"><label
872         for="hide_content_disposition_mode_set">Overwrite content-dispostion header with:</label><br>
873         <input type="text" name="hide_content_disposition_param" 
874         id="hide_content_disposition_param" size="40"
875         value="@hide-content-disposition-param@"><br>
876      </td>
877     </tr>
878
879     <tr class="bg1" align="left" valign="top">
880       <td class="en1" align="center" valign="middle"><input type="radio"
881         name="hide_forwarded_for_headers" value="Y" @hide-forwarded-for-headers-y@
882         ></td>
883       <td class="dis1" align="center" valign="middle"><input type="radio"
884         name="hide_forwarded_for_headers" value="N" @hide-forwarded-for-headers-n@
885         ></td>
886       <td class="noc1" align="center" valign="middle"><input type="radio"
887         name="hide_forwarded_for_headers" value="X" @hide-forwarded-for-headers-x@
888         ></td>
889       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FORWARDED-FOR-HEADERS">hide-forwarded-for-headers</a></td>
890       <td>Block any existing X-Forwarded-for header, and do not add a new one.</td>
891     </tr>
892     <tr class="bg1" align="left" valign="top">
893       <td class="en1" align="center" valign="middle"><input type="radio"
894         name="hide_from_header" id="hide_from_header_y" value="Y" @hide-from-header-y@
895         onclick="show_hide_from_header_opts(true)"></td>
896       <td class="dis1" align="center" valign="middle"><input type="radio"
897         name="hide_from_header" value="N" @hide-from-header-n@
898         onclick="show_hide_from_header_opts(false)"></td>
899       <td class="noc1" align="center" valign="middle"><input type="radio"
900         name="hide_from_header" value="X" @hide-from-header-x@
901         onclick="show_hide_from_header_opts(false)"></td>
902       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FROM-HEADER">hide-from-header</a></td>
903       <td>Stop old web browsers from sending the user's e-mail address with
904         every request.</td>
905     </tr>
906     <tr class="bg1" align="left" valign="top" id="hide_from_header_opts">
907       <td class="en1">&nbsp;</td>
908       <td class="dis1">&nbsp;</td>
909       <td class="noc1">&nbsp;</td>
910       <td>&nbsp;</td>
911       <td><input type="radio" name="hide_from_header_mode" value="block"
912         onclick="hide_from_header_param_disable(true);"
913         @hide-from-header-param-block@ id="hide_from_header_mode_block"><label
914         for="hide_from_header_mode_block">Remove completely</label><br>
915         <input type="radio" name="hide_from_header_mode" value="CUSTOM" 
916         onclick="hide_from_header_param_disable(false);"
917         @hide-from-header-param-custom@ id="hide_from_header_mode_set"><label
918         for="hide_from_header_mode_set">Fake e-mail address:</label><br>
919         <input type="text" name="hide_from_header_param" id="hide_from_header_param"
920         size="40" value="@hide-from-header-param@"></td>
921     </tr>
922
923    <tr class="bg1" align="left" valign="top">
924       <td class="en1" align="center" valign="middle"><input type="radio"
925         name="hide_if_modified_since" value="Y" @hide-if-modified-since-y@
926         ></td>
927       <td class="dis1" align="center" valign="middle"><input type="radio"
928         name="hide_if_modified_since" value="N" @hide-if-modified-since-n@
929         ></td>
930       <td class="noc1" align="center" valign="middle"><input type="radio"
931         name="hide_if_modified_since" value="X" @hide-if-modified-since-x@
932         ></td>
933       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE_IF_MODIFIED_SINCE">hide-if-modified-since</a></td>
934       <td>Remove or randomize the If-Modified-Since header.</td>
935     </tr>
936     <tr class="bg1" align="left" valign="top" id="hide_if-modifed-since_opts">
937       <td class="en1">&nbsp;</td>
938       <td class="dis1">&nbsp;</td>
939       <td class="noc1">&nbsp;</td>
940       <td>&nbsp;</td>
941       <td><input type="radio" name="hide_if_modified_since_mode" value="block"
942         onclick="hide_if_modified_since_param_disable(true)"
943         @hide-if-modified-since-param-block@ id="hide_if_modified_since_mode_block"><label
944         for="hide_if_modified_since_mode_block">Remove without replacement.</label>
945         Useful for filter testing.<br>
946         <input type="radio" name="hide_if_modified_since_mode" value="CUSTOM"
947         onclick="hide_if_modified_since_param_disable(true)"
948         @hide-if-modified-since-param-custom@ id="hide_if_modified_since_mode_set"><label
949         for="hide_if_modified_since_mode_set">Add random amount of seconds in the range of</label>
950         <input type="text" name="hide_if_modified_since_param" 
951         id="hide_if_modified_since_param" size="4"
952         value="@hide-if-modified-since-param@"> minute(s).
953         To appreciate this option a small amount of paranoia is required,
954         but at least in theory the If-Modified-Since header could be used
955         to keep track of your visits.
956      </td>
957     </tr>
958 <!-- @if-multiple-forms-start -->
959    </table>
960    <p>
961     <input type="hidden" name="f" value="@f@">
962     <input type="hidden" name="v" value="@v@">
963     <input type="hidden" name="s" value="@s@">
964     <input type="submit" value="Submit changes in Section 3" name="Submit">
965    </p>
966   </form>
967  </td></tr>
968  <tr><td class="wrapbox">
969   <form method="GET" action="edit-actions-submit" id="myform-4" name="myform">
970   <h2>Edit Actions (Section 4)</h2>
971   <table summary="Action section 4" border="0" cellspacing="2" width="100%" class="wide">
972     <tr class="hdr" align="left">
973       <th class="enh" align="center">Enable</th>
974       <th class="dish" align="center">Disable</th>
975       <th class="noch" align="center">No Change</th>
976       <th>Action</th>
977       <th>Description</th>
978     </tr>
979 <!-- if-multiple-forms-end@ -->
980     <tr class="bg1" align="left" valign="top">
981       <td class="en1" align="center" valign="middle"><input type="radio"
982         name="hide_referrer" id="hide_referrer_y" value="Y" @hide-referrer-y@
983         onclick="show_hide_referrer_opts(true)"></td>
984       <td class="dis1" align="center" valign="middle"><input type="radio"
985         name="hide_referrer" id="hide_referrer_n" value="N" @hide-referrer-n@
986         onclick="show_hide_referrer_opts(false)"></td>
987       <td class="noc1" align="center" valign="middle"><input type="radio"
988         name="hide_referrer" id="hide_referrer_x" value="X" @hide-referrer-x@
989         onclick="show_hide_referrer_opts(false)"
990         ></td>
991       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-REFERRER">hide-referrer</a></td>
992       <td>Helps prevent tracking by not sending the URL of the previous web
993         page.&nbsp;</td>
994     </tr>
995     <tr class="bg1" align="left" valign="top" id="hide_referrer_opts">
996       <td class="en1">&nbsp;</td>
997       <td class="dis1">&nbsp;</td>
998       <td class="noc1">&nbsp;</td>
999       <td>&nbsp;</td>
1000       <td><input type="radio" name="hide_referrer_mode" value="block"
1001         onclick="hide_referrer_param_disable(true)"
1002         @hide-referrer-param-block@ id="hide_referrer_mode_block"><label
1003         for="hide_referrer_mode_block">Remove completely</label> (breaks images
1004         on some free web hosts).<br>
1005         <input type="radio" name="hide_referrer_mode" value="forge"
1006         onclick="hide_referrer_param_disable(true)"
1007         @hide-referrer-param-forge@ id="hide_referrer_mode_forge"><label
1008         for="hide_referrer_mode_forge">Fake as the root directory of the
1009         site</label> (fools checks for in-site links.)<br>
1010         <input type="radio" name="hide_referrer_mode" value="CUSTOM"
1011         onclick="hide_referrer_param_disable(false)"
1012         @hide-referrer-param-custom@ id="hide_referrer_mode_set"><label
1013         for="hide_referrer_mode_set">Fake as this web address:</label><br>
1014         <input type="text" name="hide_referrer_param" 
1015         id="hide_referrer_param" size="40"
1016         value="@hide-referrer-param@"><br>
1017         <input type="radio" name="hide_referrer_mode" value="conditional-block"
1018         onclick="hide_referrer_param_disable(true)"
1019         @hide-referrer-param-conditional-block@ id="hide_referrer_mode_conditional-block"><label
1020         for="hide_referrer_mode_conditional-block">Remove completely if host has changed,
1021         but don't touch in-site referrers.
1022         Less suspicious than the options above.</label><br></td>
1023     </tr>
1024     <tr class="bg1" align="left" valign="top">
1025       <td class="en1" align="center" valign="middle"><input type="radio"
1026         name="hide_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
1027         onclick="show_user_agent_opts(true)"></td>
1028       <td class="dis1" align="center" valign="middle"><input type="radio"
1029         name="hide_user_agent" value="N" @hide-user-agent-n@
1030         onclick="show_user_agent_opts(false)"></td>
1031       <td class="noc1" align="center" valign="middle"><input type="radio"
1032         name="hide_user_agent" value="X" @hide-user-agent-x@
1033         onclick="show_user_agent_opts(false)"></td>
1034       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-USER-AGENT">hide-user-agent</a></td>
1035       <td>Pretend to be using a different web browser.&nbsp; (Breaks many web
1036         sites).</td>
1037     </tr>
1038     <tr class="bg1" align="left" valign="top" id="user_agent_opts">
1039       <td class="en1">&nbsp;</td>
1040       <td class="dis1">&nbsp;</td>
1041       <td class="noc1">&nbsp;</td>
1042       <td>&nbsp;</td>
1043       <td>User Agent string to send:<br>
1044         <input type="text" name="hide_user_agent_mode" size="40"
1045         value="@hide-user-agent-param@"></td>
1046     </tr>
1047     <tr class="bg1" align="left" valign="top">
1048       <td class="en1" align="center" valign="middle"><input type="radio"
1049         name="inspect_jpegs" value="Y" @inspect-jpegs-y@
1050         ></td>
1051       <td class="dis1" align="center" valign="middle"><input type="radio"
1052         name="inspect_jpegs" value="N" @inspect-jpegs-n@
1053         ></td>
1054       <td class="noc1" align="center" valign="middle"><input type="radio"
1055         name="inspect_jpegs" value="X" @inspect-jpegs-x@
1056         ></td>
1057       <td class="action"><a href="@user-manual@@actions-help-prefix@INSPECT-JPEGS">inspect-jpegs</a></td>
1058       <td>Checks jpeg images for malicious content.</td>
1059     </tr>
1060     <tr class="bg1" align="left" valign="top">
1061       <td class="en1" align="center" valign="middle"><input type="radio"
1062         name="kill_popups" value="Y" @kill-popups-y@
1063         ></td>
1064       <td class="dis1" align="center" valign="middle"><input type="radio"
1065         name="kill_popups" value="N" @kill-popups-n@
1066         ></td>
1067       <td class="noc1" align="center" valign="middle"><input type="radio"
1068         name="kill_popups" value="X" @kill-popups-x@
1069         ></td>
1070       <td class="action"><a href="@user-manual@@actions-help-prefix@KILL-POPUPS">kill-popups</a></td>
1071       <td>Filter the website through a built-in filter to disable many JavaScript
1072         pop-up windows.</td>
1073     </tr>
1074     <tr class="bg1" align="left" valign="top">
1075       <td class="en1" align="center" valign="middle"><input type="radio"
1076         name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
1077         onclick="show_limit_connect_opts(true)"></td>
1078       <td class="dis1" align="center" valign="middle"><input type="radio"
1079         name="limit_connect" value="N" @limit-connect-n@
1080         onclick="show_limit_connect_opts(false)"></td>
1081       <td class="noc1" align="center" valign="middle"><input type="radio"
1082         name="limit_connect" value="X" @limit-connect-x@
1083         onclick="show_limit_connect_opts(false)"></td>
1084       <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-CONNECT">limit-connect</a></td>
1085       <td>Specify which ports are allowed for SSL (HTTP CONNECT) access.
1086         Note that this allows arbitrary tunnelling, so opening all
1087         ports would be a security hole.</td>
1088     </tr>
1089     <tr class="bg1" align="left" valign="top" id="limit_connect_opts">
1090       <td class="en1">&nbsp;</td>
1091       <td class="dis1">&nbsp;</td>
1092       <td class="noc1">&nbsp;</td>
1093       <td>&nbsp;</td>
1094       <td>Legal SSL ports (comma separated, ranges allowed):<br>
1095         <input type="text" name="limit_connect_mode" size="40"
1096         value="@limit-connect-param@"></td>
1097     </tr>
1098     <tr class="bg1" align="left" valign="top">
1099       <td class="en1" align="center" valign="middle"><input type="radio"
1100         name="overwrite_last_modified" value="Y" @overwrite-last-modified-y@
1101         ></td>
1102       <td class="dis1" align="center" valign="middle"><input type="radio"
1103         name="overwrite_last_modified" value="N" @overwrite-last-modified-n@
1104         ></td>
1105       <td class="noc1" align="center" valign="middle"><input type="radio"
1106         name="overwrite_last_modified" value="X" @overwrite-last-modified-x@
1107         ></td>
1108       <td class="action"><a href="@user-manual@@actions-help-prefix@OVERWRITE_LAST_MODIFIED">overwrite-last-modified</a></td>
1109       <td>Remove or randomize the Last-Modified header.</td>
1110     </tr>
1111     <tr class="bg1" align="left" valign="top" id="overwrite_last_modified_opts">
1112       <td class="en1">&nbsp;</td>
1113       <td class="dis1">&nbsp;</td>
1114       <td class="noc1">&nbsp;</td>
1115       <td>&nbsp;</td>
1116       <td><input type="radio" name="overwrite_last_modified_mode" value="block"
1117         onclick="overwrite_last_modified_param_disable(true)"
1118         @overwrite-last-modified-param-block@ id="overwrite_last_modified_mode_block"><label
1119         for="overwrite_last_modified_mode_block">Remove without replacement.</label>
1120         <br>
1121         <input type="radio" name="overwrite_last_modified_mode" value="reset-to-request-time"
1122         onclick="overwrite_last_modified_param_disable(true)"
1123         @overwrite-last-modified-param-reset-to-request-time@
1124          id="overwrite_last_modified_mode_reset-to-request-time"><label
1125         for="overwrite_last_modified_mode_reset-to-request-time">Reset to the time of the request.</label>
1126         <br>
1127         <input type="radio" name="overwrite_last_modified_mode" value="randomize"
1128         onclick="overwrite_last_modified_param_disable(true)"
1129         @overwrite-last-modified-param-randomize@
1130          id="overwrite_last_modified_mode_randomize"><label
1131         for="overwrite_last_modified_mode_randomize">Overwrite with random value
1132         between original header value and the time of the request.</label>
1133      </td>
1134     </tr>
1135
1136     <tr class="bg1" align="left" valign="top">
1137       <td class="en1" align="center" valign="middle"><input type="radio"
1138         name="prevent_compression" value="Y" @prevent-compression-y@
1139         ></td>
1140       <td class="dis1" align="center" valign="middle"><input type="radio"
1141         name="prevent_compression" value="N" @prevent-compression-n@
1142         ></td>
1143       <td class="noc1" align="center" valign="middle"><input type="radio"
1144         name="prevent_compression" value="X" @prevent-compression-x@
1145         ></td>
1146       <td class="action"><a href="@user-manual@@actions-help-prefix@PREVENT-COMPRESSION">prevent-compression</a></td>
1147       <td>Disables compression.  Compressed web pages are faster to
1148         download, but cannot be filtered with <a href="@user-manual@@actions-help-prefix@FILTER"><b>filter</b></a>
1149         or <a href="@user-manual@@actions-help-prefix@KILL-POPUPS"><b>kill-popups</b></a>.
1150         This setting only affects the few web sites which support
1151         compression.</td>
1152     </tr>
1153    <tr class="bg1" align="left" valign="top">
1154       <td class="en1" align="center" valign="middle"><input type="radio"
1155         name="redirect" value="Y" @redirect-y@
1156         ></td>
1157       <td class="dis1" align="center" valign="middle"><input type="radio"
1158         name="redirect" value="N" @redirect-n@
1159         ></td>
1160       <td class="noc1" align="center" valign="middle"><input type="radio"
1161         name="redirect" value="X" @redirect-x@
1162         ></td>
1163       <td class="action"><a href="@user-manual@@actions-help-prefix@REDIRECT">redirect</a></td>
1164       <td>Redirect to another address.
1165     </tr>
1166     <tr class="bg1" align="left" valign="top" id="redirect_opts">
1167       <td class="en1">&nbsp;</td>
1168       <td class="dis1">&nbsp;</td>
1169       <td class="noc1">&nbsp;</td>
1170       <td>&nbsp;</td>
1171       <td>Static address or a single pcrs command to redirect to a rewritten version of the original URL:<br>
1172         <input type="text" name="redirect_mode" size="40"
1173         value="@redirect-param@"></td>
1174     </tr>
1175
1176     <tr class="bg1" align="left" valign="top">
1177       <td class="en1" align="center" valign="middle"><input type="radio"
1178         name="send_vanilla_wafer" value="Y" @send-vanilla-wafer-y@
1179         ></td>
1180       <td class="dis1" align="center" valign="middle"><input type="radio"
1181         name="send_vanilla_wafer" value="N" @send-vanilla-wafer-n@
1182         ></td>
1183       <td class="noc1" align="center" valign="middle"><input type="radio"
1184         name="send_vanilla_wafer" value="X" @send-vanilla-wafer-x@
1185         ></td>
1186       <td class="action"><a href="@user-manual@@actions-help-prefix@SEND-VANILLA-WAFER">send-vanilla-wafer</a></td>
1187       <td>Adds a special wafer (standard cookie) to all your requests.</td>
1188     </tr>
1189     <tr class="bg1" align="left" valign="top">
1190       <td class="en1" align="center" valign="middle"><input type="radio"
1191         name="send_wafer" id="send_wafer_y" value="Y" @send-wafer-y@
1192         onclick="show_send_wafer_opts(true)"></td>
1193       <td class="dis1" align="center" valign="middle"><input type="radio"
1194         name="send_wafer" id="send_wafer_n" value="N" @send-wafer-n@
1195         onclick="show_send_wafer_opts(false)"></td>
1196       <td class="noc1" align="center" valign="middle"><input type="radio"
1197         name="send_wafer" id="send_wafer_x" value="X" @send-wafer-x@
1198         onclick="show_send_wafer_opts(false)"></td>
1199       <td class="action"><a href="@user-manual@@actions-help-prefix@SEND-WAFER">send-wafer</a></td>
1200       <td>Adds user-specified cookies.</td>
1201     </tr>
1202     <tr class="bg1" align="left" valign="top" id="send_wafer_opts">
1203       <td class="en1">&nbsp;</td>
1204       <td class="dis1">&nbsp;</td>
1205       <td class="noc1">&nbsp;</td>
1206       <td>&nbsp;</td>
1207       <td>Editing the settings for this option, or turning
1208         it on if it was off, is not yet supported using this web-based
1209         editor.</td>
1210     </tr>
1211
1212 @server-header-filter-params@
1213 @server-header-tagger-params@
1214
1215     <tr class="bg1" align="left" valign="top">
1216       <td class="en1" align="center" valign="middle"><input type="radio"
1217         name="session_cookies_only" value="Y" @session-cookies-only-y@
1218         ></td>
1219       <td class="dis1" align="center" valign="middle"><input type="radio"
1220         name="session_cookies_only" value="N" @session-cookies-only-n@
1221         ></td>
1222       <td class="noc1" align="center" valign="middle"><input type="radio"
1223         name="session_cookies_only" value="X" @session-cookies-only-x@
1224         ></td>
1225       <td class="action"><a href="@user-manual@@actions-help-prefix@SESSION-COOKIES-ONLY">session-cookies-only</a></td>
1226       <td>Any cookies set by the website are changed to temporary
1227         ("per-session") ones, which only last until you close your web
1228         browser.  This will allow you to use sites that require cookies, but
1229         sites will not be able to track you across sessions.  For this to
1230         be useful, you should disable 
1231         <a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES"><b>crunch-outgoing-cookies</b></a> and
1232         <a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES"><b>crunch-incoming-cookies</b></a>.</td>
1233     </tr>
1234     <tr class="bg1" align="left" valign="top">
1235       <td class="en1" align="center" valign="middle"><input type="radio"
1236         name="set_image_blocker" id="set_image_blocker_y" value="Y" @set-image-blocker-y@
1237         onclick="show_set_image_blocker_opts(true)"></td>
1238       <td class="dis1" align="center" valign="middle"><input type="radio"
1239         name="set_image_blocker" value="N" @set-image-blocker-n@
1240         onclick="show_set_image_blocker_opts(false)"></td>
1241       <td class="noc1" align="center" valign="middle"><input type="radio"
1242         name="set_image_blocker" value="X" @set-image-blocker-x@
1243         onclick="show_set_image_blocker_opts(false)"></td>
1244       <td class="action"><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></td>
1245       <td>Specifies how to block images.</td>
1246     </tr>
1247     <tr class="bg1" align="left" valign="top" id="set_image_blocker_opts">
1248       <td class="en1">&nbsp;</td>
1249       <td class="dis1">&nbsp;</td>
1250       <td class="noc1">&nbsp;</td>
1251       <td>&nbsp;</td>
1252       <td><input type="radio" name="set_image_blocker_mode"
1253         onclick="set_image_blocker_param_disable(true)"
1254         value="pattern" id="set_image_blocker_mode_pattern"
1255         @set-image-blocker-param-pattern@><label
1256         for="set_image_blocker_mode_pattern">Send a pattern (<img
1257         src="send-banner?type=p" width="12" height="12"
1258         alt="pattern">)</label><br>
1259         <input type="radio" name="set_image_blocker_mode" value="blank"
1260         onclick="set_image_blocker_param_disable(true)"
1261         id="set_image_blocker_mode_blank" @set-image-blocker-param-blank@><label 
1262         for="set_image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
1263         <input type="radio" name="set_image_blocker_mode" value="CUSTOM"
1264         onclick="set_image_blocker_param_disable(false)"
1265         id="set_image_blocker_mode_set" @set-image-blocker-param-custom@><label
1266         for="set_image_blocker_mode_set">Redirect
1267         the browser to this image URL:</label><br>
1268         <input type="text" name="set_image_blocker_param" id="set_image_blocker_param"
1269         size="40" value="@set-image-blocker-param@"></td>
1270     </tr>
1271    <tr class="bg1" align="left" valign="top">
1272       <td class="en1" align="center" valign="middle"><input type="radio"
1273         name="treat_forbidden_connects_like_blocks" value="Y" @treat-forbidden-connects-like-blocks-y@
1274         ></td>
1275       <td class="dis1" align="center" valign="middle"><input type="radio"
1276         name="treat_forbidden_connects_like_blocks" value="N" @treat-forbidden-connects-like-blocks-n@
1277         ></td>
1278       <td class="noc1" align="center" valign="middle"><input type="radio"
1279         name="treat_forbidden_connects_like_blocks" value="X" @treat-forbidden-connects-like-blocks-x@
1280         ></td>
1281       <td class="action"><a href="@user-manual@@actions-help-prefix@TREAT_FORBIDDEN_CONNECTS_LIKE_BLOCKS">treat-forbidden-connects-like-blocks</a></td>
1282       <td>
1283        Answer forbidden Connect requests with the usual block message.
1284        Makes unblocking easier, but the <q>go there anyway</q> link will not work
1285        as expected.
1286      </td>
1287     </tr>
1288   </table>
1289
1290 <!-- @if-multiple-forms-start -->
1291   <p>
1292    <input type="hidden" name="f" value="@f@">
1293    <input type="hidden" name="v" value="@v@">
1294    <input type="hidden" name="s" value="@s@">
1295    <input type="submit" value="Submit changes in Section 4" name="Submit">
1296   </p>
1297  </form>
1298 <!-- if-multiple-forms-end@ -->
1299 </td></tr>
1300 <!-- @if-one-form-only-start -->
1301     <tr>
1302       <td class="green" align="center">
1303         <p><input type="submit" value="Submit" name="Submit"></p>
1304       </td>
1305     </tr>
1306 <!-- if-one-form-only-end@ -->
1307     <tr>
1308       <td class="box">
1309         <h2>More Privoxy:</h2>
1310         <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
1311       </td>
1312     </tr>
1313
1314     <tr>
1315       <td class="info">
1316
1317 #include mod-support-and-service
1318
1319       </td>
1320     </tr>
1321
1322 <!-- @if-have-help-info-start -->
1323     <tr>
1324       <td class="info">
1325
1326 #include mod-local-help
1327
1328       </td>
1329     </tr>
1330 <!-- if-have-help-info-end@ -->
1331
1332   </table>
1333 <!-- @if-one-form-only-start -->
1334 </form>
1335 <!-- if-one-form-only-end@ -->
1336
1337 <script type="text/javascript">
1338 <!--
1339
1340 if (document.getElementById) {
1341     // alert("Netscape 6 or IE5");
1342     document.getElementById("hide_from_header_param").disabled = !(document.getElementById("hide_from_header_mode_set").checked);
1343     document.getElementById("hide_referrer_param").disabled = !(document.getElementById("hide_referrer_mode_set").checked);
1344     document.getElementById("set_image_blocker_param").disabled = !(document.getElementById("set_image_blocker_mode_set").checked);
1345
1346     show_add_header_opts    (document.getElementById("add_header_y").checked);
1347     show_deanimate_opts     (document.getElementById("deanimate_gifs_y").checked);
1348     show_hide_from_header_opts(document.getElementById("hide_from_header_y").checked);
1349     show_hide_referrer_opts (document.getElementById("hide_referrer_y").checked);
1350     show_user_agent_opts    (document.getElementById("hide_user_agent_y").checked);
1351     show_set_image_blocker_opts (document.getElementById("set_image_blocker_y").checked);
1352     show_limit_connect_opts (document.getElementById("limit_connect_y").checked);
1353     show_send_wafer_opts    (document.getElementById("send_wafer_y").checked);
1354 } else if (document.all) {
1355     // alert("IE4");
1356     document.myform.hide_from_header_param.disabled = !(document.myform.hide_from_header_mode_set.checked);
1357     document.myform.hide_referrer_param.disabled = !(document.myform.hide_referrer_mode_set.checked);
1358     document.myform.set_image_blocker_param.disabled = !(document.myform.set_image_blocker_mode_set.checked);
1359
1360     show_add_header_opts    (document.myform.add_header_y.checked);
1361     show_deanimate_opts     (document.myform.deanimate_gifs_y.checked);
1362     show_hide_from_header_opts (document.myform.hide_from_header_y.checked);
1363     show_hide_referrer_opts (document.myform.hide_referrer_y.checked);
1364     show_user_agent_opts    (document.myform.hide_user_agent_y.checked);
1365     show_set_image_blocker_opts (document.myform.set_image_blocker_y.checked);
1366     show_limit_connect_opts (document.myform.limit_connect_y.checked);
1367     show_send_wafer_opts    (document.myform.send_wafer_y.checked);
1368 } else if (document.layers) {
1369     // alert("Netscape 4");
1370 }
1371 //-->
1372 </script>
1373
1374
1375 </body>
1376
1377 </html>