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