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