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