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