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