Merge branch 'master' of ssh://git.privoxy.org:23/git/privoxy
[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_header_filter_all" id="client_header_filter_all_n" value="N" @client-header-filter-all-n@ ></td>
361       <td class="noc1" align="center" valign="middle"><input type="radio"
362         name="client_header_filter_all" id="client_header_filter_all_x" value="X" @client-header-filter-all-x@ ></td>
363       <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-FILTER">client-header-filter</a> *</td>
364       <td>Filter the client headers.
365         You can use the radio buttons on this line to disable
366         all client-header filters applied by previous rules, and/or
367         you can enable or disable the filters individually below.</td>
368     </tr>
369 @client-header-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_tagger_all" id="client_header_tagger_all_n" value="N" @client-header-tagger-all-n@ ></td>
374       <td class="noc1" align="center" valign="middle"><input type="radio"
375         name="client_header_tagger_all" id="client_header_tagger_all_x" value="X" @client-header-tagger-all-x@ ></td>
376       <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-TAGGER">client-header-tagger</a> *</td>
377       <td>Create tags based on the client headers.
378         You can use the radio buttons on this line to disable
379         all client-header taggers applied by previous rules, and/or
380         you can enable or disable the taggers individually below.</td>
381     </tr>
382 @client-header-tagger-params@
383    <tr class="bg1" align="left" valign="top">
384       <td class="en1" align="center" valign="middle"><input type="radio"
385         name="content_type_overwrite" value="Y" @content-type-overwrite-y@
386         ></td>
387       <td class="dis1" align="center" valign="middle"><input type="radio"
388         name="content_type_overwrite" value="N" @content-type-overwrite-n@
389         ></td>
390       <td class="noc1" align="center" valign="middle"><input type="radio"
391         name="content_type_overwrite" value="X" @content-type-overwrite-x@
392         ></td>
393       <td class="action"><a href="@user-manual@@actions-help-prefix@CONTENT-TYPE-OVERWRITE">content-type-overwrite</a></td>
394       <td>Replace Content-Type header. By default it only applies to
395          text documents, but if you know what you're doing you
396          can enable force-text-mode to modify binary content types as well.</td>
397     </tr>
398     <tr class="bg1" align="left" valign="top" id="content_type_overwrite_opts">
399       <td class="en1">&nbsp;</td>
400       <td class="dis1">&nbsp;</td>
401       <td class="noc1">&nbsp;</td>
402       <td>&nbsp;</td>
403       <td>New Content-Type:<br>
404         <input type="text" name="content_type_overwrite_mode" size="40"
405         value="@content-type-overwrite-param@"></td>
406     </tr>
407     <tr class="bg1" align="left" valign="top">
408       <td class="en1" align="center" valign="middle"><input type="radio"
409         name="crunch_client_header" id="crunch_client_header_y" value="Y" @crunch-client-header-y@
410         ></td>
411       <td class="dis1" align="center" valign="middle"><input type="radio"
412         name="crunch_client_header" value="N" @crunch-client-header-n@
413         ></td>
414       <td class="noc1" align="center" valign="middle"><input type="radio"
415         name="crunch_client_header" value="X" @crunch-client-header-x@
416         ></td>
417       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-CLIENT-HEADER">crunch-client-header</a></td>
418       <td>Remove header(s) matching the supplied pattern.</td>
419     </tr>
420     <tr class="bg1" align="left" valign="top" id="crunch_client_header_opts">
421       <td class="en1">&nbsp;</td>
422       <td class="dis1">&nbsp;</td>
423       <td class="noc1">&nbsp;</td>
424       <td>&nbsp;</td>
425       <td>Header string to suppress:<br>
426         <input type="text" name="crunch_client_header_mode" size="40"
427         value="@crunch-client-header-param@"></td>
428     </tr>
429     <tr class="bg1" align="left" valign="top">
430       <td class="en1" align="center" valign="middle"><input type="radio"
431         name="crunch_if_none_match" value="Y" @crunch-if-none-match-y@
432         ></td>
433       <td class="dis1" align="center" valign="middle"><input type="radio"
434         name="crunch_if_none_match" value="N" @crunch-if-none-match-n@
435         ></td>
436       <td class="noc1" align="center" valign="middle"><input type="radio"
437         name="crunch_if_none_match" value="X" @crunch-if-none-match-x@
438         ></td>
439       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a></td>
440       <td>Remove If-None-Match header. Useful for filter testing
441          and to make sure the header can't be used to track your visits.</td>
442     </tr>
443
444     <tr class="bg1" align="left" valign="top">
445       <td class="en1" align="center" valign="middle"><input type="radio"
446         name="crunch_incoming_cookies" value="Y" @crunch-incoming-cookies-y@
447         ></td>
448       <td class="dis1" align="center" valign="middle"><input type="radio"
449         name="crunch_incoming_cookies" value="N" @crunch-incoming-cookies-n@
450         ></td>
451       <td class="noc1" align="center" valign="middle"><input type="radio"
452         name="crunch_incoming_cookies" value="X" @crunch-incoming-cookies-x@
453         ></td>
454       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></td>
455       <td>Prevent the website from setting HTTP cookies on your system.</td>
456     </tr>
457     <tr class="bg1" align="left" valign="top">
458       <td class="en1" align="center" valign="middle"><input type="radio"
459         name="crunch_outgoing_cookies" value="Y" @crunch-outgoing-cookies-y@
460         ></td>
461       <td class="dis1" align="center" valign="middle"><input type="radio"
462         name="crunch_outgoing_cookies" value="N" @crunch-outgoing-cookies-n@
463         ></td>
464       <td class="noc1" align="center" valign="middle"><input type="radio"
465         name="crunch_outgoing_cookies" value="X" @crunch-outgoing-cookies-x@
466         ></td>
467       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></td>
468       <td>Prevent the website from reading HTTP cookies from 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_server_header" id="crunch_server_header_y" value="Y" @crunch-server-header-y@
473         ></td>
474       <td class="dis1" align="center" valign="middle"><input type="radio"
475         name="crunch_server_header" value="N" @crunch-server-header-n@
476         ></td>
477       <td class="noc1" align="center" valign="middle"><input type="radio"
478         name="crunch_server_header" value="X" @crunch-server-header-x@
479         ></td>
480       <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-SERVER-HEADER">crunch-server-header</a></td>
481       <td>Remove server header(s) matching the supplied pattern.</td>
482     </tr>
483     <tr class="bg1" align="left" valign="top" id="crunch_server_header_opts">
484       <td class="en1">&nbsp;</td>
485       <td class="dis1">&nbsp;</td>
486       <td class="noc1">&nbsp;</td>
487       <td>&nbsp;</td>
488       <td>Header string to suppress:<br>
489         <input type="text" name="crunch_server_header_mode" size="40"
490         value="@crunch-server-header-param@"></td>
491     </tr>
492
493     <tr class="bg1" align="left" valign="top">
494       <td class="en1" align="center" valign="middle"><input type="radio"
495         name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
496         onclick="show_deanimate_opts(true)"></td>
497       <td class="dis1" align="center" valign="middle"><input type="radio"
498         name="deanimate_gifs" value="N" @deanimate-gifs-n@
499         onclick="show_deanimate_opts(false)"></td>
500       <td class="noc1" align="center" valign="middle"><input type="radio"
501         name="deanimate_gifs" value="X" @deanimate-gifs-x@
502         onclick="show_deanimate_opts(false)"></td>
503       <td class="action"><a href="@user-manual@@actions-help-prefix@DEANIMATE-GIFS">deanimate-gifs</a></td>
504       <td>Replace animated GIFs with their (first/last) frame.</td>
505     </tr>
506     <tr class="bg1" align="left" valign="top" id="deanimate_opts">
507       <td class="en1">&nbsp;</td>
508       <td class="dis1">&nbsp;</td>
509       <td class="noc1">&nbsp;</td>
510       <td>&nbsp;</td>
511       <td>Use the <input type="radio" name="deanimate_gifs_mode"
512         value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
513         for="deanimate_first">first frame</label>&nbsp;&nbsp; <input
514         type="radio" name="deanimate_gifs_mode" value="last"
515         id="deanimate_last" @deanimate-gifs-param-last@><label
516         for="deanimate_last">last frame</label></td>
517     </tr>
518     <tr class="bg1" align="left" valign="top">
519       <td class="en1" align="center" valign="middle"><input type="radio"
520         name="delay_response" value="Y" @delay-response-y@
521         ></td>
522       <td class="dis1" align="center" valign="middle"><input type="radio"
523         name="delay_response" value="N" @delay-response-n@
524         ></td>
525       <td class="noc1" align="center" valign="middle"><input type="radio"
526         name="delay_response" value="X" @delay-response-x@
527         ></td>
528       <td class="action"><a href="@user-manual@@actions-help-prefix@DELAY-RESPONSE">delay-response</a></td>
529       <td>Send the response in ca. 10 byte chunks and delay each chunk.</td>
530     </tr>
531     <tr class="bg1" align="left" valign="top" id="delay-response_opts">
532       <td class="en1">&nbsp;</td>
533       <td class="dis1">&nbsp;</td>
534       <td class="noc1">&nbsp;</td>
535       <td>&nbsp;</td>
536       <td>Number of milliseconds to delay chunks:<br>
537         <input type="text" name="delay_response_mode" size="40" value="@delay-response-param@">
538       </td>
539     </tr>
540     <tr class="bg1" align="left" valign="top">
541       <td class="en1" align="center" valign="middle"><input type="radio"
542         name="downgrade_http_version" value="Y" @downgrade-http-version-y@></td>
543       <td class="dis1" align="center" valign="middle"><input type="radio"
544         name="downgrade_http_version" value="N" @downgrade-http-version-n@></td>
545       <td class="noc1" align="center" valign="middle"><input type="radio"
546         name="downgrade_http_version" value="X" @downgrade-http-version-x@></td>
547       <td class="action"><a href="@user-manual@@actions-help-prefix@DOWNGRADE-HTTP-VERSION"
548        >downgrade-http-version</a></td>
549       <td>Change HTTP/1.1 requests to HTTP/1.0.  Only change if you know
550         what you're doing!</td>
551     </tr>
552
553 <!-- @if-external-content-filters-start -->
554     <tr class="bg1" align="left" valign="top">
555       <td class="en1">&nbsp;</td>
556       <td class="dis1" align="center" valign="middle"><input type="radio"
557         name="external_content_filter_all" id="external_content_filter_all_n" value="N" @external-content-filter-all-n@ ></td>
558       <td class="noc1" align="center" valign="middle"><input type="radio"
559         name="external_content_filter_all" id="external_content_filter_all_x" value="X" @external-content-filter-all-x@ ></td>
560       <td class="action"><a href="@user-manual@@actions-help-prefix@EXTERNAL_FILTER">external-filter</a> *</td>
561       <td>Filter the website through external scripts or programs.
562         You can use the radio buttons on this line to disable
563         all filters applied by previous rules, and/or you can enable or
564         disable the filters individually below.</td>
565     </tr>
566
567 @external-content-filter-params@
568 <!-- if-external-content-filters-end@ -->
569
570     <tr class="bg1" align="left" valign="top">
571       <td class="en1" align="center" valign="middle"><input type="radio"
572         name="fast_redirects" value="Y" @fast-redirects-y@
573         ></td>
574       <td class="dis1" align="center" valign="middle"><input type="radio"
575         name="fast_redirects" value="N" @fast-redirects-n@
576         ></td>
577       <td class="noc1" align="center" valign="middle"><input type="radio"
578         name="fast_redirects" value="X" @fast-redirects-x@
579         ></td>
580       <td class="action"><a href="@user-manual@@actions-help-prefix@FAST-REDIRECTS">fast-redirects</a></td>
581       <td>Bypass some click-tracking URLs.</td>
582     </tr>
583     <tr class="bg1" align="left" valign="top" id="fast-redirects_opts">
584       <td class="en1">&nbsp;</td>
585       <td class="dis1">&nbsp;</td>
586       <td class="noc1">&nbsp;</td>
587       <td>&nbsp;</td>
588       <td>
589        <input type="radio" name="fast_redirects_mode"
590         value="simple-check" id="fast_redirects_simple_check" @fast-redirects-param-simple-check@><label
591         for="fast_redirects_simple_check">Simple check.</label>
592        <br>
593        <input type="radio" name="fast_redirects_mode" value="check-decoded-url"
594         id="fast_redirects_check_decoded_url" @fast-redirects-param-check-decoded-url@><label
595         for="fast_redirects_check_decoded_url">Decode URL before checking.</label></td>
596     </tr>
597 <!-- @if-multiple-forms-start -->
598    </table>
599    <p>
600     <input type="hidden" name="f" value="@f@">
601     <input type="hidden" name="v" value="@v@">
602     <input type="hidden" name="s" value="@s@">
603     <input type="submit" value="Submit changes in Section 1" name="Submit">
604   </p>
605   </form>
606  </td></tr>
607  <tr><td class="wrapbox">
608   <form method="GET" action="edit-actions-submit" id="myform-2" name="myform">
609   <h2>Edit Actions (Section 2)</h2>
610   <table summary="Action section 2" border="0" cellspacing="2" width="100%" class="wide">
611     <tr class="hdr" align="left">
612       <th class="enh" align="center">Enable</th>
613       <th class="dish" align="center">Disable</th>
614       <th class="noch" align="center">No Change</th>
615       <th>Action</th>
616       <th>Description</th>
617     </tr>
618 <!-- if-multiple-forms-end@ -->
619     <tr class="bg1" align="left" valign="top">
620       <td class="en1">&nbsp;</td>
621       <td class="dis1" align="center" valign="middle"><input type="radio"
622         name="filter_all" id="filter_all_n" value="N" @filter-all-n@ ></td>
623       <td class="noc1" align="center" valign="middle"><input type="radio"
624         name="filter_all" id="filter_all_x" value="X" @filter-all-x@ ></td>
625       <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER">filter</a> *</td>
626       <td>Filter the website through regular expression
627         filters.  You can use the radio buttons on this line to disable
628         all filters applied by previous rules, and/or you can enable or
629         disable the filters individually below.</td>
630     </tr>
631
632 @content-filter-params@
633
634 <!-- @if-multiple-forms-start -->
635    </table>
636    <p>
637     <input type="hidden" name="f" value="@f@">
638     <input type="hidden" name="v" value="@v@">
639     <input type="hidden" name="s" value="@s@">
640     <input type="submit" value="Submit changes in Section 2" name="Submit">
641    </p>
642   </form>
643  </td></tr>
644  <tr><td class="wrapbox">
645   <form method="GET" action="edit-actions-submit" id="myform-3" name="myform">
646   <h2>Edit Actions (Section 3)</h2>
647   <table summary="Action section 3" border="0" cellspacing="2" width="100%" class="wide">
648     <tr class="hdr" align="left">
649       <th class="enh" align="center">Enable</th>
650       <th class="dish" align="center">Disable</th>
651       <th class="noch" align="center">No Change</th>
652       <th>Action</th>
653       <th>Description</th>
654     </tr>
655 <!-- if-multiple-forms-end@ -->
656    <tr class="bg1" align="left" valign="top">
657       <td class="en1" align="center" valign="middle"><input type="radio"
658         name="force_text_mode" value="Y" @force-text-mode-y@
659         ></td>
660       <td class="dis1" align="center" valign="middle"><input type="radio"
661         name="force_text_mode" value="N" @force-text-mode-n@
662         ></td>
663       <td class="noc1" align="center" valign="middle"><input type="radio"
664         name="force_text_mode" value="X" @force-text-mode-x@
665         ></td>
666       <td class="action"><a href="@user-manual@@actions-help-prefix@FORCE-TEXT-MODE">force-text-mode</a></td>
667       <td>
668        Enable filtering on documents whose Content-Type wasn't recognized as text.
669        Do think twice, nothing is alright.
670      </td>
671     </tr>
672     <tr class="bg1" align="left" valign="top">
673       <td class="en1" align="center" valign="middle"><input type="radio"
674         name="forward_override" id="forward_override_y" value="Y" @forward-override-y@
675         ></td>
676       <td class="dis1" align="center" valign="middle"><input type="radio"
677         name="forward_override" id="forward_override_n" value="N" @forward-override-n@
678         ></td>
679       <td class="noc1" align="center" valign="middle"><input type="radio"
680         name="forward_override" id="forward_override_x" value="X" @forward-override-x@
681         ></td>
682       <td class="action"><a href="@user-manual@@actions-help-prefix@FORWARD-OVERRIDE">forward-override</a></td>
683       <td>Override forward directives in the configuration file.
684           Note that the <a href="@user-manual@actions-file.html#FORWARD-OVERRIDE">parameter syntax</a>
685           isn't checked until the action is used. <strong class="warning">Syntax errors
686           will cause Privoxy to exit.</strong></td>
687     </tr>
688     <tr class="bg1" align="left" valign="top" id="forward_override_language_opts">
689       <td class="en1">&nbsp;</td>
690       <td class="dis1">&nbsp;</td>
691       <td class="noc1">&nbsp;</td>
692       <td>&nbsp;</td>
693       <td>
694         Overriding forward directive:<br>
695         <input type="text" name="forward_override_param"
696         id="forward_override_param" size="40"
697         value="@forward-override-param@"><br>
698      </td>
699     </tr>
700    <tr class="bg1" align="left" valign="top">
701       <td class="en1" align="center" valign="middle"><input type="radio"
702         name="handle_as_empty_document" value="Y" @handle-as-empty-document-y@
703         ></td>
704       <td class="dis1" align="center" valign="middle"><input type="radio"
705         name="handle_as_empty_document" value="N" @handle-as-empty-document-n@
706         ></td>
707       <td class="noc1" align="center" valign="middle"><input type="radio"
708         name="handle_as_empty_document" value="X" @handle-as-empty-document-x@
709         ></td>
710       <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></td>
711       <td>
712        Block with an <em>empty</em> document instead of an Image or HTML message.
713        The <em>empty</em> document contains only a space and can safely be parsed
714        as JavaScript or Style Sheet. Use content-type-overwrite to specify the
715        Content-Type, default is <q>text/html</q>.
716      </td>
717     </tr>
718     <tr class="bg1" align="left" valign="top">
719       <td class="en1" align="center" valign="middle"><input type="radio"
720         name="handle_as_image" value="Y" @handle-as-image-y@
721         ></td>
722       <td class="dis1" align="center" valign="middle"><input type="radio"
723         name="handle_as_image" value="N" @handle-as-image-n@
724         ></td>
725       <td class="noc1" align="center" valign="middle"><input type="radio"
726         name="handle_as_image" value="X" @handle-as-image-x@
727         ></td>
728       <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-IMAGE">handle-as-image</a></td>
729       <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>
730         and <i><b><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></b></i> actions).</td>
731     </tr>
732     <tr class="bg1" align="left" valign="top">
733       <td class="en1" align="center" valign="middle"><input type="radio"
734         name="hide_accept_language" id="hide_accept_language_y" value="Y" @hide-accept-language-y@
735         onclick="show_hide_accept_language_opts(true)"></td>
736       <td class="dis1" align="center" valign="middle"><input type="radio"
737         name="hide_accept_language" id="hide_accept_language_n" value="N" @hide-accept-language-n@
738         onclick="show_hide_accept_language_opts(false)"></td>
739       <td class="noc1" align="center" valign="middle"><input type="radio"
740         name="hide_accept_language" id="hide_accept_language_x" value="X" @hide-accept-language-x@
741         onclick="show_hide_accept_language_opts(false)"
742         ></td>
743       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-ACCEPT-LANGUAGE">hide-accept-language</a></td>
744       <td>Pretend to have different language settings. (Makes a fake User-Agent more believable,
745           but you may end up with content in the language you pretended to understand.)</td>
746     </tr>
747     <tr class="bg1" align="left" valign="top" id="hide_accept-language_opts">
748       <td class="en1">&nbsp;</td>
749       <td class="dis1">&nbsp;</td>
750       <td class="noc1">&nbsp;</td>
751       <td>&nbsp;</td>
752       <td><input type="radio" name="hide_accept_language_mode" value="block"
753         onclick="hide_accept_language_param_disable(true)"
754         @hide-accept-language-param-block@ id="hide_accept_language_mode_block"><label
755         for="hide_accept_language_mode_block">Remove Accept-Language header without replacement.</label>
756         <br>
757         <input type="radio" name="hide_accept_language_mode" value="CUSTOM"
758         onclick="hide_accept_language_param_disable(false)"
759         @hide-accept-language-param-custom@ id="hide_accept_language_mode_set"><label
760         for="hide_accept_language_mode_set">Fake these language settings:</label><br>
761         <input type="text" name="hide_accept_language_param"
762         id="hide_accept_language_param" size="40"
763         value="@hide-accept-language-param@"><br>
764      </td>
765     </tr>
766     <tr class="bg1" align="left" valign="top">
767       <td class="en1" align="center" valign="middle"><input type="radio"
768         name="hide_content_disposition" id="hide_content_disposition_y" value="Y" @hide-content-disposition-y@
769         onclick="show_hide_content_disposition_opts(true)"></td>
770       <td class="dis1" align="center" valign="middle"><input type="radio"
771         name="hide_content_disposition" id="hide_content_disposition_n" value="N" @hide-content-disposition-n@
772         onclick="show_hide_content_disposition_opts(false)"></td>
773       <td class="noc1" align="center" valign="middle"><input type="radio"
774         name="hide_content_disposition" id="hide_content_disposition_x" value="X" @hide-content-disposition-x@
775         onclick="show_hide_content_disposition_opts(false)"
776         ></td>
777       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-CONTENT-DISPOSITION">hide-content-disposition</a></td>
778       <td>Block or overwrite the content-disposition header. Useful to view a document inside the browser,
779        even if you were supposed to save it first, or to change the suggested file name.</td>
780     </tr>
781     <tr class="bg1" align="left" valign="top" id="hide_content_disposition_opts">
782       <td class="en1">&nbsp;</td>
783       <td class="dis1">&nbsp;</td>
784       <td class="noc1">&nbsp;</td>
785       <td>&nbsp;</td>
786       <td><input type="radio" name="hide_content_disposition_mode" value="block"
787         onclick="hide_content_disposition_param_disable(true)"
788         @hide-content-disposition-param-block@ id="hide_content_disposition_mode_block"><label
789         for="hide_content_disposition_mode_block">Remove content-disposition header without replacement.</label>
790         <br>
791         <input type="radio" name="hide_content_disposition_mode" value="CUSTOM"
792         onclick="hide_content_disposition_param_disable(false)"
793         @hide-content-disposition-param-custom@ id="hide_content_disposition_mode_set"><label
794         for="hide_content_disposition_mode_set">Overwrite content-dispostion header with:</label><br>
795         <input type="text" name="hide_content_disposition_param"
796         id="hide_content_disposition_param" size="40"
797         value="@hide-content-disposition-param@"><br>
798      </td>
799     </tr>
800     <tr class="bg1" align="left" valign="top">
801       <td class="en1" align="center" valign="middle"><input type="radio"
802         name="hide_from_header" id="hide_from_header_y" value="Y" @hide-from-header-y@
803         onclick="show_hide_from_header_opts(true)"></td>
804       <td class="dis1" align="center" valign="middle"><input type="radio"
805         name="hide_from_header" value="N" @hide-from-header-n@
806         onclick="show_hide_from_header_opts(false)"></td>
807       <td class="noc1" align="center" valign="middle"><input type="radio"
808         name="hide_from_header" value="X" @hide-from-header-x@
809         onclick="show_hide_from_header_opts(false)"></td>
810       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FROM-HEADER">hide-from-header</a></td>
811       <td>Stop old web browsers from sending the user's e-mail address with
812         every request.</td>
813     </tr>
814     <tr class="bg1" align="left" valign="top" id="hide_from_header_opts">
815       <td class="en1">&nbsp;</td>
816       <td class="dis1">&nbsp;</td>
817       <td class="noc1">&nbsp;</td>
818       <td>&nbsp;</td>
819       <td><input type="radio" name="hide_from_header_mode" value="block"
820         onclick="hide_from_header_param_disable(true);"
821         @hide-from-header-param-block@ id="hide_from_header_mode_block"><label
822         for="hide_from_header_mode_block">Remove completely</label><br>
823         <input type="radio" name="hide_from_header_mode" value="CUSTOM"
824         onclick="hide_from_header_param_disable(false);"
825         @hide-from-header-param-custom@ id="hide_from_header_mode_set"><label
826         for="hide_from_header_mode_set">Fake e-mail address:</label><br>
827         <input type="text" name="hide_from_header_param" id="hide_from_header_param"
828         size="40" value="@hide-from-header-param@"></td>
829     </tr>
830
831    <tr class="bg1" align="left" valign="top">
832       <td class="en1" align="center" valign="middle"><input type="radio"
833         name="hide_if_modified_since" value="Y" @hide-if-modified-since-y@
834         ></td>
835       <td class="dis1" align="center" valign="middle"><input type="radio"
836         name="hide_if_modified_since" value="N" @hide-if-modified-since-n@
837         ></td>
838       <td class="noc1" align="center" valign="middle"><input type="radio"
839         name="hide_if_modified_since" value="X" @hide-if-modified-since-x@
840         ></td>
841       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></td>
842       <td>Remove or randomize the If-Modified-Since header.</td>
843     </tr>
844     <tr class="bg1" align="left" valign="top" id="hide_if-modifed-since_opts">
845       <td class="en1">&nbsp;</td>
846       <td class="dis1">&nbsp;</td>
847       <td class="noc1">&nbsp;</td>
848       <td>&nbsp;</td>
849       <td><input type="radio" name="hide_if_modified_since_mode" value="block"
850         onclick="hide_if_modified_since_param_disable(true)"
851         @hide-if-modified-since-param-block@ id="hide_if_modified_since_mode_block"><label
852         for="hide_if_modified_since_mode_block">Remove without replacement.</label>
853         Useful for filter testing.<br>
854         <input type="radio" name="hide_if_modified_since_mode" value="CUSTOM"
855         onclick="hide_if_modified_since_param_disable(true)"
856         @hide-if-modified-since-param-custom@ id="hide_if_modified_since_mode_set"><label
857         for="hide_if_modified_since_mode_set">Add random amount of seconds in the range of</label>
858         <input type="text" name="hide_if_modified_since_param"
859         id="hide_if_modified_since_param" size="4"
860         value="@hide-if-modified-since-param@"> minute(s).
861         To appreciate this option a small amount of paranoia is required,
862         but at least in theory the If-Modified-Since header could be used
863         to keep track of your visits.
864      </td>
865     </tr>
866 <!-- @if-multiple-forms-start -->
867    </table>
868    <p>
869     <input type="hidden" name="f" value="@f@">
870     <input type="hidden" name="v" value="@v@">
871     <input type="hidden" name="s" value="@s@">
872     <input type="submit" value="Submit changes in Section 3" name="Submit">
873    </p>
874   </form>
875  </td></tr>
876  <tr><td class="wrapbox">
877   <form method="GET" action="edit-actions-submit" id="myform-4" name="myform">
878   <h2>Edit Actions (Section 4)</h2>
879   <table summary="Action section 4" border="0" cellspacing="2" width="100%" class="wide">
880     <tr class="hdr" align="left">
881       <th class="enh" align="center">Enable</th>
882       <th class="dish" align="center">Disable</th>
883       <th class="noch" align="center">No Change</th>
884       <th>Action</th>
885       <th>Description</th>
886     </tr>
887 <!-- if-multiple-forms-end@ -->
888     <tr class="bg1" align="left" valign="top">
889       <td class="en1" align="center" valign="middle"><input type="radio"
890         name="hide_referrer" id="hide_referrer_y" value="Y" @hide-referrer-y@
891         onclick="show_hide_referrer_opts(true)"></td>
892       <td class="dis1" align="center" valign="middle"><input type="radio"
893         name="hide_referrer" id="hide_referrer_n" value="N" @hide-referrer-n@
894         onclick="show_hide_referrer_opts(false)"></td>
895       <td class="noc1" align="center" valign="middle"><input type="radio"
896         name="hide_referrer" id="hide_referrer_x" value="X" @hide-referrer-x@
897         onclick="show_hide_referrer_opts(false)"
898         ></td>
899       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-REFERRER">hide-referrer</a></td>
900       <td>Helps prevent tracking by not sending the URL of the previous web
901         page.&nbsp;</td>
902     </tr>
903     <tr class="bg1" align="left" valign="top" id="hide_referrer_opts">
904       <td class="en1">&nbsp;</td>
905       <td class="dis1">&nbsp;</td>
906       <td class="noc1">&nbsp;</td>
907       <td>&nbsp;</td>
908       <td><input type="radio" name="hide_referrer_mode" value="block"
909         onclick="hide_referrer_param_disable(true)"
910         @hide-referrer-param-block@ id="hide_referrer_mode_block"><label
911         for="hide_referrer_mode_block">Remove completely</label> (breaks images
912         on some free web hosts).<br>
913         <input type="radio" name="hide_referrer_mode" value="forge"
914         onclick="hide_referrer_param_disable(true)"
915         @hide-referrer-param-forge@ id="hide_referrer_mode_forge"><label
916         for="hide_referrer_mode_forge">Fake as the root directory of the
917         site</label> (fools checks for in-site links.)<br>
918         <input type="radio" name="hide_referrer_mode" value="CUSTOM"
919         onclick="hide_referrer_param_disable(false)"
920         @hide-referrer-param-custom@ id="hide_referrer_mode_set"><label
921         for="hide_referrer_mode_set">Fake as this web address:</label><br>
922         <input type="text" name="hide_referrer_param"
923         id="hide_referrer_param" size="40"
924         value="@hide-referrer-param@"><br>
925         <input type="radio" name="hide_referrer_mode" value="conditional-block"
926         onclick="hide_referrer_param_disable(true)"
927         @hide-referrer-param-conditional-block@ id="hide_referrer_mode_conditional-block"><label
928         for="hide_referrer_mode_conditional-block">Remove completely if host has changed,
929         but don't touch in-site referrers.
930         Less suspicious than the options above.</label><br>
931         <input type="radio" name="hide_referrer_mode" value="conditional-forge"
932         onclick="hide_referrer_param_disable(true)"
933         @hide-referrer-param-conditional-forge@ id="hide_referrer_mode_conditional-forge"><label
934         for="hide_referrer_mode_conditional-forge">Forge referrer if host has
935         changed, but don't touch in-site referrers.</label><br>
936       </td>
937     </tr>
938     <tr class="bg1" align="left" valign="top">
939       <td class="en1" align="center" valign="middle"><input type="radio"
940         name="hide_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
941         onclick="show_user_agent_opts(true)"></td>
942       <td class="dis1" align="center" valign="middle"><input type="radio"
943         name="hide_user_agent" value="N" @hide-user-agent-n@
944         onclick="show_user_agent_opts(false)"></td>
945       <td class="noc1" align="center" valign="middle"><input type="radio"
946         name="hide_user_agent" value="X" @hide-user-agent-x@
947         onclick="show_user_agent_opts(false)"></td>
948       <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-USER-AGENT">hide-user-agent</a></td>
949       <td>Pretend to be using a different web browser.&nbsp; (May cause problems with broken web sites).</td>
950     </tr>
951     <tr class="bg1" align="left" valign="top" id="user_agent_opts">
952       <td class="en1">&nbsp;</td>
953       <td class="dis1">&nbsp;</td>
954       <td class="noc1">&nbsp;</td>
955       <td>&nbsp;</td>
956       <td>User Agent string to send:<br>
957         <input type="text" name="hide_user_agent_mode" size="40"
958         value="@hide-user-agent-param@"></td>
959     </tr>
960
961 <!-- @if-https-inspection-start -->
962    <tr class="bg1" align="left" valign="top">
963       <td class="en1" align="center" valign="middle"><input type="radio"
964         name="https_inspection" value="Y" @https-inspection-y@
965         ></td>
966       <td class="dis1" align="center" valign="middle"><input type="radio"
967         name="https_inspection" value="N" @https-inspection-n@
968         ></td>
969       <td class="noc1" align="center" valign="middle"><input type="radio"
970         name="https_inspection" value="X" @https-inspection-x@
971         ></td>
972       <td class="action"><a href="@user-manual@@actions-help-prefix@HTTPS-INSPECTION">https-inspection</a></td>
973       <td>
974        Enable content and header filtering for https requests.
975      </td>
976     </tr>
977
978    <tr class="bg1" align="left" valign="top">
979       <td class="en1" align="center" valign="middle"><input type="radio"
980         name="ignore_certificate_errors" value="Y" @ignore-certificate-errors-y@
981         ></td>
982       <td class="dis1" align="center" valign="middle"><input type="radio"
983         name="ignore_certificate_errors" value="N" @ignore-certificate-errors-n@
984         ></td>
985       <td class="noc1" align="center" valign="middle"><input type="radio"
986         name="ignore_certificate_errors" value="X" @ignore-certificate-errors-x@
987         ></td>
988       <td class="action"><a href="@user-manual@@actions-help-prefix@IGNORE-CERTIFICATE-ERRORS">ignore-certificate-errors</a></td>
989       <td>
990        Don't verify certificates when forwarding encrypted requests.
991      </td>
992     </tr>
993
994 <!-- if-https-inspection-end@ -->
995
996     <tr class="bg1" align="left" valign="top">
997       <td class="en1" align="center" valign="middle"><input type="radio"
998         name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
999         onclick="show_limit_connect_opts(true)"></td>
1000       <td class="dis1" align="center" valign="middle"><input type="radio"
1001         name="limit_connect" value="N" @limit-connect-n@
1002         onclick="show_limit_connect_opts(false)"></td>
1003       <td class="noc1" align="center" valign="middle"><input type="radio"
1004         name="limit_connect" value="X" @limit-connect-x@
1005         onclick="show_limit_connect_opts(false)"></td>
1006       <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-CONNECT">limit-connect</a></td>
1007       <td>Limit which ports are allowed in HTTP CONNECT requests. These requests are
1008         used to tunnel SSL and other protocols through HTTP proxies.</td>
1009     </tr>
1010     <tr class="bg1" align="left" valign="top" id="limit_connect_opts">
1011       <td class="en1">&nbsp;</td>
1012       <td class="dis1">&nbsp;</td>
1013       <td class="noc1">&nbsp;</td>
1014       <td>&nbsp;</td>
1015       <td>Legal ports (comma separated, ranges allowed):<br>
1016         <input type="text" name="limit_connect_mode" size="40"
1017         value="@limit-connect-param@"></td>
1018     </tr>
1019     <tr class="bg1" align="left" valign="top">
1020       <td class="en1" align="center" valign="middle"><input type="radio"
1021         name="limit_cookie_lifetime" id="limit_cookie_lifetime_y" value="Y" @limit-cookie-lifetime-y@
1022         onclick="show_limit_cookie_lifetime_opts(true)"></td>
1023       <td class="dis1" align="center" valign="middle"><input type="radio"
1024         name="limit_cookie_lifetime" value="N" @limit-cookie-lifetime-n@
1025         onclick="show_limit_cookie_lifetime_opts(false)"></td>
1026       <td class="noc1" align="center" valign="middle"><input type="radio"
1027         name="limit_cookie_lifetime" value="X" @limit-cookie-lifetime-x@
1028         onclick="show_limit_cookie_lifetime_opts(false)"></td>
1029       <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-COOKIE-LIFETIME">limit-cookie-lifetime</a></td>
1030       <td>Limit the cookie lifetime specified in Set-Cookie headers.</td>
1031     </tr>
1032     <tr class="bg1" align="left" valign="top" id="limit_cookie_lifetime_opts">
1033       <td class="en1">&nbsp;</td>
1034       <td class="dis1">&nbsp;</td>
1035       <td class="noc1">&nbsp;</td>
1036       <td>&nbsp;</td>
1037       <td>Lifetime limit in minutes (or 0 to behave like
1038         <a href="@user-manual@@actions-help-prefix@LIMIT-COOKIE-LIFETIME">session-cookies-only</a>):<br>
1039         <input type="text" name="limit_cookie_lifetime_mode" size="40"
1040         value="@limit-cookie-lifetime-param@"></td>
1041     </tr>
1042     <tr class="bg1" align="left" valign="top">
1043       <td class="en1" align="center" valign="middle"><input type="radio"
1044         name="overwrite_last_modified" value="Y" @overwrite-last-modified-y@
1045         ></td>
1046       <td class="dis1" align="center" valign="middle"><input type="radio"
1047         name="overwrite_last_modified" value="N" @overwrite-last-modified-n@
1048         ></td>
1049       <td class="noc1" align="center" valign="middle"><input type="radio"
1050         name="overwrite_last_modified" value="X" @overwrite-last-modified-x@
1051         ></td>
1052       <td class="action"><a href="@user-manual@@actions-help-prefix@OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></td>
1053       <td>Remove or randomize the Last-Modified header.</td>
1054     </tr>
1055     <tr class="bg1" align="left" valign="top" id="overwrite_last_modified_opts">
1056       <td class="en1">&nbsp;</td>
1057       <td class="dis1">&nbsp;</td>
1058       <td class="noc1">&nbsp;</td>
1059       <td>&nbsp;</td>
1060       <td><input type="radio" name="overwrite_last_modified_mode" value="block"
1061         onclick="overwrite_last_modified_param_disable(true)"
1062         @overwrite-last-modified-param-block@ id="overwrite_last_modified_mode_block"><label
1063         for="overwrite_last_modified_mode_block">Remove without replacement.</label>
1064         <br>
1065         <input type="radio" name="overwrite_last_modified_mode" value="reset-to-request-time"
1066         onclick="overwrite_last_modified_param_disable(true)"
1067         @overwrite-last-modified-param-reset-to-request-time@
1068          id="overwrite_last_modified_mode_reset-to-request-time"><label
1069         for="overwrite_last_modified_mode_reset-to-request-time">Reset to the time of the request.</label>
1070         <br>
1071         <input type="radio" name="overwrite_last_modified_mode" value="randomize"
1072         onclick="overwrite_last_modified_param_disable(true)"
1073         @overwrite-last-modified-param-randomize@
1074          id="overwrite_last_modified_mode_randomize"><label
1075         for="overwrite_last_modified_mode_randomize">Overwrite with random value
1076         between original header value and the time of the request.</label>
1077      </td>
1078     </tr>
1079
1080     <tr class="bg1" align="left" valign="top">
1081       <td class="en1" align="center" valign="middle"><input type="radio"
1082         name="prevent_compression" value="Y" @prevent-compression-y@
1083         ></td>
1084       <td class="dis1" align="center" valign="middle"><input type="radio"
1085         name="prevent_compression" value="N" @prevent-compression-n@
1086         ></td>
1087       <td class="noc1" align="center" valign="middle"><input type="radio"
1088         name="prevent_compression" value="X" @prevent-compression-x@
1089         ></td>
1090       <td class="action"><a href="@user-manual@@actions-help-prefix@PREVENT-COMPRESSION">prevent-compression</a></td>
1091       <td>Disables compression.  Compressed web pages are faster to
1092         download, but cannot be filtered with <a href="@user-manual@@actions-help-prefix@FILTER"><b>filter</b></a>
1093         or <a href="@user-manual@@actions-help-prefix@KILL-POPUPS"><b>kill-popups</b></a>
1094         if your Privoxy version was build without zlib support.</td>
1095     </tr>
1096    <tr class="bg1" align="left" valign="top">
1097       <td class="en1" align="center" valign="middle"><input type="radio"
1098         name="redirect" value="Y" @redirect-y@
1099         ></td>
1100       <td class="dis1" align="center" valign="middle"><input type="radio"
1101         name="redirect" value="N" @redirect-n@
1102         ></td>
1103       <td class="noc1" align="center" valign="middle"><input type="radio"
1104         name="redirect" value="X" @redirect-x@
1105         ></td>
1106       <td class="action"><a href="@user-manual@@actions-help-prefix@REDIRECT">redirect</a></td>
1107       <td>Redirect to another address.
1108     </tr>
1109     <tr class="bg1" align="left" valign="top" id="redirect_opts">
1110       <td class="en1">&nbsp;</td>
1111       <td class="dis1">&nbsp;</td>
1112       <td class="noc1">&nbsp;</td>
1113       <td>&nbsp;</td>
1114       <td>Static address or a single pcrs command to redirect to a rewritten version of the original URL:<br>
1115         <input type="text" name="redirect_mode" size="40"
1116         value="@redirect-param@"></td>
1117     </tr>
1118
1119     <tr class="bg1" align="left" valign="top">
1120       <td class="en1">&nbsp;</td>
1121       <td class="dis1" align="center" valign="middle"><input type="radio"
1122         name="server_header_filter_all" id="server_header_filter_all_n" value="N" @server-header-filter-all-n@ ></td>
1123       <td class="noc1" align="center" valign="middle"><input type="radio"
1124         name="server_header_filter_all" id="server_header_filter_all_x" value="X" @server-header-filter-all-x@ ></td>
1125       <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-FILTER">server-header-filter</a> *</td>
1126       <td>Filter the server headers.
1127         You can use the radio buttons on this line to disable
1128         all server-header filters applied by previous rules, and/or
1129         you can enable or disable the filters individually below.</td>
1130     </tr>
1131 @server-header-filter-params@
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_tagger_all" id="server_header_tagger_all_n" value="N" @server-header-tagger-all-n@ ></td>
1136       <td class="noc1" align="center" valign="middle"><input type="radio"
1137         name="server_header_tagger_all" id="server_header_tagger_all_x" value="X" @server-header-tagger-all-x@ ></td>
1138       <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-TAGGER">server-header-tagger</a> *</td>
1139       <td>Create tags based on the server headers.
1140         You can use the radio buttons on this line to disable
1141         all server-header taggers applied by previous rules, and/or
1142         you can enable or disable the taggers individually below.</td>
1143     </tr>
1144 @server-header-tagger-params@
1145     <tr class="bg1" align="left" valign="top">
1146       <td class="en1" align="center" valign="middle"><input type="radio"
1147         name="session_cookies_only" value="Y" @session-cookies-only-y@
1148         ></td>
1149       <td class="dis1" align="center" valign="middle"><input type="radio"
1150         name="session_cookies_only" value="N" @session-cookies-only-n@
1151         ></td>
1152       <td class="noc1" align="center" valign="middle"><input type="radio"
1153         name="session_cookies_only" value="X" @session-cookies-only-x@
1154         ></td>
1155       <td class="action"><a href="@user-manual@@actions-help-prefix@SESSION-COOKIES-ONLY">session-cookies-only</a></td>
1156       <td>HTTP cookies set by the website are changed to temporary
1157         ("per-session") ones, which only last until you close your web
1158         browser.  This will allow you to use sites that require cookies, but
1159         sites will not be able to track you across sessions.  For this to
1160         be useful, you should disable
1161         <a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES"><b>crunch-outgoing-cookies</b></a> and
1162         <a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES"><b>crunch-incoming-cookies</b></a>.</td>
1163     </tr>
1164     <tr class="bg1" align="left" valign="top">
1165       <td class="en1" align="center" valign="middle"><input type="radio"
1166         name="set_image_blocker" id="set_image_blocker_y" value="Y" @set-image-blocker-y@
1167         onclick="show_set_image_blocker_opts(true)"></td>
1168       <td class="dis1" align="center" valign="middle"><input type="radio"
1169         name="set_image_blocker" value="N" @set-image-blocker-n@
1170         onclick="show_set_image_blocker_opts(false)"></td>
1171       <td class="noc1" align="center" valign="middle"><input type="radio"
1172         name="set_image_blocker" value="X" @set-image-blocker-x@
1173         onclick="show_set_image_blocker_opts(false)"></td>
1174       <td class="action"><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></td>
1175       <td>Specifies how to block images.</td>
1176     </tr>
1177     <tr class="bg1" align="left" valign="top" id="set_image_blocker_opts">
1178       <td class="en1">&nbsp;</td>
1179       <td class="dis1">&nbsp;</td>
1180       <td class="noc1">&nbsp;</td>
1181       <td>&nbsp;</td>
1182       <td><input type="radio" name="set_image_blocker_mode"
1183         onclick="set_image_blocker_param_disable(true)"
1184         value="pattern" id="set_image_blocker_mode_pattern"
1185         @set-image-blocker-param-pattern@><label
1186         for="set_image_blocker_mode_pattern">Send a pattern (<img
1187         src="send-banner?type=p" width="12" height="12"
1188         alt="pattern">)</label><br>
1189         <input type="radio" name="set_image_blocker_mode" value="blank"
1190         onclick="set_image_blocker_param_disable(true)"
1191         id="set_image_blocker_mode_blank" @set-image-blocker-param-blank@><label
1192         for="set_image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
1193         <input type="radio" name="set_image_blocker_mode" value="CUSTOM"
1194         onclick="set_image_blocker_param_disable(false)"
1195         id="set_image_blocker_mode_set" @set-image-blocker-param-custom@><label
1196         for="set_image_blocker_mode_set">Redirect
1197         the browser to this image URL:</label><br>
1198         <input type="text" name="set_image_blocker_param" id="set_image_blocker_param"
1199         size="40" value="@set-image-blocker-param@"></td>
1200     </tr>
1201   </table>
1202
1203 <!-- @if-multiple-forms-start -->
1204   <p>
1205    <input type="hidden" name="f" value="@f@">
1206    <input type="hidden" name="v" value="@v@">
1207    <input type="hidden" name="s" value="@s@">
1208    <input type="submit" value="Submit changes in Section 4" name="Submit">
1209   </p>
1210  </form>
1211 <!-- if-multiple-forms-end@ -->
1212 </td></tr>
1213 <!-- @if-one-form-only-start -->
1214     <tr>
1215       <td class="green" align="center">
1216         <p><input type="submit" value="Submit" name="Submit"></p>
1217       </td>
1218     </tr>
1219 <!-- if-one-form-only-end@ -->
1220     <tr>
1221       <td class="box">
1222         <h2>More Privoxy:</h2>
1223         <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
1224       </td>
1225     </tr>
1226
1227 <!-- @if-have-help-info-start -->
1228     <tr>
1229       <td class="info">
1230
1231 #include mod-local-help
1232
1233       </td>
1234     </tr>
1235 <!-- if-have-help-info-end@ -->
1236
1237     <tr>
1238       <td class="info">
1239
1240 #include mod-support-and-service
1241
1242       </td>
1243     </tr>
1244
1245   </table>
1246 <!-- @if-one-form-only-start -->
1247 </form>
1248 <!-- if-one-form-only-end@ -->
1249
1250 <script type="text/javascript">
1251 <!--
1252
1253 if (document.getElementById) {
1254     // alert("Netscape 6 or IE5");
1255     document.getElementById("hide_from_header_param").disabled = !(document.getElementById("hide_from_header_mode_set").checked);
1256     document.getElementById("hide_referrer_param").disabled = !(document.getElementById("hide_referrer_mode_set").checked);
1257     document.getElementById("set_image_blocker_param").disabled = !(document.getElementById("set_image_blocker_mode_set").checked);
1258
1259     show_add_header_opts    (document.getElementById("add_header_y").checked);
1260     show_deanimate_opts     (document.getElementById("deanimate_gifs_y").checked);
1261     show_hide_from_header_opts(document.getElementById("hide_from_header_y").checked);
1262     show_hide_referrer_opts (document.getElementById("hide_referrer_y").checked);
1263     show_user_agent_opts    (document.getElementById("hide_user_agent_y").checked);
1264     show_set_image_blocker_opts (document.getElementById("set_image_blocker_y").checked);
1265     show_limit_connect_opts (document.getElementById("limit_connect_y").checked);
1266     show_send_wafer_opts    (document.getElementById("send_wafer_y").checked);
1267 } else if (document.all) {
1268     // alert("IE4");
1269     document.myform.hide_from_header_param.disabled = !(document.myform.hide_from_header_mode_set.checked);
1270     document.myform.hide_referrer_param.disabled = !(document.myform.hide_referrer_mode_set.checked);
1271     document.myform.set_image_blocker_param.disabled = !(document.myform.set_image_blocker_mode_set.checked);
1272
1273     show_add_header_opts    (document.myform.add_header_y.checked);
1274     show_deanimate_opts     (document.myform.deanimate_gifs_y.checked);
1275     show_hide_from_header_opts (document.myform.hide_from_header_y.checked);
1276     show_hide_referrer_opts (document.myform.hide_referrer_y.checked);
1277     show_user_agent_opts    (document.myform.hide_user_agent_y.checked);
1278     show_set_image_blocker_opts (document.myform.set_image_blocker_y.checked);
1279     show_limit_connect_opts (document.myform.limit_connect_y.checked);
1280     show_send_wafer_opts    (document.myform.send_wafer_y.checked);
1281 } else if (document.layers) {
1282     // alert("Netscape 4");
1283 }
1284 //-->
1285 </script>
1286
1287
1288 </body>
1289
1290 </html>