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