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