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