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