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