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