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