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