sig_handler(): Split a long line in two
[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-2020 the
10 #                Privoxy team. https://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 ##############################################################################
34 #
35 # Standard support:
36 #
37 # This file currently produces valid HTML 4.01 Strict.
38 #
39 # If you change it, please save the generated page from your web browser
40 # and then upload it to http://validator.w3.org/ for checking.
41 #
42 ##############################################################################
43 #
44 # Available variables include:
45 #
46 # action-name-y
47 # action-name-n
48 # action-name-x
49 #
50 # deanimate-gifs-param-first
51 # deanimate-gifs-param-last
52 # hide-from-param-block
53 # hide-from-param-custom
54 # hide-from-param
55 # hide-referrer-param-forge
56 # hide-referrer-param-block
57 # hide-referrer-param-custom
58 # hide-referrer-param
59 # hide-user-agent-param
60 # image-blocker-param-pattern
61 # image-blocker-param-blank
62 # image-blocker-param-custom
63 #
64 #
65 ##############################################################################
66 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
67 <html>
68
69 <head>
70   <meta http-equiv="Content-Style-Type" content="text/css">
71   <meta http-equiv="Content-Script-Type" content="text/javascript">
72   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
73   <meta name="robots" content="noindex,nofollow">
74   <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
75   <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
76
77   <title>Privoxy@@my-hostname@: Edit actions</title>
78
79 <style type="text/css">
80 td.action    { font-weight: bold;
81                font-style: italic;
82                white-space: nowrap       }
83 td.subaction { font-style: italic        }
84 th           { font-weight: bold;        }
85 # This is the key to the color names below:
86 # bg=background, en="Enable", dis="Disable", noc="No Change", hdr=header
87 # 1=odd rows, 2=even rows, h=Table header
88 tr.hdr       { background-color: #999999 }
89 tr.bg1       { background-color: #eeeeee }
90 td.en1       { background-color: #ddffdd }
91 td.dis1      { background-color: #ffdddd }
92 td.noc1      { background-color: #ddddff }
93 th.enh       { background-color: #99ff99 }
94 th.dish      { background-color: #ff9999 }
95 th.noch      { background-color: #9999ff }
96 table.wide   { padding: 5px; }
97 td.green     { border: solid black 1px; background-color: #ddffdd; }
98 </style>
99
100 <!--
101 border-color: white;
102                border-style: solid;
103                border-left-width: 10px;
104                border-right-width: 10px;
105                border-top-width: 0px;
106                border-bottom-width: 0px  }
107 -->
108
109 <script type="text/javascript">
110 <!--
111
112 function hide_from_header_param_disable(tf)
113 {
114     if (document.getElementById) {
115         // NS6 or IE5
116         document.getElementById("hide_from_header_param").disabled = tf;
117     } else if (document.all) {
118         // IE4
119         document.myform.hide_from_header_param.disabled = tf;
120     }
121 }
122
123 function hide_referrer_param_disable(tf)
124 {
125     if (document.getElementById) {
126         document.getElementById("hide_referrer_param").disabled = tf;
127     } else if (document.all) {
128         document.myform.hide_referrer_param.disabled = tf;
129     }
130 }
131
132 function set_image_blocker_param_disable(tf)
133 {
134     if (document.getElementById) {
135         document.getElementById("set_image_blocker_param").disabled = tf;
136     } else if (document.all) {
137         document.myform.set_image_blocker_param.disabled = tf;
138     }
139 }
140
141 function show_add_header_opts(tf)
142 {
143     if (document.getElementById) {
144         target = document.getElementById("add_header_opts");
145     } else if (document.all) {
146         target = document.add_header_opts;
147     } else {
148         return;
149     }
150     target.style.display = (tf ? "" : "none");
151 }
152
153 function show_deanimate_opts(tf)
154 {
155     if (document.getElementById) {
156         target = document.getElementById("deanimate_opts");
157     } else if (document.all) {
158         target = document.deanimate_opts;
159     } else {
160         return;
161     }
162     target.style.display = (tf ? "" : "none");
163 }
164
165 function show_hide_from_header_opts(tf)
166 {
167     if (document.getElementById) {
168         target = document.getElementById("hide_from_header_opts");
169     } else if (document.all) {
170         target = document.hide_from_header_opts;
171     } else {
172         return;
173     }
174     target.style.display = (tf ? "" : "none");
175 }
176
177 function show_hide_referrer_opts(tf)
178 {
179     if (document.getElementById) {
180         target = document.getElementById("hide_referrer_opts");
181     } else if (document.all) {
182         target = document.hide_referrer_opts;
183     } else {
184         return;
185     }
186     target.style.display = (tf ? "" : "none");
187 }
188
189 function show_user_agent_opts(tf)
190 {
191     if (document.getElementById) {
192         target = document.getElementById("user_agent_opts");
193     } else if (document.all) {
194         target = document.user_agent_opts;
195     } else {
196         return;
197     }
198     target.style.display = (tf ? "" : "none");
199 }
200
201 function show_set_image_blocker_opts(tf)
202 {
203     if (document.getElementById) {
204         target = document.getElementById("set_image_blocker_opts");
205     } else if (document.all) {
206         target = document.set_image_blocker_opts;
207     } else {
208         return;
209     }
210     target.style.display = (tf ? "" : "none");
211 }
212
213 function show_limit_connect_opts(tf)
214 {
215     if (document.getElementById) {
216         target = document.getElementById("limit_connect_opts");
217     } else if (document.all) {
218         target = document.limit_connect_opts;
219     } else {
220         return;
221     }
222     target.style.display = (tf ? "" : "none");
223 }
224
225 //-->
226 </script>
227 </head>
228
229 <body>
230
231 <!-- @if-one-form-only-start -->
232 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
233 <!-- if-one-form-only-end@ -->
234
235   <table summary="" cellpadding="20" cellspacing="10" border="0" width="100%">
236     <tr>
237       <td class="title">
238
239 #include mod-title
240
241       </td>
242     </tr>
243
244 <!-- @if-unstable-start -->
245 # This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
246     <tr>
247       <td class="warning">
248
249 #include mod-unstable-warning
250
251       </td>
252     </tr>
253 <!-- if-unstable-end@ -->
254
255 <!-- @if-one-form-only-start -->
256     <tr>
257       <td class="box">
258         <h2>Edit Actions
259           <input type="hidden" name="f" value="@f@">
260           <input type="hidden" name="v" value="@v@">
261           <input type="hidden" name="s" value="@s@">
262         </h2>
263       </td>
264     </tr>
265
266     <tr>
267       <td class="green" align="center">
268         <p><input type="submit" value="Submit" name="Submit"></p>
269       </td>
270     </tr>
271 <!-- if-one-form-only-end@ -->
272
273 <tr><td class="wrapbox">
274
275 <!-- @if-multiple-forms-start -->
276 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
277   <h2>Edit Actions (Section 1)</h2>
278 <!-- if-multiple-forms-end@ -->
279
280   <table summary="Action section 1" border="0" cellspacing="2" width="100%" class="wide">
281     <tr class="hdr" align="left">
282       <th class="enh" align="center">Enable</th>
283       <th class="dish" align="center">Disable</th>
284       <th class="noch" align="center">No Change</th>
285       <th>Action</th>
286       <th>Description</th>
287     </tr>
288     <tr class="bg1" align="left" valign="top">
289       <td class="en1" align="center" valign="middle"><input type="radio"
290         name="add_header" id="add_header_y" value="Y" @add-header-y@
291         onclick="show_add_header_opts(true)"></td>
292       <td class="dis1" align="center" valign="middle"><input type="radio"
293         name="add_header" value="N" @add-header-n@
294         onclick="show_add_header_opts(false)"></td>
295       <td class="noc1" align="center" valign="middle"><input type="radio"
296         name="add_header" value="X" @add-header-x@
297         onclick="show_add_header_opts(false)"></td>
298       <td class="action"><a href="@user-manual@@actions-help-prefix@ADD-HEADER">add-header</a></td>
299       <td>Adds HTTP headers.</td>
300     </tr>
301     <tr class="bg1" align="left" valign="top" id="add_header_opts">
302       <td class="en1">&nbsp;</td>
303       <td class="dis1">&nbsp;</td>
304       <td class="noc1">&nbsp;</td>
305       <td>&nbsp;</td>
306       <td>Editing the settings for this option, or turning
307         it on if it was off, is not yet supported using this web-based
308         editor.</td>
309     </tr>
310     <tr class="bg1" align="left" valign="top">
311       <td class="en1" align="center" valign="middle"><input type="radio"
312         name="block" value="Y" @block-y@
313         ></td>
314       <td class="dis1" align="center" valign="middle"><input type="radio"
315         name="block" value="N" @block-n@
316         ></td>
317       <td class="noc1" align="center" valign="middle"><input type="radio"
318         name="block" value="X" @block-x@
319         ></td>
320       <td class="action"><a href="@user-manual@@actions-help-prefix@BLOCK">block</a></td>
321       <td>Block the request.</td>
322     </tr>
323     <tr class="bg1" align="left" valign="top" id="block_opts">
324       <td class="en1">&nbsp;</td>
325       <td class="dis1">&nbsp;</td>
326       <td class="noc1">&nbsp;</td>
327       <td>&nbsp;</td>
328       <td>Block reason to tell the user:<br>
329         <input type="text" name="block_mode" size="40" value="@block-param@">
330       </td>
331     </tr>
332     <tr class="bg1" align="left" valign="top">
333       <td class="en1" align="center" valign="middle"><input type="radio"
334         name="change_x_forwarded_for" id="change_x_forwarded_for_y" value="Y" @change-x-forwarded-for-y@
335         onclick="show_change_x_forwarded_for_opts(true)"></td>
336       <td class="dis1" align="center" valign="middle"><input type="radio"
337         name="change_x_forwarded_for" value="N" @change-x-forwarded-for-n@
338         onclick="show_change_x_forwarded_for_opts(false)"></td>
339       <td class="noc1" align="center" valign="middle"><input type="radio"
340         name="change_x_forwarded_for" value="X" @change-x-forwarded-for-x@
341         onclick="show_change_x_forwarded_for_opts(false)"></td>
342       <td class="action"><a href="@user-manual@@actions-help-prefix@CHANGE-X-FORWARDED-FOR">change-x-forwarded-for</a></td>
343       <td>Specifies whether to block or add X-Forwarded-For headers.</td>
344     </tr>
345     <tr class="bg1" align="left" valign="top" id="change_x_forwarded_for_opts">
346       <td class="en1">&nbsp;</td>
347       <td class="dis1">&nbsp;</td>
348       <td class="noc1">&nbsp;</td>
349       <td>&nbsp;</td>
350       <td><input type="radio" name="change_x_forwarded_for_mode" value="block"
351         id="change_x_forwarded_for_mode_block" @change-x-forwarded-for-param-block@><label
352         for="change_x_forwarded_for_mode_block">Block the header.</label><br>
353         <input type="radio" name="change_x_forwarded_for_mode" value="add"
354         id="change_x_forwarded_for_mode_add" @change-x-forwarded-for-param-add@><label
355         for="change_x_forwarded_for_mode_add">Add the header.</label><br>
356     </tr>
357     <tr class="bg1" align="left" valign="top">
358       <td class="en1">&nbsp;</td>
359       <td class="dis1" align="center" valign="middle"><input type="radio"
360         name="client_body_filter_all" id="client_body_filter_all_n" value="N" @client-body-filter-all-n@ ></td>
361       <td class="noc1" align="center" valign="middle"><input type="radio"
362         name="client_body_filter_all" id="client_body_filter_all_x" value="X" @client-body-filter-all-x@ ></td>
363       <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-BODY-FILTER">client-body-filter</a> *</td>
364       <td>Filter the client request body.
365         You can use the radio buttons on this line to disable
366         all client-body filters applied by previous rules, and/or
367         you can enable or disable the filters individually below.</td>
368     </tr>
369 @client-body-filter-params@
370     <tr class="bg1" align="left" valign="top">
371       <td class="en1">&nbsp;</td>
372       <td class="dis1" align="center" valign="middle"><input type="radio"
373         name="client_header_filter_all" id="client_header_filter_all_n" value="N" @client-header-filter-all-n@ ></td>
374       <td class="noc1" align="center" valign="middle"><input type="radio"
375         name="client_header_filter_all" id="client_header_filter_all_x" value="X" @client-header-filter-all-x@ ></td>
376       <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-FILTER">client-header-filter</a> *</td>
377       <td>Filter the client headers.
378         You can use the radio buttons on this line to disable
379         all client-header filters applied by previous rules, and/or
380         you can enable or disable the filters individually below.</td>
381     </tr>
382 @client-header-filter-params@
383     <tr class="bg1" align="left" valign="top">
384       <td class="en1">&nbsp;</td>
385       <td class="dis1" align="center" valign="middle"><input type="radio"
386         name="client_header_tagger_all" id="client_header_tagger_all_n" value="N" @client-header-tagger-all-n@ ></td>
387       <td class="noc1" align="center" valign="middle"><input type="radio"
388         name="client_header_tagger_all" id="client_header_tagger_all_x" value="X" @client-header-tagger-all-x@ ></td>
389       <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-TAGGER">client-header-tagger</a> *</td>
390       <td>Create tags based on the client headers.
391         You can use the radio buttons on this line to disable
392         all client-header taggers applied by previous rules, and/or
393         you can enable or disable the taggers individually below.</td>
394     </tr>
395 @client-header-tagger-params@
396    <tr class="bg1" align="left" valign="top">
397       <td class="en1" align="center" valign="middle"><input type="radio"
398         name="content_type_overwrite" value="Y" @content-type-overwrite-y@
399         ></td>
400       <td class="dis1" align="center" valign="middle"><input type="radio"
401         name="content_type_overwrite" value="N" @content-type-overwrite-n@
402         ></td>
403       <td class="noc1" align="center" valign="middle"><input type="radio"
404         name="content_type_overwrite" value="X" @content-type-overwrite-x@
405         ></td>
406       <td class="action"><a href="@user-manual@@actions-help-prefix@CONTENT-TYPE-OVERWRITE">content-type-overwrite</a></td>
407       <td>Replace Content-Type header. By default it only applies to
408          text documents, but if you know what you're doing you
409          can enable force-text-mode to modify binary content types as well.</td>
410     </tr>
411     <tr class="bg1" align="left" valign="top" id="content_type_overwrite_opts">
412       <td class="en1">&nbsp;</td>
413       <td class="dis1">&nbsp;</td>
414       <td class="noc1">&nbsp;</td>
415       <td>&nbsp;</td>
416       <td>New Content-Type:<br>
417         <input type="text" name="content_type_overwrite_mode" size="40"
418         value="@content-type-overwrite-param@"></td>
419     </tr>
420     <tr class="bg1" align="left" valign="top">
421       <td class="en1" align="center" valign="middle"><input type="radio"
422         name="crunch_client_header" id="crunch_client_header_y" value="Y" @crunch-client-header-y@
423         ></td>
424       <td class="dis1" align="center" valign="middle"><input type="radio"
425         name="crunch_client_header" value="N" @crunch-client-header-n@
426         ></td>
427       <td class="noc1" align="center" valign="middle"><input type="radio"
428         name="crunch_client_header" value="X" @crunch-client-header-x@
429         ></td>
430       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-CLIENT-HEADER">crunch-client-header</a></td>
431       <td>Remove header(s) matching the supplied pattern.</td>
432     </tr>
433     <tr class="bg1" align="left" valign="top" id="crunch_client_header_opts">
434       <td class="en1">&nbsp;</td>
435       <td class="dis1">&nbsp;</td>
436       <td class="noc1">&nbsp;</td>
437       <td>&nbsp;</td>
438       <td>Header string to suppress:<br>
439         <input type="text" name="crunch_client_header_mode" size="40"
440         value="@crunch-client-header-param@"></td>
441     </tr>
442     <tr class="bg1" align="left" valign="top">
443       <td class="en1" align="center" valign="middle"><input type="radio"
444         name="crunch_if_none_match" value="Y" @crunch-if-none-match-y@
445         ></td>
446       <td class="dis1" align="center" valign="middle"><input type="radio"
447         name="crunch_if_none_match" value="N" @crunch-if-none-match-n@
448         ></td>
449       <td class="noc1" align="center" valign="middle"><input type="radio"
450         name="crunch_if_none_match" value="X" @crunch-if-none-match-x@
451         ></td>
452       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a></td>
453       <td>Remove If-None-Match header. Useful for filter testing
454          and to make sure the header can't be used to track your visits.</td>
455     </tr>
456
457     <tr class="bg1" align="left" valign="top">
458       <td class="en1" align="center" valign="middle"><input type="radio"
459         name="crunch_incoming_cookies" value="Y" @crunch-incoming-cookies-y@
460         ></td>
461       <td class="dis1" align="center" valign="middle"><input type="radio"
462         name="crunch_incoming_cookies" value="N" @crunch-incoming-cookies-n@
463         ></td>
464       <td class="noc1" align="center" valign="middle"><input type="radio"
465         name="crunch_incoming_cookies" value="X" @crunch-incoming-cookies-x@
466         ></td>
467       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></td>
468       <td>Prevent the website from setting HTTP cookies on your system.</td>
469     </tr>
470     <tr class="bg1" align="left" valign="top">
471       <td class="en1" align="center" valign="middle"><input type="radio"
472         name="crunch_outgoing_cookies" value="Y" @crunch-outgoing-cookies-y@
473         ></td>
474       <td class="dis1" align="center" valign="middle"><input type="radio"
475         name="crunch_outgoing_cookies" value="N" @crunch-outgoing-cookies-n@
476         ></td>
477       <td class="noc1" align="center" valign="middle"><input type="radio"
478         name="crunch_outgoing_cookies" value="X" @crunch-outgoing-cookies-x@
479         ></td>
480       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></td>
481       <td>Prevent the website from reading HTTP cookies from your system.</td>
482     </tr>
483     <tr class="bg1" align="left" valign="top">
484       <td class="en1" align="center" valign="middle"><input type="radio"
485         name="crunch_server_header" id="crunch_server_header_y" value="Y" @crunch-server-header-y@
486         ></td>
487       <td class="dis1" align="center" valign="middle"><input type="radio"
488         name="crunch_server_header" value="N" @crunch-server-header-n@
489         ></td>
490       <td class="noc1" align="center" valign="middle"><input type="radio"
491         name="crunch_server_header" value="X" @crunch-server-header-x@
492         ></td>
493       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-SERVER-HEADER">crunch-server-header</a></td>
494       <td>Remove server header(s) matching the supplied pattern.</td>
495     </tr>
496     <tr class="bg1" align="left" valign="top" id="crunch_server_header_opts">
497       <td class="en1">&nbsp;</td>
498       <td class="dis1">&nbsp;</td>
499       <td class="noc1">&nbsp;</td>
500       <td>&nbsp;</td>
501       <td>Header string to suppress:<br>
502         <input type="text" name="crunch_server_header_mode" size="40"
503         value="@crunch-server-header-param@"></td>
504     </tr>
505
506     <tr class="bg1" align="left" valign="top">
507       <td class="en1" align="center" valign="middle"><input type="radio"
508         name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
509         onclick="show_deanimate_opts(true)"></td>
510       <td class="dis1" align="center" valign="middle"><input type="radio"
511         name="deanimate_gifs" value="N" @deanimate-gifs-n@
512         onclick="show_deanimate_opts(false)"></td>
513       <td class="noc1" align="center" valign="middle"><input type="radio"
514         name="deanimate_gifs" value="X" @deanimate-gifs-x@
515         onclick="show_deanimate_opts(false)"></td>
516       <td class="action"><a href="@user-manual@@actions-help-prefix@DEANIMATE-GIFS">deanimate-gifs</a></td>
517       <td>Replace animated GIFs with their (first/last) frame.</td>
518     </tr>
519     <tr class="bg1" align="left" valign="top" id="deanimate_opts">
520       <td class="en1">&nbsp;</td>
521       <td class="dis1">&nbsp;</td>
522       <td class="noc1">&nbsp;</td>
523       <td>&nbsp;</td>
524       <td>Use the <input type="radio" name="deanimate_gifs_mode"
525         value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
526         for="deanimate_first">first frame</label>&nbsp;&nbsp; <input
527         type="radio" name="deanimate_gifs_mode" value="last"
528         id="deanimate_last" @deanimate-gifs-param-last@><label
529         for="deanimate_last">last frame</label></td>
530     </tr>
531     <tr class="bg1" align="left" valign="top">
532       <td class="en1" align="center" valign="middle"><input type="radio"
533         name="delay_response" value="Y" @delay-response-y@
534         ></td>
535       <td class="dis1" align="center" valign="middle"><input type="radio"
536         name="delay_response" value="N" @delay-response-n@
537         ></td>
538       <td class="noc1" align="center" valign="middle"><input type="radio"
539         name="delay_response" value="X" @delay-response-x@
540         ></td>
541       <td class="action"><a href="@user-manual@@actions-help-prefix@DELAY-RESPONSE">delay-response</a></td>
542       <td>Send the response in ca. 10 byte chunks and delay each chunk.</td>
543     </tr>
544     <tr class="bg1" align="left" valign="top" id="delay-response_opts">
545       <td class="en1">&nbsp;</td>
546       <td class="dis1">&nbsp;</td>
547       <td class="noc1">&nbsp;</td>
548       <td>&nbsp;</td>
549       <td>Number of milliseconds to delay chunks:<br>
550         <input type="text" name="delay_response_mode" size="40" value="@delay-response-param@">
551       </td>
552     </tr>
553     <tr class="bg1" align="left" valign="top">
554       <td class="en1" align="center" valign="middle"><input type="radio"
555         name="downgrade_http_version" value="Y" @downgrade-http-version-y@></td>
556       <td class="dis1" align="center" valign="middle"><input type="radio"
557         name="downgrade_http_version" value="N" @downgrade-http-version-n@></td>
558       <td class="noc1" align="center" valign="middle"><input type="radio"
559         name="downgrade_http_version" value="X" @downgrade-http-version-x@></td>
560       <td class="action"><a href="@user-manual@@actions-help-prefix@DOWNGRADE-HTTP-VERSION"
561        >downgrade-http-version</a></td>
562       <td>Change HTTP/1.1 requests to HTTP/1.0.  Only change if you know
563         what you're doing!</td>
564     </tr>
565
566 <!-- @if-external-content-filters-start -->
567     <tr class="bg1" align="left" valign="top">
568       <td class="en1">&nbsp;</td>
569       <td class="dis1" align="center" valign="middle"><input type="radio"
570         name="external_content_filter_all" id="external_content_filter_all_n" value="N" @external-content-filter-all-n@ ></td>
571       <td class="noc1" align="center" valign="middle"><input type="radio"
572         name="external_content_filter_all" id="external_content_filter_all_x" value="X" @external-content-filter-all-x@ ></td>
573       <td class="action"><a href="@user-manual@@actions-help-prefix@EXTERNAL_FILTER">external-filter</a> *</td>
574       <td>Filter the website through external scripts or programs.
575         You can use the radio buttons on this line to disable
576         all filters applied by previous rules, and/or you can enable or
577         disable the filters individually below.</td>
578     </tr>
579
580 @external-content-filter-params@
581 <!-- if-external-content-filters-end@ -->
582
583     <tr class="bg1" align="left" valign="top">
584       <td class="en1" align="center" valign="middle"><input type="radio"
585         name="fast_redirects" value="Y" @fast-redirects-y@
586         ></td>
587       <td class="dis1" align="center" valign="middle"><input type="radio"
588         name="fast_redirects" value="N" @fast-redirects-n@
589         ></td>
590       <td class="noc1" align="center" valign="middle"><input type="radio"
591         name="fast_redirects" value="X" @fast-redirects-x@
592         ></td>
593       <td class="action"><a href="@user-manual@@actions-help-prefix@FAST-REDIRECTS">fast-redirects</a></td>
594       <td>Bypass some click-tracking URLs.</td>
595     </tr>
596     <tr class="bg1" align="left" valign="top" id="fast-redirects_opts">
597       <td class="en1">&nbsp;</td>
598       <td class="dis1">&nbsp;</td>
599       <td class="noc1">&nbsp;</td>
600       <td>&nbsp;</td>
601       <td>
602        <input type="radio" name="fast_redirects_mode"
603         value="simple-check" id="fast_redirects_simple_check" @fast-redirects-param-simple-check@><label
604         for="fast_redirects_simple_check">Simple check.</label>
605        <br>
606        <input type="radio" name="fast_redirects_mode" value="check-decoded-url"
607         id="fast_redirects_check_decoded_url" @fast-redirects-param-check-decoded-url@><label
608         for="fast_redirects_check_decoded_url">Decode URL before checking.</label></td>
609     </tr>
610 <!-- @if-multiple-forms-start -->
611    </table>
612    <p>
613     <input type="hidden" name="f" value="@f@">
614     <input type="hidden" name="v" value="@v@">
615     <input type="hidden" name="s" value="@s@">
616     <input type="submit" value="Submit changes in Section 1" name="Submit">
617   </p>
618   </form>
619  </td></tr>
620  <tr><td class="wrapbox">
621   <form method="GET" action="edit-actions-submit" id="myform-2" name="myform">
622   <h2>Edit Actions (Section 2)</h2>
623   <table summary="Action section 2" border="0" cellspacing="2" width="100%" class="wide">
624     <tr class="hdr" align="left">
625       <th class="enh" align="center">Enable</th>
626       <th class="dish" align="center">Disable</th>
627       <th class="noch" align="center">No Change</th>
628       <th>Action</th>
629       <th>Description</th>
630     </tr>
631 <!-- if-multiple-forms-end@ -->
632     <tr class="bg1" align="left" valign="top">
633       <td class="en1">&nbsp;</td>
634       <td class="dis1" align="center" valign="middle"><input type="radio"
635         name="filter_all" id="filter_all_n" value="N" @filter-all-n@ ></td>
636       <td class="noc1" align="center" valign="middle"><input type="radio"
637         name="filter_all" id="filter_all_x" value="X" @filter-all-x@ ></td>
638       <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER">filter</a> *</td>
639       <td>Filter the website through regular expression
640         filters.  You can use the radio buttons on this line to disable
641         all filters applied by previous rules, and/or you can enable or
642         disable the filters individually below.</td>
643     </tr>
644
645 @content-filter-params@
646
647 <!-- @if-multiple-forms-start -->
648    </table>
649    <p>
650     <input type="hidden" name="f" value="@f@">
651     <input type="hidden" name="v" value="@v@">
652     <input type="hidden" name="s" value="@s@">
653     <input type="submit" value="Submit changes in Section 2" name="Submit">
654    </p>
655   </form>
656  </td></tr>
657  <tr><td class="wrapbox">
658   <form method="GET" action="edit-actions-submit" id="myform-3" name="myform">
659   <h2>Edit Actions (Section 3)</h2>
660   <table summary="Action section 3" border="0" cellspacing="2" width="100%" class="wide">
661     <tr class="hdr" align="left">
662       <th class="enh" align="center">Enable</th>
663       <th class="dish" align="center">Disable</th>
664       <th class="noch" align="center">No Change</th>
665       <th>Action</th>
666       <th>Description</th>
667     </tr>
668 <!-- if-multiple-forms-end@ -->
669    <tr class="bg1" align="left" valign="top">
670       <td class="en1" align="center" valign="middle"><input type="radio"
671         name="force_text_mode" value="Y" @force-text-mode-y@
672         ></td>
673       <td class="dis1" align="center" valign="middle"><input type="radio"
674         name="force_text_mode" value="N" @force-text-mode-n@
675         ></td>
676       <td class="noc1" align="center" valign="middle"><input type="radio"
677         name="force_text_mode" value="X" @force-text-mode-x@
678         ></td>
679       <td class="action"><a href="@user-manual@@actions-help-prefix@FORCE-TEXT-MODE">force-text-mode</a></td>
680       <td>
681        Enable filtering on documents whose Content-Type wasn't recognized as text.
682        Do think twice, nothing is alright.
683      </td>
684     </tr>
685     <tr class="bg1" align="left" valign="top">
686       <td class="en1" align="center" valign="middle"><input type="radio"
687         name="forward_override" id="forward_override_y" value="Y" @forward-override-y@
688         ></td>
689       <td class="dis1" align="center" valign="middle"><input type="radio"
690         name="forward_override" id="forward_override_n" value="N" @forward-override-n@
691         ></td>
692       <td class="noc1" align="center" valign="middle"><input type="radio"
693         name="forward_override" id="forward_override_x" value="X" @forward-override-x@
694         ></td>
695       <td class="action"><a href="@user-manual@@actions-help-prefix@FORWARD-OVERRIDE">forward-override</a></td>
696       <td>Override forward directives in the configuration file.
697           Note that the <a href="@user-manual@actions-file.html#FORWARD-OVERRIDE">parameter syntax</a>
698           isn't checked until the action is used. <strong class="warning">Syntax errors
699           will cause Privoxy to exit.</strong></td>
700     </tr>
701     <tr class="bg1" align="left" valign="top" id="forward_override_language_opts">
702       <td class="en1">&nbsp;</td>
703       <td class="dis1">&nbsp;</td>
704       <td class="noc1">&nbsp;</td>
705       <td>&nbsp;</td>
706       <td>
707         Overriding forward directive:<br>
708         <input type="text" name="forward_override_param"
709         id="forward_override_param" size="40"
710         value="@forward-override-param@"><br>
711      </td>
712     </tr>
713    <tr class="bg1" align="left" valign="top">
714       <td class="en1" align="center" valign="middle"><input type="radio"
715         name="handle_as_empty_document" value="Y" @handle-as-empty-document-y@
716         ></td>
717       <td class="dis1" align="center" valign="middle"><input type="radio"
718         name="handle_as_empty_document" value="N" @handle-as-empty-document-n@
719         ></td>
720       <td class="noc1" align="center" valign="middle"><input type="radio"
721         name="handle_as_empty_document" value="X" @handle-as-empty-document-x@
722         ></td>
723       <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></td>
724       <td>
725        Block with an <em>empty</em> document instead of an Image or HTML message.
726        The <em>empty</em> document contains only a space and can safely be parsed
727        as JavaScript or Style Sheet. Use content-type-overwrite to specify the
728        Content-Type, default is <q>text/html</q>.
729      </td>
730     </tr>
731     <tr class="bg1" align="left" valign="top">
732       <td class="en1" align="center" valign="middle"><input type="radio"
733         name="handle_as_image" value="Y" @handle-as-image-y@
734         ></td>
735       <td class="dis1" align="center" valign="middle"><input type="radio"
736         name="handle_as_image" value="N" @handle-as-image-n@
737         ></td>
738       <td class="noc1" align="center" valign="middle"><input type="radio"
739         name="handle_as_image" value="X" @handle-as-image-x@
740         ></td>
741       <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-IMAGE">handle-as-image</a></td>
742       <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>
743         and <i><b><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></b></i> actions).</td>
744     </tr>
745     <tr class="bg1" align="left" valign="top">
746       <td class="en1" align="center" valign="middle"><input type="radio"
747         name="hide_accept_language" id="hide_accept_language_y" value="Y" @hide-accept-language-y@
748         onclick="show_hide_accept_language_opts(true)"></td>
749       <td class="dis1" align="center" valign="middle"><input type="radio"
750         name="hide_accept_language" id="hide_accept_language_n" value="N" @hide-accept-language-n@
751         onclick="show_hide_accept_language_opts(false)"></td>
752       <td class="noc1" align="center" valign="middle"><input type="radio"
753         name="hide_accept_language" id="hide_accept_language_x" value="X" @hide-accept-language-x@
754         onclick="show_hide_accept_language_opts(false)"
755         ></td>
756       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-ACCEPT-LANGUAGE">hide-accept-language</a></td>
757       <td>Pretend to have different language settings. (Makes a fake User-Agent more believable,
758           but you may end up with content in the language you pretended to understand.)</td>
759     </tr>
760     <tr class="bg1" align="left" valign="top" id="hide_accept-language_opts">
761       <td class="en1">&nbsp;</td>
762       <td class="dis1">&nbsp;</td>
763       <td class="noc1">&nbsp;</td>
764       <td>&nbsp;</td>
765       <td><input type="radio" name="hide_accept_language_mode" value="block"
766         onclick="hide_accept_language_param_disable(true)"
767         @hide-accept-language-param-block@ id="hide_accept_language_mode_block"><label
768         for="hide_accept_language_mode_block">Remove Accept-Language header without replacement.</label>
769         <br>
770         <input type="radio" name="hide_accept_language_mode" value="CUSTOM"
771         onclick="hide_accept_language_param_disable(false)"
772         @hide-accept-language-param-custom@ id="hide_accept_language_mode_set"><label
773         for="hide_accept_language_mode_set">Fake these language settings:</label><br>
774         <input type="text" name="hide_accept_language_param"
775         id="hide_accept_language_param" size="40"
776         value="@hide-accept-language-param@"><br>
777      </td>
778     </tr>
779     <tr class="bg1" align="left" valign="top">
780       <td class="en1" align="center" valign="middle"><input type="radio"
781         name="hide_content_disposition" id="hide_content_disposition_y" value="Y" @hide-content-disposition-y@
782         onclick="show_hide_content_disposition_opts(true)"></td>
783       <td class="dis1" align="center" valign="middle"><input type="radio"
784         name="hide_content_disposition" id="hide_content_disposition_n" value="N" @hide-content-disposition-n@
785         onclick="show_hide_content_disposition_opts(false)"></td>
786       <td class="noc1" align="center" valign="middle"><input type="radio"
787         name="hide_content_disposition" id="hide_content_disposition_x" value="X" @hide-content-disposition-x@
788         onclick="show_hide_content_disposition_opts(false)"
789         ></td>
790       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-CONTENT-DISPOSITION">hide-content-disposition</a></td>
791       <td>Block or overwrite the content-disposition header. Useful to view a document inside the browser,
792        even if you were supposed to save it first, or to change the suggested file name.</td>
793     </tr>
794     <tr class="bg1" align="left" valign="top" id="hide_content_disposition_opts">
795       <td class="en1">&nbsp;</td>
796       <td class="dis1">&nbsp;</td>
797       <td class="noc1">&nbsp;</td>
798       <td>&nbsp;</td>
799       <td><input type="radio" name="hide_content_disposition_mode" value="block"
800         onclick="hide_content_disposition_param_disable(true)"
801         @hide-content-disposition-param-block@ id="hide_content_disposition_mode_block"><label
802         for="hide_content_disposition_mode_block">Remove content-disposition header without replacement.</label>
803         <br>
804         <input type="radio" name="hide_content_disposition_mode" value="CUSTOM"
805         onclick="hide_content_disposition_param_disable(false)"
806         @hide-content-disposition-param-custom@ id="hide_content_disposition_mode_set"><label
807         for="hide_content_disposition_mode_set">Overwrite content-dispostion header with:</label><br>
808         <input type="text" name="hide_content_disposition_param"
809         id="hide_content_disposition_param" size="40"
810         value="@hide-content-disposition-param@"><br>
811      </td>
812     </tr>
813     <tr class="bg1" align="left" valign="top">
814       <td class="en1" align="center" valign="middle"><input type="radio"
815         name="hide_from_header" id="hide_from_header_y" value="Y" @hide-from-header-y@
816         onclick="show_hide_from_header_opts(true)"></td>
817       <td class="dis1" align="center" valign="middle"><input type="radio"
818         name="hide_from_header" value="N" @hide-from-header-n@
819         onclick="show_hide_from_header_opts(false)"></td>
820       <td class="noc1" align="center" valign="middle"><input type="radio"
821         name="hide_from_header" value="X" @hide-from-header-x@
822         onclick="show_hide_from_header_opts(false)"></td>
823       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FROM-HEADER">hide-from-header</a></td>
824       <td>Stop old web browsers from sending the user's e-mail address with
825         every request.</td>
826     </tr>
827     <tr class="bg1" align="left" valign="top" id="hide_from_header_opts">
828       <td class="en1">&nbsp;</td>
829       <td class="dis1">&nbsp;</td>
830       <td class="noc1">&nbsp;</td>
831       <td>&nbsp;</td>
832       <td><input type="radio" name="hide_from_header_mode" value="block"
833         onclick="hide_from_header_param_disable(true);"
834         @hide-from-header-param-block@ id="hide_from_header_mode_block"><label
835         for="hide_from_header_mode_block">Remove completely</label><br>
836         <input type="radio" name="hide_from_header_mode" value="CUSTOM"
837         onclick="hide_from_header_param_disable(false);"
838         @hide-from-header-param-custom@ id="hide_from_header_mode_set"><label
839         for="hide_from_header_mode_set">Fake e-mail address:</label><br>
840         <input type="text" name="hide_from_header_param" id="hide_from_header_param"
841         size="40" value="@hide-from-header-param@"></td>
842     </tr>
843
844    <tr class="bg1" align="left" valign="top">
845       <td class="en1" align="center" valign="middle"><input type="radio"
846         name="hide_if_modified_since" value="Y" @hide-if-modified-since-y@
847         ></td>
848       <td class="dis1" align="center" valign="middle"><input type="radio"
849         name="hide_if_modified_since" value="N" @hide-if-modified-since-n@
850         ></td>
851       <td class="noc1" align="center" valign="middle"><input type="radio"
852         name="hide_if_modified_since" value="X" @hide-if-modified-since-x@
853         ></td>
854       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></td>
855       <td>Remove or randomize the If-Modified-Since header.</td>
856     </tr>
857     <tr class="bg1" align="left" valign="top" id="hide_if-modifed-since_opts">
858       <td class="en1">&nbsp;</td>
859       <td class="dis1">&nbsp;</td>
860       <td class="noc1">&nbsp;</td>
861       <td>&nbsp;</td>
862       <td><input type="radio" name="hide_if_modified_since_mode" value="block"
863         onclick="hide_if_modified_since_param_disable(true)"
864         @hide-if-modified-since-param-block@ id="hide_if_modified_since_mode_block"><label
865         for="hide_if_modified_since_mode_block">Remove without replacement.</label>
866         Useful for filter testing.<br>
867         <input type="radio" name="hide_if_modified_since_mode" value="CUSTOM"
868         onclick="hide_if_modified_since_param_disable(true)"
869         @hide-if-modified-since-param-custom@ id="hide_if_modified_since_mode_set"><label
870         for="hide_if_modified_since_mode_set">Add random amount of seconds in the range of</label>
871         <input type="text" name="hide_if_modified_since_param"
872         id="hide_if_modified_since_param" size="4"
873         value="@hide-if-modified-since-param@"> minute(s).
874         To appreciate this option a small amount of paranoia is required,
875         but at least in theory the If-Modified-Since header could be used
876         to keep track of your visits.
877      </td>
878     </tr>
879 <!-- @if-multiple-forms-start -->
880    </table>
881    <p>
882     <input type="hidden" name="f" value="@f@">
883     <input type="hidden" name="v" value="@v@">
884     <input type="hidden" name="s" value="@s@">
885     <input type="submit" value="Submit changes in Section 3" name="Submit">
886    </p>
887   </form>
888  </td></tr>
889  <tr><td class="wrapbox">
890   <form method="GET" action="edit-actions-submit" id="myform-4" name="myform">
891   <h2>Edit Actions (Section 4)</h2>
892   <table summary="Action section 4" border="0" cellspacing="2" width="100%" class="wide">
893     <tr class="hdr" align="left">
894       <th class="enh" align="center">Enable</th>
895       <th class="dish" align="center">Disable</th>
896       <th class="noch" align="center">No Change</th>
897       <th>Action</th>
898       <th>Description</th>
899     </tr>
900 <!-- if-multiple-forms-end@ -->
901     <tr class="bg1" align="left" valign="top">
902       <td class="en1" align="center" valign="middle"><input type="radio"
903         name="hide_referrer" id="hide_referrer_y" value="Y" @hide-referrer-y@
904         onclick="show_hide_referrer_opts(true)"></td>
905       <td class="dis1" align="center" valign="middle"><input type="radio"
906         name="hide_referrer" id="hide_referrer_n" value="N" @hide-referrer-n@
907         onclick="show_hide_referrer_opts(false)"></td>
908       <td class="noc1" align="center" valign="middle"><input type="radio"
909         name="hide_referrer" id="hide_referrer_x" value="X" @hide-referrer-x@
910         onclick="show_hide_referrer_opts(false)"
911         ></td>
912       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-REFERRER">hide-referrer</a></td>
913       <td>Helps prevent tracking by not sending the URL of the previous web
914         page.&nbsp;</td>
915     </tr>
916     <tr class="bg1" align="left" valign="top" id="hide_referrer_opts">
917       <td class="en1">&nbsp;</td>
918       <td class="dis1">&nbsp;</td>
919       <td class="noc1">&nbsp;</td>
920       <td>&nbsp;</td>
921       <td><input type="radio" name="hide_referrer_mode" value="block"
922         onclick="hide_referrer_param_disable(true)"
923         @hide-referrer-param-block@ id="hide_referrer_mode_block"><label
924         for="hide_referrer_mode_block">Remove completely</label> (breaks images
925         on some free web hosts).<br>
926         <input type="radio" name="hide_referrer_mode" value="forge"
927         onclick="hide_referrer_param_disable(true)"
928         @hide-referrer-param-forge@ id="hide_referrer_mode_forge"><label
929         for="hide_referrer_mode_forge">Fake as the root directory of the
930         site</label> (fools checks for in-site links.)<br>
931         <input type="radio" name="hide_referrer_mode" value="CUSTOM"
932         onclick="hide_referrer_param_disable(false)"
933         @hide-referrer-param-custom@ id="hide_referrer_mode_set"><label
934         for="hide_referrer_mode_set">Fake as this web address:</label><br>
935         <input type="text" name="hide_referrer_param"
936         id="hide_referrer_param" size="40"
937         value="@hide-referrer-param@"><br>
938         <input type="radio" name="hide_referrer_mode" value="conditional-block"
939         onclick="hide_referrer_param_disable(true)"
940         @hide-referrer-param-conditional-block@ id="hide_referrer_mode_conditional-block"><label
941         for="hide_referrer_mode_conditional-block">Remove completely if host has changed,
942         but don't touch in-site referrers.
943         Less suspicious than the options above.</label><br>
944         <input type="radio" name="hide_referrer_mode" value="conditional-forge"
945         onclick="hide_referrer_param_disable(true)"
946         @hide-referrer-param-conditional-forge@ id="hide_referrer_mode_conditional-forge"><label
947         for="hide_referrer_mode_conditional-forge">Forge referrer if host has
948         changed, but don't touch in-site referrers.</label><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_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
954         onclick="show_user_agent_opts(true)"></td>
955       <td class="dis1" align="center" valign="middle"><input type="radio"
956         name="hide_user_agent" value="N" @hide-user-agent-n@
957         onclick="show_user_agent_opts(false)"></td>
958       <td class="noc1" align="center" valign="middle"><input type="radio"
959         name="hide_user_agent" value="X" @hide-user-agent-x@
960         onclick="show_user_agent_opts(false)"></td>
961       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-USER-AGENT">hide-user-agent</a></td>
962       <td>Pretend to be using a different web browser.&nbsp; (May cause problems with broken web sites).</td>
963     </tr>
964     <tr class="bg1" align="left" valign="top" id="user_agent_opts">
965       <td class="en1">&nbsp;</td>
966       <td class="dis1">&nbsp;</td>
967       <td class="noc1">&nbsp;</td>
968       <td>&nbsp;</td>
969       <td>User Agent string to send:<br>
970         <input type="text" name="hide_user_agent_mode" size="40"
971         value="@hide-user-agent-param@"></td>
972     </tr>
973
974 <!-- @if-https-inspection-start -->
975    <tr class="bg1" align="left" valign="top">
976       <td class="en1" align="center" valign="middle"><input type="radio"
977         name="https_inspection" value="Y" @https-inspection-y@
978         ></td>
979       <td class="dis1" align="center" valign="middle"><input type="radio"
980         name="https_inspection" value="N" @https-inspection-n@
981         ></td>
982       <td class="noc1" align="center" valign="middle"><input type="radio"
983         name="https_inspection" value="X" @https-inspection-x@
984         ></td>
985       <td class="action"><a href="@user-manual@@actions-help-prefix@HTTPS-INSPECTION">https-inspection</a></td>
986       <td>
987        Enable content and header filtering for https requests.
988      </td>
989     </tr>
990
991    <tr class="bg1" align="left" valign="top">
992       <td class="en1" align="center" valign="middle"><input type="radio"
993         name="ignore_certificate_errors" value="Y" @ignore-certificate-errors-y@
994         ></td>
995       <td class="dis1" align="center" valign="middle"><input type="radio"
996         name="ignore_certificate_errors" value="N" @ignore-certificate-errors-n@
997         ></td>
998       <td class="noc1" align="center" valign="middle"><input type="radio"
999         name="ignore_certificate_errors" value="X" @ignore-certificate-errors-x@
1000         ></td>
1001       <td class="action"><a href="@user-manual@@actions-help-prefix@IGNORE-CERTIFICATE-ERRORS">ignore-certificate-errors</a></td>
1002       <td>
1003        Don't verify certificates when forwarding encrypted requests.
1004      </td>
1005     </tr>
1006
1007 <!-- if-https-inspection-end@ -->
1008
1009     <tr class="bg1" align="left" valign="top">
1010       <td class="en1" align="center" valign="middle"><input type="radio"
1011         name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
1012         onclick="show_limit_connect_opts(true)"></td>
1013       <td class="dis1" align="center" valign="middle"><input type="radio"
1014         name="limit_connect" value="N" @limit-connect-n@
1015         onclick="show_limit_connect_opts(false)"></td>
1016       <td class="noc1" align="center" valign="middle"><input type="radio"
1017         name="limit_connect" value="X" @limit-connect-x@
1018         onclick="show_limit_connect_opts(false)"></td>
1019       <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-CONNECT">limit-connect</a></td>
1020       <td>Limit which ports are allowed in HTTP CONNECT requests. These requests are
1021         used to tunnel SSL and other protocols through HTTP proxies.</td>
1022     </tr>
1023     <tr class="bg1" align="left" valign="top" id="limit_connect_opts">
1024       <td class="en1">&nbsp;</td>
1025       <td class="dis1">&nbsp;</td>
1026       <td class="noc1">&nbsp;</td>
1027       <td>&nbsp;</td>
1028       <td>Legal ports (comma separated, ranges allowed):<br>
1029         <input type="text" name="limit_connect_mode" size="40"
1030         value="@limit-connect-param@"></td>
1031     </tr>
1032     <tr class="bg1" align="left" valign="top">
1033       <td class="en1" align="center" valign="middle"><input type="radio"
1034         name="limit_cookie_lifetime" id="limit_cookie_lifetime_y" value="Y" @limit-cookie-lifetime-y@
1035         onclick="show_limit_cookie_lifetime_opts(true)"></td>
1036       <td class="dis1" align="center" valign="middle"><input type="radio"
1037         name="limit_cookie_lifetime" value="N" @limit-cookie-lifetime-n@
1038         onclick="show_limit_cookie_lifetime_opts(false)"></td>
1039       <td class="noc1" align="center" valign="middle"><input type="radio"
1040         name="limit_cookie_lifetime" value="X" @limit-cookie-lifetime-x@
1041         onclick="show_limit_cookie_lifetime_opts(false)"></td>
1042       <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-COOKIE-LIFETIME">limit-cookie-lifetime</a></td>
1043       <td>Limit the cookie lifetime specified in Set-Cookie headers.</td>
1044     </tr>
1045     <tr class="bg1" align="left" valign="top" id="limit_cookie_lifetime_opts">
1046       <td class="en1">&nbsp;</td>
1047       <td class="dis1">&nbsp;</td>
1048       <td class="noc1">&nbsp;</td>
1049       <td>&nbsp;</td>
1050       <td>Lifetime limit in minutes (or 0 to behave like
1051         <a href="@user-manual@@actions-help-prefix@LIMIT-COOKIE-LIFETIME">session-cookies-only</a>):<br>
1052         <input type="text" name="limit_cookie_lifetime_mode" size="40"
1053         value="@limit-cookie-lifetime-param@"></td>
1054     </tr>
1055     <tr class="bg1" align="left" valign="top">
1056       <td class="en1" align="center" valign="middle"><input type="radio"
1057         name="overwrite_last_modified" value="Y" @overwrite-last-modified-y@
1058         ></td>
1059       <td class="dis1" align="center" valign="middle"><input type="radio"
1060         name="overwrite_last_modified" value="N" @overwrite-last-modified-n@
1061         ></td>
1062       <td class="noc1" align="center" valign="middle"><input type="radio"
1063         name="overwrite_last_modified" value="X" @overwrite-last-modified-x@
1064         ></td>
1065       <td class="action"><a href="@user-manual@@actions-help-prefix@OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></td>
1066       <td>Remove or randomize the Last-Modified header.</td>
1067     </tr>
1068     <tr class="bg1" align="left" valign="top" id="overwrite_last_modified_opts">
1069       <td class="en1">&nbsp;</td>
1070       <td class="dis1">&nbsp;</td>
1071       <td class="noc1">&nbsp;</td>
1072       <td>&nbsp;</td>
1073       <td><input type="radio" name="overwrite_last_modified_mode" value="block"
1074         onclick="overwrite_last_modified_param_disable(true)"
1075         @overwrite-last-modified-param-block@ id="overwrite_last_modified_mode_block"><label
1076         for="overwrite_last_modified_mode_block">Remove without replacement.</label>
1077         <br>
1078         <input type="radio" name="overwrite_last_modified_mode" value="reset-to-request-time"
1079         onclick="overwrite_last_modified_param_disable(true)"
1080         @overwrite-last-modified-param-reset-to-request-time@
1081          id="overwrite_last_modified_mode_reset-to-request-time"><label
1082         for="overwrite_last_modified_mode_reset-to-request-time">Reset to the time of the request.</label>
1083         <br>
1084         <input type="radio" name="overwrite_last_modified_mode" value="randomize"
1085         onclick="overwrite_last_modified_param_disable(true)"
1086         @overwrite-last-modified-param-randomize@
1087          id="overwrite_last_modified_mode_randomize"><label
1088         for="overwrite_last_modified_mode_randomize">Overwrite with random value
1089         between original header value and the time of the request.</label>
1090      </td>
1091     </tr>
1092
1093     <tr class="bg1" align="left" valign="top">
1094       <td class="en1" align="center" valign="middle"><input type="radio"
1095         name="prevent_compression" value="Y" @prevent-compression-y@
1096         ></td>
1097       <td class="dis1" align="center" valign="middle"><input type="radio"
1098         name="prevent_compression" value="N" @prevent-compression-n@
1099         ></td>
1100       <td class="noc1" align="center" valign="middle"><input type="radio"
1101         name="prevent_compression" value="X" @prevent-compression-x@
1102         ></td>
1103       <td class="action"><a href="@user-manual@@actions-help-prefix@PREVENT-COMPRESSION">prevent-compression</a></td>
1104       <td>Disables compression.  Compressed web pages are faster to
1105         download, but cannot be filtered with <a href="@user-manual@@actions-help-prefix@FILTER"><b>filter</b></a>
1106         or <a href="@user-manual@@actions-help-prefix@KILL-POPUPS"><b>kill-popups</b></a>
1107         if your Privoxy version was build without zlib support.</td>
1108     </tr>
1109    <tr class="bg1" align="left" valign="top">
1110       <td class="en1" align="center" valign="middle"><input type="radio"
1111         name="redirect" value="Y" @redirect-y@
1112         ></td>
1113       <td class="dis1" align="center" valign="middle"><input type="radio"
1114         name="redirect" value="N" @redirect-n@
1115         ></td>
1116       <td class="noc1" align="center" valign="middle"><input type="radio"
1117         name="redirect" value="X" @redirect-x@
1118         ></td>
1119       <td class="action"><a href="@user-manual@@actions-help-prefix@REDIRECT">redirect</a></td>
1120       <td>Redirect to another address.
1121     </tr>
1122     <tr class="bg1" align="left" valign="top" id="redirect_opts">
1123       <td class="en1">&nbsp;</td>
1124       <td class="dis1">&nbsp;</td>
1125       <td class="noc1">&nbsp;</td>
1126       <td>&nbsp;</td>
1127       <td>Static address or a single pcrs command to redirect to a rewritten version of the original URL:<br>
1128         <input type="text" name="redirect_mode" size="40"
1129         value="@redirect-param@"></td>
1130     </tr>
1131
1132     <tr class="bg1" align="left" valign="top">
1133       <td class="en1">&nbsp;</td>
1134       <td class="dis1" align="center" valign="middle"><input type="radio"
1135         name="server_header_filter_all" id="server_header_filter_all_n" value="N" @server-header-filter-all-n@ ></td>
1136       <td class="noc1" align="center" valign="middle"><input type="radio"
1137         name="server_header_filter_all" id="server_header_filter_all_x" value="X" @server-header-filter-all-x@ ></td>
1138       <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-FILTER">server-header-filter</a> *</td>
1139       <td>Filter the server headers.
1140         You can use the radio buttons on this line to disable
1141         all server-header filters applied by previous rules, and/or
1142         you can enable or disable the filters individually below.</td>
1143     </tr>
1144 @server-header-filter-params@
1145     <tr class="bg1" align="left" valign="top">
1146       <td class="en1">&nbsp;</td>
1147       <td class="dis1" align="center" valign="middle"><input type="radio"
1148         name="server_header_tagger_all" id="server_header_tagger_all_n" value="N" @server-header-tagger-all-n@ ></td>
1149       <td class="noc1" align="center" valign="middle"><input type="radio"
1150         name="server_header_tagger_all" id="server_header_tagger_all_x" value="X" @server-header-tagger-all-x@ ></td>
1151       <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-TAGGER">server-header-tagger</a> *</td>
1152       <td>Create tags based on the server headers.
1153         You can use the radio buttons on this line to disable
1154         all server-header taggers applied by previous rules, and/or
1155         you can enable or disable the taggers individually below.</td>
1156     </tr>
1157 @server-header-tagger-params@
1158 @suppress-tag-params@
1159     <tr class="bg1" align="left" valign="top">
1160       <td class="en1" align="center" valign="middle"><input type="radio"
1161         name="new_string_filter_r0" value="Y"
1162         ></td>
1163       <td class="dis1" align="center" valign="middle"><input type="radio"
1164         name="new_string_filter_r0" value="N"
1165         ></td>
1166       <td class="noc1" align="center" valign="middle"><input type="radio"
1167         name="new_string_filter_r0" value="X" checked
1168         ></td>
1169       <td class="action"><a href="@user-manual@@actions-help-prefix@SUPPRESS-TAG">suppress-tag</a></td>
1170       <td>Suppress tag.</td>
1171     </tr>
1172     <tr class="bg1" align="left" valign="top" id="suppress-tag_opts">
1173       <td class="en1">&nbsp;</td>
1174       <td class="dis1">&nbsp;</td>
1175       <td class="noc1">&nbsp;</td>
1176       <td>&nbsp;</td>
1177       <td>Tag to suppress:<br>
1178         <input type="hidden" name="new_string_filter_t0" value="U">
1179         <input type="text" name="new_string_filter_n0" size="40" value="">
1180       </td>
1181     </tr>
1182     <tr class="bg1" align="left" valign="top">
1183       <td class="en1" align="center" valign="middle"><input type="radio"
1184         name="session_cookies_only" value="Y" @session-cookies-only-y@
1185         ></td>
1186       <td class="dis1" align="center" valign="middle"><input type="radio"
1187         name="session_cookies_only" value="N" @session-cookies-only-n@
1188         ></td>
1189       <td class="noc1" align="center" valign="middle"><input type="radio"
1190         name="session_cookies_only" value="X" @session-cookies-only-x@
1191         ></td>
1192       <td class="action"><a href="@user-manual@@actions-help-prefix@SESSION-COOKIES-ONLY">session-cookies-only</a></td>
1193       <td>HTTP cookies set by the website are changed to temporary
1194         ("per-session") ones, which only last until you close your web
1195         browser.  This will allow you to use sites that require cookies, but
1196         sites will not be able to track you across sessions.  For this to
1197         be useful, you should disable
1198         <a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES"><b>crunch-outgoing-cookies</b></a> and
1199         <a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES"><b>crunch-incoming-cookies</b></a>.</td>
1200     </tr>
1201     <tr class="bg1" align="left" valign="top">
1202       <td class="en1" align="center" valign="middle"><input type="radio"
1203         name="set_image_blocker" id="set_image_blocker_y" value="Y" @set-image-blocker-y@
1204         onclick="show_set_image_blocker_opts(true)"></td>
1205       <td class="dis1" align="center" valign="middle"><input type="radio"
1206         name="set_image_blocker" value="N" @set-image-blocker-n@
1207         onclick="show_set_image_blocker_opts(false)"></td>
1208       <td class="noc1" align="center" valign="middle"><input type="radio"
1209         name="set_image_blocker" value="X" @set-image-blocker-x@
1210         onclick="show_set_image_blocker_opts(false)"></td>
1211       <td class="action"><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></td>
1212       <td>Specifies how to block images.</td>
1213     </tr>
1214     <tr class="bg1" align="left" valign="top" id="set_image_blocker_opts">
1215       <td class="en1">&nbsp;</td>
1216       <td class="dis1">&nbsp;</td>
1217       <td class="noc1">&nbsp;</td>
1218       <td>&nbsp;</td>
1219       <td><input type="radio" name="set_image_blocker_mode"
1220         onclick="set_image_blocker_param_disable(true)"
1221         value="pattern" id="set_image_blocker_mode_pattern"
1222         @set-image-blocker-param-pattern@><label
1223         for="set_image_blocker_mode_pattern">Send a pattern (<img
1224         src="send-banner?type=p" width="12" height="12"
1225         alt="pattern">)</label><br>
1226         <input type="radio" name="set_image_blocker_mode" value="blank"
1227         onclick="set_image_blocker_param_disable(true)"
1228         id="set_image_blocker_mode_blank" @set-image-blocker-param-blank@><label
1229         for="set_image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
1230         <input type="radio" name="set_image_blocker_mode" value="CUSTOM"
1231         onclick="set_image_blocker_param_disable(false)"
1232         id="set_image_blocker_mode_set" @set-image-blocker-param-custom@><label
1233         for="set_image_blocker_mode_set">Redirect
1234         the browser to this image URL:</label><br>
1235         <input type="text" name="set_image_blocker_param" id="set_image_blocker_param"
1236         size="40" value="@set-image-blocker-param@"></td>
1237     </tr>
1238   </table>
1239
1240 <!-- @if-multiple-forms-start -->
1241   <p>
1242    <input type="hidden" name="f" value="@f@">
1243    <input type="hidden" name="v" value="@v@">
1244    <input type="hidden" name="s" value="@s@">
1245    <input type="submit" value="Submit changes in Section 4" name="Submit">
1246   </p>
1247  </form>
1248 <!-- if-multiple-forms-end@ -->
1249 </td></tr>
1250 <!-- @if-one-form-only-start -->
1251     <tr>
1252       <td class="green" align="center">
1253         <p><input type="submit" value="Submit" name="Submit"></p>
1254       </td>
1255     </tr>
1256 <!-- if-one-form-only-end@ -->
1257     <tr>
1258       <td class="box">
1259         <h2>More Privoxy:</h2>
1260         <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
1261       </td>
1262     </tr>
1263
1264 <!-- @if-have-help-info-start -->
1265     <tr>
1266       <td class="info">
1267
1268 #include mod-local-help
1269
1270       </td>
1271     </tr>
1272 <!-- if-have-help-info-end@ -->
1273
1274     <tr>
1275       <td class="info">
1276
1277 #include mod-support-and-service
1278
1279       </td>
1280     </tr>
1281
1282   </table>
1283 <!-- @if-one-form-only-start -->
1284 </form>
1285 <!-- if-one-form-only-end@ -->
1286
1287 <script type="text/javascript">
1288 <!--
1289
1290 if (document.getElementById) {
1291     // alert("Netscape 6 or IE5");
1292     document.getElementById("hide_from_header_param").disabled = !(document.getElementById("hide_from_header_mode_set").checked);
1293     document.getElementById("hide_referrer_param").disabled = !(document.getElementById("hide_referrer_mode_set").checked);
1294     document.getElementById("set_image_blocker_param").disabled = !(document.getElementById("set_image_blocker_mode_set").checked);
1295
1296     show_add_header_opts    (document.getElementById("add_header_y").checked);
1297     show_deanimate_opts     (document.getElementById("deanimate_gifs_y").checked);
1298     show_hide_from_header_opts(document.getElementById("hide_from_header_y").checked);
1299     show_hide_referrer_opts (document.getElementById("hide_referrer_y").checked);
1300     show_user_agent_opts    (document.getElementById("hide_user_agent_y").checked);
1301     show_set_image_blocker_opts (document.getElementById("set_image_blocker_y").checked);
1302     show_limit_connect_opts (document.getElementById("limit_connect_y").checked);
1303     show_send_wafer_opts    (document.getElementById("send_wafer_y").checked);
1304 } else if (document.all) {
1305     // alert("IE4");
1306     document.myform.hide_from_header_param.disabled = !(document.myform.hide_from_header_mode_set.checked);
1307     document.myform.hide_referrer_param.disabled = !(document.myform.hide_referrer_mode_set.checked);
1308     document.myform.set_image_blocker_param.disabled = !(document.myform.set_image_blocker_mode_set.checked);
1309
1310     show_add_header_opts    (document.myform.add_header_y.checked);
1311     show_deanimate_opts     (document.myform.deanimate_gifs_y.checked);
1312     show_hide_from_header_opts (document.myform.hide_from_header_y.checked);
1313     show_hide_referrer_opts (document.myform.hide_referrer_y.checked);
1314     show_user_agent_opts    (document.myform.hide_user_agent_y.checked);
1315     show_set_image_blocker_opts (document.myform.set_image_blocker_y.checked);
1316     show_limit_connect_opts (document.myform.limit_connect_y.checked);
1317     show_send_wafer_opts    (document.myform.send_wafer_y.checked);
1318 } else if (document.layers) {
1319     // alert("Netscape 4");
1320 }
1321 //-->
1322 </script>
1323
1324
1325 </body>
1326
1327 </html>