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