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