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