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