Moving 'alpha' warning to the end of the page
[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 #                IJBSWA team.  http://ijbswa.sourceforge.net
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.13  2002/03/16 14:28:38  jongfoster
36 #    First version of modular filters support
37 #
38 #    Revision 1.12  2002/03/12 01:42:50  oes
39 #    Introduced modular filters
40 #
41 #    Revision 1.11  2002/03/08 18:19:14  jongfoster
42 #    Adding +image-blocker{pattern} option to edit interface
43 #
44 #    Revision 1.10  2002/03/03 10:29:12  swa
45 #    point users to the right feedback forms,
46 #    not necessarily the developer list.
47 #
48 #    Revision 1.9  2002/01/23 00:26:45  jongfoster
49 #    Reducing length of URLs
50 #    Where encoded and unencoded versions of a string existed, removing
51 #    the unencoded one.
52 #
53 #    Revision 1.8  2002/01/17 21:33:00  jongfoster
54 #    Replacing all references to the URL of the config interface
55 #    with @default-cgi@
56 #
57 #    Revision 1.7  2002/01/17 21:21:03  jongfoster
58 #    DOS->Unix line endings
59 #
60 #    Revision 1.6  2001/11/22 21:58:41  jongfoster
61 #    Adding action +no-cookies-keep
62 #
63 #    Revision 1.5  2001/11/13 21:12:17  jongfoster
64 #    Added support for the following actions:
65 #    +downgrade, +limit-connect, +no-compression
66 #
67 #    Revision 1.4  2001/11/13 00:58:18  jongfoster
68 #    New version of actions file editor templates
69 #
70 #
71 ##############################################################################
72 #
73 # Browser support for the JavaScript on this page:
74 #   MS Internet Explorer 5.5 - Tested,   Yes
75 #   Netscape 6.0             - Tested,   Yes
76 #   Netscape 4.75            - Tested,   NO
77 #   Opera 5.12               - Tested,   NO
78 #   MS Internet Explorer 4+  - Untested, Yes
79 #   MS IE 3.x, NS3.x         - Untested, NO
80 #   Mozilla >=0.6            - Untested, Yes
81 #
82 # All browsers should work, you just might not get the pretty DHTML effects.
83 #
84 # The effects that only work under the browsers marked "Yes" above are:
85 #  - Text edit boxes that won't have any effect are disabled.
86 #  - Table rows containing additional settings are hidden if the feature in
87 #    question is disabled.
88 #
89 # There are major kludges to get around these problems with NS4, but they
90 # screw up the HTML too much for other browsers.  If anyone wants to try,
91 # here's some descriptions of the kludges:
92 #    http://www.webreference.com/js/tips/991114.html
93 #    http://www.webreference.com/dhtml/column12/outDisplay.html
94 #
95 # If you're favorite browser isn't listed, please test and add it.
96 #
97 #
98 #############################################################################
99 #
100 # Standard support:
101 #
102 # This file currently produces valid HTML 4.01 Strict.
103 #
104 # If you change it, please save the generated page from your web browser
105 # and then upload it to http://validator.w3.org/ for checking.
106 #
107 #############################################################################
108 #
109 # Available variables include:
110 #
111 # action-name-y
112 # action-name-n
113 # action-name-x
114 #
115 # deanimate-gifs-param-first
116 # deanimate-gifs-param-last
117 # hide-from-param-block
118 # hide-from-param-custom
119 # hide-from-param
120 # hide-referer-param-forge
121 # hide-referer-param-block
122 # hide-referer-param-custom
123 # hide-referer-param
124 # hide-user-agent-param
125 # image-blocker-param-pattern
126 # image-blocker-param-logo
127 # image-blocker-param-blank
128 # image-blocker-param-custom
129 #
130 #
131 #############################################################################
132 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
133 <html>
134
135 <head>
136 <meta http-equiv="Content-Style-Type" content="text/css">
137 <meta http-equiv="Content-Script-Type" content="text/javascript">
138 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
139 <meta name="robots" content="noindex,nofollow">
140
141 <title>JunkBuster: Edit actions</title>
142
143 <style type="text/css">
144 body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif;
145                background-color: #ffffff;
146                color: #000000            }
147 td.action    { font-weight: bold;
148                font-style: italic;
149                white-space: nowrap       }
150 td.subaction { font-style: italic        }
151 th           { font-weight: bold;        }
152 # This is the key to the color names below:
153 # bg=background, en="Enable", dis="Disable", noc="No Change", hdr=header
154 # 1=odd rows, 2=even rows, h=Table header
155 tr.hdr       { background-color: #999999 }
156 tr.bg1       { background-color: #eeeeee }
157 td.en1       { background-color: #eeffee }
158 td.dis1      { background-color: #ffeeee }
159 td.noc1      { background-color: #eeeeff }
160 tr.bg2       { background-color: #dddddd }
161 td.en2       { background-color: #ddffdd }
162 td.dis2      { background-color: #ffdddd }
163 td.noc2      { background-color: #ddddff }
164 th.enh       { background-color: #99ff99 }
165 th.dish      { background-color: #ff9999 }
166 th.noch      { background-color: #9999ff }
167 table.wide   { border-color: white;
168                border-style: solid;
169                border-left-width: 10px;
170                border-right-width: 10px;
171                border-top-width: 0px;
172                border-bottom-width: 0px  }
173 td.light     { background-color: #eeeeee }
174 td.dark      { background-color: #dddddd }
175 td.green     { background-color: #ddffdd }
176 </style>
177
178 <script type="text/javascript">
179 <!--
180
181 function hide_from_param_disable(tf)
182 {
183     if (document.getElementById) {
184         // NS6 or IE5
185         document.getElementById("hide_from_param").disabled = tf;
186     } else if (document.all) {
187         // IE4
188         document.myform.hide_from_param.disabled = tf;
189     }
190 }
191
192 function hide_referer_param_disable(tf)
193 {
194     if (document.getElementById) {
195         document.getElementById("hide_referer_param").disabled = tf;
196     } else if (document.all) {
197         document.myform.hide_referer_param.disabled = tf;
198     }
199 }
200
201 function image_blocker_param_disable(tf)
202 {
203     if (document.getElementById) {
204         document.getElementById("image_blocker_param").disabled = tf;
205     } else if (document.all) {
206         document.myform.image_blocker_param.disabled = tf;
207     }
208 }
209
210 function show_add_header_opts(tf)
211 {
212     if (document.getElementById) {
213         target = document.getElementById("add_header_opts");
214     } else if (document.all) {
215         target = document.add_header_opts;
216     } else {
217         return;
218     }
219     target.style.display = (tf ? "" : "none");
220 }
221
222 function show_deanimate_opts(tf)
223 {
224     if (document.getElementById) {
225         target = document.getElementById("deanimate_opts");
226     } else if (document.all) {
227         target = document.deanimate_opts;
228     } else {
229         return;
230     }
231     target.style.display = (tf ? "" : "none");
232 }
233
234 function show_hide_from_opts(tf)
235 {
236     if (document.getElementById) {
237         target = document.getElementById("hide_from_opts");
238     } else if (document.all) {
239         target = document.hide_from_opts;
240     } else {
241         return;
242     }
243     target.style.display = (tf ? "" : "none");
244 }
245
246 function show_hide_referer_opts(tf)
247 {
248     if (document.getElementById) {
249         target = document.getElementById("hide_referer_opts");
250     } else if (document.all) {
251         target = document.hide_referer_opts;
252     } else {
253         return;
254     }
255     target.style.display = (tf ? "" : "none");
256 }
257
258 function show_user_agent_opts(tf)
259 {
260     if (document.getElementById) {
261         target = document.getElementById("user_agent_opts");
262     } else if (document.all) {
263         target = document.user_agent_opts;
264     } else {
265         return;
266     }
267     target.style.display = (tf ? "" : "none");
268 }
269
270 function show_image_blocker_opts(tf)
271 {
272     if (document.getElementById) {
273         target = document.getElementById("image_blocker_opts");
274     } else if (document.all) {
275         target = document.image_blocker_opts;
276     } else {
277         return;
278     }
279     target.style.display = (tf ? "" : "none");
280 }
281
282 function show_limit_connect_opts(tf)
283 {
284     if (document.getElementById) {
285         target = document.getElementById("limit_connect_opts");
286     } else if (document.all) {
287         target = document.limit_connect_opts;
288     } else {
289         return;
290     }
291     target.style.display = (tf ? "" : "none");
292 }
293
294 function show_wafer_opts(tf)
295 {
296     if (document.getElementById) {
297         target = document.getElementById("wafer_opts");
298     } else if (document.all) {
299         target = document.wafer_opts;
300     } else {
301         return;
302     }
303     target.style.display = (tf ? "" : "none");
304 }
305
306 //-->
307 </script>
308 </head>
309
310 <body>
311
312 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
313
314   <table cellpadding="20" cellspacing="10" border="0" width="100%">
315     <tr>
316       <td class="dark">
317         <p><b><big><big>This is the Internet 
318           J</big>UNK</big><i style="color: #ff0000">BUSTER</i><big><big>
319           @version@ on @my-hostname@ (@my-ip-address@),
320           port @my-port@, 
321           @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@</big></big></b></p>
322       </td>
323     </tr>
324
325     <tr>
326       <td class="light">
327         <h2>Edit Actions
328           <input type="hidden" name="f" value="@f@">
329           <input type="hidden" name="v" value="@v@">
330           <input type="hidden" name="s" value="@s@">
331         </h2>
332       </td>
333     </tr>
334   </table>
335
336   <table border="0" width="100%" cellspacing="2" class="wide">
337     <tr class="hdr" align="left">
338       <th class="enh" align="center">Enable</th>
339       <th class="dish" align="center">Disable</th>
340       <th class="noch" align="center">No Change</th>
341       <th>Action</th>
342       <th>Description</th>
343     </tr>
344     <tr class="bg1" align="left" valign="top">
345       <td class="en1" align="center" valign="middle"><input type="radio"
346         name="add_header" id="add_header_y" value="Y" @add-header-y@
347         onclick="show_add_header_opts(true)"></td>
348       <td class="dis1" align="center" valign="middle"><input type="radio"
349         name="add_header" value="N" @add-header-n@
350         onclick="show_add_header_opts(false)"></td>
351       <td class="noc1" align="center" valign="middle"><input type="radio"
352         name="add_header" value="X" @add-header-x@
353         onclick="show_add_header_opts(false)"></td>
354       <td class="action">+add-header</td>
355       <td>Adds HTTP headers.</td>
356     </tr>
357     <tr class="bg1" align="left" valign="top" id="add_header_opts">
358       <td class="en1">&nbsp;</td>
359       <td class="dis1">&nbsp;</td>
360       <td class="noc1">&nbsp;</td>
361       <td>&nbsp;</td>
362       <td>Editing the settings for this option, or turning
363         it on if it was off, is not yet supported using this web-based
364         editor.</td>
365     </tr>
366     <tr class="bg2" align="left" valign="top">
367       <td class="en2" align="center" valign="middle"><input type="radio"
368         name="block" value="Y" @block-y@
369         ></td>
370       <td class="dis2" align="center" valign="middle"><input type="radio"
371         name="block" value="N" @block-n@
372         ></td>
373       <td class="noc2" align="center" valign="middle"><input type="radio"
374         name="block" value="X" @block-x@
375         ></td>
376       <td class="action">+block</td>
377       <td>Block the request</td>
378     </tr>
379     <tr class="bg1" align="left" valign="top">
380       <td class="en1" align="center" valign="middle"><input type="radio"
381         name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
382         onclick="show_deanimate_opts(true)"></td>
383       <td class="dis1" align="center" valign="middle"><input type="radio"
384         name="deanimate_gifs" value="N" @deanimate-gifs-n@
385         onclick="show_deanimate_opts(false)"></td>
386       <td class="noc1" align="center" valign="middle"><input type="radio"
387         name="deanimate_gifs" value="X" @deanimate-gifs-x@
388         onclick="show_deanimate_opts(false)"></td>
389       <td class="action">+deanimate-gifs</td>
390       <td>Replace animated GIFs with their (first/last) frame.</td>
391     </tr>
392     <tr class="bg1" align="left" valign="top" id="deanimate_opts">
393       <td class="en1">&nbsp;</td>
394       <td class="dis1">&nbsp;</td>
395       <td class="noc1">&nbsp;</td>
396       <td>&nbsp;</td>
397       <td>Use the <input type="radio" name="deanimate_gifs_mode"
398         value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
399         for="deanimate_first">first frame</label>&nbsp;&nbsp; <input
400         type="radio" name="deanimate_gifs_mode" value="last" 
401         id="deanimate_last" @deanimate-gifs-param-last@><label
402         for="deanimate_last">last frame</label></td>
403     </tr>
404     <tr class="bg2" align="left" valign="top">
405       <td class="en2" align="center" valign="middle"><input type="radio"
406         name="fast_redirects" value="Y" @fast-redirects-y@
407         ></td>
408       <td class="dis2" align="center" valign="middle"><input type="radio"
409         name="fast_redirects" value="N" @fast-redirects-n@
410         ></td>
411       <td class="noc2" align="center" valign="middle"><input type="radio"
412         name="fast_redirects" value="X" @fast-redirects-x@
413         ></td>
414       <td class="action">+fast-redirects</td>
415       <td>Bypass some tracking URLs.</td>
416     </tr>
417     <tr class="bg1" align="left" valign="top">
418       <td class="en1" align="center" valign="middle"><input type="radio"
419         name="downgrade" value="Y" @downgrade-y@></td>
420       <td class="dis1" align="center" valign="middle"><input type="radio"
421         name="downgrade" value="N" @downgrade-n@></td>
422       <td class="noc1" align="center" valign="middle"><input type="radio"
423         name="downgrade" value="X" @downgrade-x@></td>
424       <td class="action">+downgrade</td>
425       <td>Change HTTP/1.1 requests to HTTP/1.0.  Only change if you know
426         what you're doing!</td>
427     </tr>
428     <tr class="bg2" align="left" valign="top">
429       <td class="en2">&nbsp;</td>
430       <td class="dis2">&nbsp;</td>
431       <td class="noc2">&nbsp;</td>
432       <td class="action">+filter</td>
433       <td>Filter the website through regular expression filters.
434         You can enable or disable the filters individually.</td>
435     </tr>
436
437     <tr class="bg2" align="left" valign="top">
438       <td class="en2">&nbsp;</td>
439       <td class="dis2" align="center" valign="middle"><input type="radio"
440         name="filter_all" id="filter_all_n" value="N" @filter-all-n@ ></td>
441       <td class="noc2" align="center" valign="middle"><input type="radio"
442         name="filter_all" id="filter_all_x" value="X" @filter-all-x@ ></td>
443       <td class="subaction" colspan="2">&nbsp;&nbsp;All filters applied by previous rules</td>
444     </tr>
445 @filter-params@
446     <tr class="bg1" align="left" valign="top">
447       <td class="en1" align="center" valign="middle"><input type="radio"
448         name="hide_forwarded" value="Y" @hide-forwarded-y@
449         ></td>
450       <td class="dis1" align="center" valign="middle"><input type="radio"
451         name="hide_forwarded" value="N" @hide-forwarded-n@
452         ></td>
453       <td class="noc1" align="center" valign="middle"><input type="radio"
454         name="hide_forwarded" value="X" @hide-forwarded-x@
455         ></td>
456       <td class="action">+hide-forwarded</td>
457       <td>Block any existing X-Forwarded-for header, and do not add a new one.</td>
458     </tr>
459     <tr class="bg2" align="left" valign="top">
460       <td class="en2" align="center" valign="middle"><input type="radio"
461         name="hide_from" id="hide_from_y" value="Y" @hide-from-y@
462         onclick="show_hide_from_opts(true)"></td>
463       <td class="dis2" align="center" valign="middle"><input type="radio"
464         name="hide_from" value="N" @hide-from-n@
465         onclick="show_hide_from_opts(false)"></td>
466       <td class="noc2" align="center" valign="middle"><input type="radio"
467         name="hide_from" value="X" @hide-from-x@
468         onclick="show_hide_from_opts(false)"></td>
469       <td class="action">+hide-from</td>
470       <td>Stop old web browsers from sending the user's e-mail address with
471         every request.</td>
472     </tr>
473     <tr class="bg2" align="left" valign="top" id="hide_from_opts">
474       <td class="en2">&nbsp;</td>
475       <td class="dis2">&nbsp;</td>
476       <td class="noc2">&nbsp;</td>
477       <td>&nbsp;</td>
478       <td><input type="radio" name="hide_from_mode" value="block"
479         onclick="hide_from_param_disable(true);"
480         @hide-from-param-block@ id="from_mode_block"><label
481         for="from_mode_block">Remove completely</label><br>
482         <input type="radio" name="hide_from_mode" value="CUSTOM" 
483         onclick="hide_from_param_disable(false);"
484         @hide-from-param-custom@ id="from_mode_set"><label
485         for="from_mode_set">Fake e-mail address:</label><br>
486         <input type="text" name="hide_from_param" id="hide_from_param"
487         size="40" value="@hide-from-param@"></td>
488     </tr>
489     <tr class="bg1" align="left" valign="top">
490       <td class="en1" align="center" valign="middle"><input type="radio"
491         name="hide_referer" id="hide_referer_y" value="Y" @hide-referer-y@
492         onclick="show_hide_referer_opts(true)"></td>
493       <td class="dis1" align="center" valign="middle"><input type="radio"
494         name="hide_referer" id="hide_referer_n" value="N" @hide-referer-n@
495         onclick="show_hide_referer_opts(false)"></td>
496       <td class="noc1" align="center" valign="middle"><input type="radio"
497         name="hide_referer" id="hide_referer_x" value="X" @hide-referer-x@
498         onclick="show_hide_referer_opts(false)"
499         ></td>
500       <td class="action">+hide-referer</td>
501       <td>Helps prevent tracking by not sending the URL of the previous web
502         page.&nbsp;</td>
503     </tr>
504     <tr class="bg1" align="left" valign="top" id="hide_referer_opts">
505       <td class="en1">&nbsp;</td>
506       <td class="dis1">&nbsp;</td>
507       <td class="noc1">&nbsp;</td>
508       <td>&nbsp;</td>
509       <td><input type="radio" name="hide_referer_mode" value="block"
510         onclick="hide_referer_param_disable(true)"
511         @hide-referer-param-block@ id="referer_mode_block"><label
512         for="referer_mode_block">Remove completely</label> (breaks images
513         on some free web hosts).<br>
514         <input type="radio" name="hide_referer_mode" value="forge"
515         onclick="hide_referer_param_disable(true)"
516         @hide-referer-param-forge@ id="referer_mode_forge"><label
517         for="referer_mode_forge">Fake as the root directory of the
518         site</label> (fools checks for in-site links.)<br>
519         <input type="radio" name="hide_referer_mode" value="CUSTOM"
520         onclick="hide_referer_param_disable(false)"
521         @hide-referer-param-custom@ id="referer_mode_set"><label
522         for="referer_mode_set">Fake as this web address:</label><br>
523         <input type="text" name="hide_referer_param" 
524         id="hide_referer_param" size="40"
525         value="@hide-referer-param@"></td>
526     </tr>
527     <tr class="bg2" align="left" valign="top">
528       <td class="en2" align="center" valign="middle"><input type="radio"
529         name="hide_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
530         onclick="show_user_agent_opts(true)"></td>
531       <td class="dis2" align="center" valign="middle"><input type="radio"
532         name="hide_user_agent" value="N" @hide-user-agent-n@
533         onclick="show_user_agent_opts(false)"></td>
534       <td class="noc2" align="center" valign="middle"><input type="radio"
535         name="hide_user_agent" value="X" @hide-user-agent-x@
536         onclick="show_user_agent_opts(false)"></td>
537       <td class="action">+hide-user-agent</td>
538       <td>Pretend to be using a different web browser.&nbsp; (Breaks many web
539         sites).</td>
540     </tr>
541     <tr class="bg2" align="left" valign="top" id="user_agent_opts">
542       <td class="en2">&nbsp;</td>
543       <td class="dis2">&nbsp;</td>
544       <td class="noc2">&nbsp;</td>
545       <td>&nbsp;</td>
546       <td>User Agent string to send:<br>
547         <input type="text" name="hide_user_agent_mode" size="40"
548         value="@hide-user-agent-param@"></td>
549     </tr>
550     <tr class="bg1" align="left" valign="top">
551       <td class="en1" align="center" valign="middle"><input type="radio"
552         name="image" value="Y" @image-y@
553         ></td>
554       <td class="dis1" align="center" valign="middle"><input type="radio"
555         name="image" value="N" @image-n@
556         ></td>
557       <td class="noc1" align="center" valign="middle"><input type="radio"
558         name="image" value="X" @image-x@
559         ></td>
560       <td class="action">+image</td>
561       <td>Request is for an image (only useful in conjunction with the <i><b>+block</b></i>
562         and <i><b>+image-blocker</b></i> options).</td>
563     </tr>
564     <tr class="bg2" align="left" valign="top">
565       <td class="en2" align="center" valign="middle"><input type="radio"
566         name="image_blocker" id="image_blocker_y" value="Y" @image-blocker-y@
567         onclick="show_image_blocker_opts(true)"></td>
568       <td class="dis2" align="center" valign="middle"><input type="radio"
569         name="image_blocker" value="N" @image-blocker-n@
570         onclick="show_image_blocker_opts(false)"></td>
571       <td class="noc2" align="center" valign="middle"><input type="radio"
572         name="image_blocker" value="X" @image-blocker-x@
573         onclick="show_image_blocker_opts(false)"></td>
574       <td class="action">+image-blocker</td>
575       <td>Specifies how to block images.&nbsp; Disable to always send a HTML
576         &quot;blocked&quot; page.</td>
577     </tr>
578     <tr class="bg2" align="left" valign="top" id="image_blocker_opts">
579       <td class="en2">&nbsp;</td>
580       <td class="dis2">&nbsp;</td>
581       <td class="noc2">&nbsp;</td>
582       <td>&nbsp;</td>
583       <td><input type="radio" name="image_blocker_mode"
584         onclick="image_blocker_param_disable(true)"
585         value="pattern" id="image_blocker_mode_pattern"
586         @image-blocker-param-pattern@><label
587         for="image_blocker_mode_pattern">Send a pattern (<img
588         src="send-banner?type=p" width="12" height="12"
589         alt="pattern">)</label><br>
590         <input type="radio" name="image_blocker_mode"
591         onclick="image_blocker_param_disable(true)"
592         value="logo" id="image_blocker_mode_logo" @image-blocker-param-logo@><label
593         for="image_blocker_mode_logo">Send Junkbuster logo
594         (<img src="send-banner?type=l" alt="logo">)</label><br>
595         <input type="radio" name="image_blocker_mode" value="blank"
596         onclick="image_blocker_param_disable(true)"
597         id="image_blocker_mode_blank" @image-blocker-param-blank@><label 
598         for="image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
599         <input type="radio" name="image_blocker_mode" value="CUSTOM"
600         onclick="image_blocker_param_disable(false)"
601         id="image_blocker_mode_set" @image-blocker-param-custom@><label
602         for="image_blocker_mode_set">Redirect
603         the browser to this image URL:</label><br>
604         <input type="text" name="image_blocker_param" id="image_blocker_param"
605         size="40" value="@image-blocker-param@"></td>
606     </tr>
607     <tr class="bg1" align="left" valign="top">
608       <td class="en1" align="center" valign="middle"><input type="radio"
609         name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
610         onclick="show_limit_connect_opts(true)"></td>
611       <td class="dis1" align="center" valign="middle"><input type="radio"
612         name="limit_connect" value="N" @limit-connect-n@
613         onclick="show_limit_connect_opts(false)"></td>
614       <td class="noc1" align="center" valign="middle"><input type="radio"
615         name="limit_connect" value="X" @limit-connect-x@
616         onclick="show_limit_connect_opts(false)"></td>
617       <td class="action">+limit-connect</td>
618       <td>Specify which ports are allowed for SSL (HTTP CONNECT) access.
619         Note that this allows arbitrary tunnelling, so opening all
620         ports would be a security hole.</td>
621     </tr>
622     <tr class="bg1" align="left" valign="top" id="limit_connect_opts">
623       <td class="en1">&nbsp;</td>
624       <td class="dis1">&nbsp;</td>
625       <td class="noc1">&nbsp;</td>
626       <td>&nbsp;</td>
627       <td>Legal SSL ports (comma separated, ranges allowed):<br>
628         <input type="text" name="limit_connect_mode" size="40"
629         value="@limit-connect-param@"></td>
630     </tr>
631     <tr class="bg2" align="left" valign="top">
632       <td class="en2" align="center" valign="middle"><input type="radio"
633         name="no_compression" value="Y" @no-compression-y@
634         ></td>
635       <td class="dis2" align="center" valign="middle"><input type="radio"
636         name="no_compression" value="N" @no-compression-n@
637         ></td>
638       <td class="noc2" align="center" valign="middle"><input type="radio"
639         name="no_compression" value="X" @no-compression-x@
640         ></td>
641       <td class="action">+no-compression</td>
642       <td>Disables compression.  Compressed web pages are faster to
643         download, but cannot be filtered with +filter or +no-popups.
644         This setting only affects the few web sites which support
645         compression.</td>
646     </tr>
647     <tr class="bg1" align="left" valign="top">
648       <td class="en1" align="center" valign="middle"><input type="radio"
649         name="no_cookies_keep" value="Y" @no-cookies-keep-y@
650         ></td>
651       <td class="dis1" align="center" valign="middle"><input type="radio"
652         name="no_cookies_keep" value="N" @no-cookies-keep-n@
653         ></td>
654       <td class="noc1" align="center" valign="middle"><input type="radio"
655         name="no_cookies_keep" value="X" @no-cookies-keep-x@
656         ></td>
657       <td class="action">+no-cookies-keep</td>
658       <td>Any cookies set by the website are changed to temporary
659         ("per-session") ones, which only last until you close your web
660         browser.  This will allow you to use sites that require cookies, but
661         sites will not be able to track you across sessions.  For this to
662         be useful, you should disable <b><i>no-cookies-read</i></b> and
663         <b><i>no-cookies-set</i></b>.</td>
664     </tr>
665     <tr class="bg2" align="left" valign="top">
666       <td class="en2" align="center" valign="middle"><input type="radio"
667         name="no_cookies_read" value="Y" @no-cookies-read-y@
668         ></td>
669       <td class="dis2" align="center" valign="middle"><input type="radio"
670         name="no_cookies_read" value="N" @no-cookies-read-n@
671         ></td>
672       <td class="noc2" align="center" valign="middle"><input type="radio"
673         name="no_cookies_read" value="X" @no-cookies-read-x@
674         ></td>
675       <td class="action">+no-cookies-read</td>
676       <td>Prevent the website from reading cookies.</td>
677     </tr>
678     <tr class="bg1" align="left" valign="top">
679       <td class="en1" align="center" valign="middle"><input type="radio"
680         name="no_cookies_set" value="Y" @no-cookies-set-y@
681         ></td>
682       <td class="dis1" align="center" valign="middle"><input type="radio"
683         name="no_cookies_set" value="N" @no-cookies-set-n@
684         ></td>
685       <td class="noc1" align="center" valign="middle"><input type="radio"
686         name="no_cookies_set" value="X" @no-cookies-set-x@
687         ></td>
688       <td class="action">+no-cookies-set</td>
689       <td>Prevent the website from setting cookies.</td>
690     </tr>
691     <tr class="bg2" align="left" valign="top">
692       <td class="en2" align="center" valign="middle"><input type="radio"
693         name="no_popups" value="Y" @no-popups-y@
694         ></td>
695       <td class="dis2" align="center" valign="middle"><input type="radio"
696         name="no_popups" value="N" @no-popups-n@
697         ></td>
698       <td class="noc2" align="center" valign="middle"><input type="radio"
699         name="no_popups" value="X" @no-popups-x@
700         ></td>
701       <td class="action">+no-popups</td>
702       <td>Filter the website through a built-in filter to disable JavaScript
703         pop-up windows.</td>
704     </tr>
705     <tr class="bg1" align="left" valign="top">
706       <td class="en1" align="center" valign="middle"><input type="radio"
707         name="vanilla_wafer" value="Y" @vanilla-wafer-y@
708         ></td>
709       <td class="dis1" align="center" valign="middle"><input type="radio"
710         name="vanilla_wafer" value="N" @vanilla-wafer-n@
711         ></td>
712       <td class="noc1" align="center" valign="middle"><input type="radio"
713         name="vanilla_wafer" value="X" @vanilla-wafer-x@
714         ></td>
715       <td class="action">+vanilla-wafer</td>
716       <td>If you use a jarfile, automatically adds a special wafer.</td>
717     </tr>
718     <tr class="bg2" align="left" valign="top">
719       <td class="en2" align="center" valign="middle"><input type="radio"
720         name="wafer" id="wafer_y" value="Y" @wafer-y@
721         onclick="show_wafer_opts(true)"></td>
722       <td class="dis2" align="center" valign="middle"><input type="radio"
723         name="wafer" id="wafer_n" value="N" @wafer-n@
724         onclick="show_wafer_opts(false)"></td>
725       <td class="noc2" align="center" valign="middle"><input type="radio"
726         name="wafer" id="wafer_x" value="X" @wafer-x@
727         onclick="show_wafer_opts(false)"></td>
728       <td class="action">+wafer</td>
729       <td>Adds user-specified cookies.</td>
730     </tr>
731     <tr class="bg2" align="left" valign="top" id="wafer_opts">
732       <td class="en2">&nbsp;</td>
733       <td class="dis2">&nbsp;</td>
734       <td class="noc2">&nbsp;</td>
735       <td>&nbsp;</td>
736       <td>Editing the settings for this option, or turning
737         it on if it was off, is not yet supported using this web-based
738         editor.</td>
739     </tr>
740   </table>
741
742
743 <script type="text/javascript">
744 <!--
745
746 if (document.getElementById) {
747     // alert("Netscape 6 or IE5");
748     document.getElementById("hide_from_param").disabled = !(document.getElementById("from_mode_set").checked);
749     document.getElementById("hide_referer_param").disabled = !(document.getElementById("referer_mode_set").checked);
750     document.getElementById("image_blocker_param").disabled = !(document.getElementById("image_blocker_mode_set").checked);
751
752     show_add_header_opts    (document.getElementById("add_header_y").checked);
753     show_deanimate_opts     (document.getElementById("deanimate_gifs_y").checked);
754     show_hide_from_opts     (document.getElementById("hide_from_y").checked);
755     show_hide_referer_opts  (document.getElementById("hide_referer_y").checked);
756     show_user_agent_opts    (document.getElementById("hide_user_agent_y").checked);
757     show_image_blocker_opts (document.getElementById("image_blocker_y").checked);
758     show_limit_connect_opts (document.getElementById("limit_connect_y").checked);
759     show_wafer_opts         (document.getElementById("wafer_y").checked);
760 } else if (document.all) {
761     // alert("IE4");
762     document.myform.hide_from_param.disabled = !(document.myform.from_mode_set.checked);
763     document.myform.hide_referer_param.disabled = !(document.myform.referer_mode_set.checked);
764     document.myform.image_blocker_param.disabled = !(document.myform.image_blocker_mode_set.checked);
765
766     show_add_header_opts    (document.myform.add_header_y.checked);
767     show_deanimate_opts     (document.myform.deanimate_gifs_y.checked);
768     show_hide_from_opts     (document.myform.hide_from_y.checked);
769     show_hide_referer_opts  (document.myform.hide_referer_y.checked);
770     show_user_agent_opts    (document.myform.hide_user_agent_y.checked);
771     show_image_blocker_opts (document.myform.image_blocker_y.checked);
772     show_limit_connect_opts (document.myform.limit_connect_y.checked);
773     show_wafer_opts         (document.myform.wafer_y.checked);
774 } else if (document.layers) {
775     // alert("Netscape 4");
776 }
777 //-->
778 </script>
779
780   <table cellpadding="20" cellspacing="10" border="0" width="100%">
781     <tr>
782       <td class="green" align="center">
783         <p><input type="submit" value="Submit" name="Submit"></p>
784       </td>
785     </tr>
786
787     <tr>
788       <td class="dark">
789         <h2>More Junkbuster:</h2>
790         <ul>@menu@</ul>
791       </td>
792     </tr>
793
794     <tr>
795       <td>
796         <small><small>Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></small></small>
797       </td>
798     </tr>
799
800   </table>
801 </form>
802
803 </body>
804
805 </html>
806