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