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