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