First version of CGI-based edit interface. This is very much a
[privoxy.git] / templates / edit-actions
1 #
2 #
3 # Available variables:
4 #
5 # deanimate-gifs-param-first
6 # deanimate-gifs-param-last
7 # hide-from-param-block
8 # hide-from-param-custom
9 # hide-from-param
10 # hide-referer-param-forge
11 # hide-referer-param-block
12 # hide-referer-param-custom
13 # hide-referer-param
14 # hide-user-agent-param
15 # image-blocker-param-logo
16 # image-blocker-param-blank
17 # image-blocker-param-custom
18 # image-blocker-param-logo
19 #
20 #
21 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
22 <html>
23
24 <head>
25 <meta http-equiv="Content-Style-Type" content="text/css">
26 <meta http-equiv="Content-Script-Type" content="text/javascript">
27 <meta name="robots" content="noindex,nofollow">
28
29 <title>JunkBuster: Edit actions</title>
30
31 <style type="text/css">
32 body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif }
33 td.action    { font-weight: bold; font-style: italic; white-space: nowrap }
34 th           { font-weight: bold; background-color: #999999 }
35 # This is the key to the color names below:
36 # bg=background, en="Enable", dis="Disable", noc="No Change"
37 # 1=odd rows, 2=even rows, h=Table header
38 tr.bg1       { background-color: #EEEEEE }
39 td.en1       { background-color: #EEFFEE }
40 td.dis1      { background-color: #FFEEEE }
41 td.noc1      { background-color: #EEEEFF }
42 tr.bg2       { background-color: #DDDDDD }
43 td.en2       { background-color: #DDFFDD }
44 td.dis2      { background-color: #FFDDDD }
45 td.noc2      { background-color: #DDDDFF }
46 th.enh       { background-color: #99FF99 }
47 th.dish      { background-color: #FF9999 }
48 th.noch      { background-color: #9999FF }
49 </style>
50
51 <script type="text/javascript">
52 <!--
53 function show_more(target, checkbox)
54 {
55    if (checkbox.checked)
56    { target.style.display = ""; }
57    else
58    { target.style.display = "none"; }
59 }
60
61 function disable_unless(target, checkbox)
62 {
63    target.disabled = !(checkbox.checked);
64 }
65 //-->
66 </script>
67 </head>
68
69 <body>
70
71 <p>&nbsp;</p>
72 <form method="GET" action="http://i.j.b/edit-actions-submit" id="myform">
73   <table border="0" width="100%" cellspacing="0">
74     <tr align="left">
75       <th>Action</th>
76       <th>Description</th>
77       <th class="enh" align="center">Enable</th>
78       <th class="dish" align="center">Disable</th>
79       <th class="noch" align="center">No Change</th>
80     </tr>
81     <tr class="bg1" align="left" valign="top">
82       <td class="action">+add-header</td>
83       <td>Adds HTTP headers.</td>
84       <td class="en1" align="center" valign="middle"><input type="radio"
85         name="add-header" id="add_header_y" value="Y" @add-header-y@
86         onclick="show_more(add_header_opts,add_header_y)"></td>
87       <td class="dis1" align="center" valign="middle"><input type="radio"
88         name="add-header" value="N" @add-header-n@
89         onclick="show_more(add_header_opts,add_header_y)"></td>
90       <td class="noc1" align="center" valign="middle"><input type="radio"
91         name="add-header" value="X" @add-header-x@
92         onclick="show_more(add_header_opts,add_header_y)"></td>
93     </tr>
94     <tr class="bg1" align="left" valign="top" id="add_header_opts">
95       <td>&nbsp;</td>
96       <td colspan="4">To edit the settings for this option, <input
97         type="checkbox" name="add-header-edit" id="add_header_edit"
98         value="ON"><label for="add_header_edit">check here</label> and then
99         click &quot;Submit&quot;.</td>
100     </tr>
101     <tr class="bg2" align="left" valign="top">
102       <td class="action">+block</td>
103       <td>Block the request</td>
104       <td class="en2" align="center" valign="middle"><input type="radio"
105         name="block" value="Y" @block-y@
106         ></td>
107       <td class="dis2" align="center" valign="middle"><input type="radio"
108         name="block" value="N" @block-n@
109         ></td>
110       <td class="noc2" align="center" valign="middle"><input type="radio"
111         name="block" value="X" @block-x@
112         ></td>
113     </tr>
114     <tr class="bg1" align="left" valign="top">
115       <td class="action">+deanimate-gifs</td>
116       <td>Replace animated GIFs with their (first/last) frame.</td>
117       <td class="en1" align="center" valign="middle"><input type="radio"
118         name="deanimate-gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
119         onclick="show_more(deanimate_opts,deanimate_gifs_y)"></td>
120       <td class="dis1" align="center" valign="middle"><input type="radio"
121         name="deanimate-gifs" value="N" @deanimate-gifs-n@
122         onclick="show_more(deanimate_opts,deanimate_gifs_y)"></td>
123       <td class="noc1" align="center" valign="middle"><input type="radio"
124         name="deanimate-gifs" value="X" @deanimate-gifs-x@
125         onclick="show_more(deanimate_opts,deanimate_gifs_y)"></td>
126     </tr>
127     <tr class="bg1" align="left" valign="top" id="deanimate_opts">
128       <td>&nbsp;</td>
129       <td colspan="4">Use the <input type="radio" name="deanimate-gifs-mode"
130         value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
131         for="deanimate_first">first frame</label>&nbsp;&nbsp; <input
132         type="radio" name="deanimate-gifs-mode" value="last" 
133         id="deanimate_last" @deanimate-gifs-param-last@><label
134         for="deanimate_last">last frame</label></td>
135     </tr>
136     <tr class="bg2" align="left" valign="top">
137       <td class="action">+fast-redirects</td>
138       <td>Bypass some tracking URLs.</td>
139       <td class="en2" align="center" valign="middle"><input type="radio"
140         name="fast-redirects" value="Y" @fast-redirects-y@
141         ></td>
142       <td class="dis2" align="center" valign="middle"><input type="radio"
143         name="fast-redirects" value="N" @fast-redirects-n@
144         ></td>
145       <td class="noc2" align="center" valign="middle"><input type="radio"
146         name="fast-redirects" value="X" @fast-redirects-x@
147         ></td>
148     </tr>
149     <tr class="bg1" align="left" valign="top">
150       <td class="action">+filter</td>
151       <td>Filter the website through the re_filterfile</td>
152       <td class="en1" align="center" valign="middle"><input type="radio"
153         name="filter" value="Y" @filter-y@
154         ></td>
155       <td class="dis1" align="center" valign="middle"><input type="radio"
156         name="filter" value="N" @filter-n@ 
157         ></td>
158       <td class="noc1" align="center" valign="middle"><input type="radio"
159         name="filter" value="X" @filter-x@
160          ></td>
161     </tr>
162     <tr class="bg2" align="left" valign="top">
163       <td class="action">+hide-forwarded</td>
164       <td>Block any existing X-Forwarded-for header, and do not add a new one.</td>
165       <td class="en2" align="center" valign="middle"><input type="radio"
166         name="hide-forwarded" value="Y" @hide-forwarded-y@
167         ></td>
168       <td class="dis2" align="center" valign="middle"><input type="radio"
169         name="hide-forwarded" value="N" @hide-forwarded-n@
170         ></td>
171       <td class="noc2" align="center" valign="middle"><input type="radio"
172         name="hide-forwarded" value="X" @hide-forwarded-x@
173         ></td>
174     </tr>
175     <tr class="bg1" align="left" valign="top">
176       <td class="action">+hide-from</td>
177       <td>Stop old web browsers from sending the user's e-mail address with
178         every request.</td>
179       <td class="en1" align="center" valign="middle"><input type="radio"
180         name="hide-from" id="hide_from_y" value="Y" @hide-from-y@
181         onclick="show_more(hide_from_opts,hide_from_y)"></td>
182       <td class="dis1" align="center" valign="middle"><input type="radio"
183         name="hide-from" value="N" @hide-from-n@
184         onclick="show_more(hide_from_opts,hide_from_y)"></td>
185       <td class="noc1" align="center" valign="middle"><input type="radio"
186         name="hide-from" value="X" @hide-from-x@
187         onclick="show_more(hide_from_opts,hide_from_y)"></td>
188     </tr>
189     <tr class="bg1" align="left" valign="top" id="hide_from_opts">
190       <td>&nbsp;</td>
191       <td colspan="4"><input type="radio" name="from-mode" value="block"
192         onclick="disable_unless(from_param, from_mode_set)"
193         @hide-from-param-block@ id="from_mode_block"><label
194         for="from_mode_block">Remove completely</label><br>
195         <input type="radio" name="from-mode" value="CUSTOM" 
196         onclick="disable_unless(from_param, from_mode_set)"
197         @hide-from-param-custom@ id="from_mode_set"><label
198         for="from_mode_set">Fake e-mail address:</label><br>
199         <input type="text" name="from-param" id="from_param" size="40"
200         value="@hide-from-param@"></td>
201     </tr>
202     <tr class="bg2" align="left" valign="top">
203       <td class="action">+hide-referer</td>
204       <td>Helps prevent tracking by not sending the URL of the previous web
205         page.&nbsp;</td>
206       <td class="en2" align="center" valign="middle"><input type="radio"
207         name="hide-referer" id="hide_referer_y" value="Y" @hide-referer-y@
208         onclick="show_more(hide_referer_opts,hide_referer_y)"></td>
209       <td class="dis2" align="center" valign="middle"><input type="radio"
210         name="hide-referer" id="hide_referer_n" value="N" @hide-referer-n@
211         onclick="show_more(hide_referer_opts,hide_referer_y)"></td>
212       <td class="noc2" align="center" valign="middle"><input type="radio"
213         name="hide-referer" id="hide_referer_x" value="X" @hide-referer-x@
214         onclick="show_more(hide_referer_opts,hide_referer_y)"
215         ></td>
216     </tr>
217     <tr class="bg2" align="left" valign="top" id="hide_referer_opts">
218       <td>&nbsp;</td>
219       <td colspan="4"><input type="radio" name="hide-referer-mode" value="block"
220         onclick="disable_unless(hide_referer_param, referer_mode_set)"
221         @hide-referer-param-block@ id="referer_mode_block"><label
222         for="referer_mode_block">Remove completely</label> (breaks images
223         on some free web hosts).<br>
224         <input type="radio" name="hide-referer-mode" value="forge"
225         onclick="disable_unless(hide_referer_param, referer_mode_set)"
226         @hide-referer-param-forge@ id="referer_mode_forge"><label
227         for="referer_mode_forge">Fake as the root directory of the
228         site</label> (fools checks for in-site links.)<br>
229         <input type="radio" name="hide-referer-mode" value="CUSTOM"
230         onclick="disable_unless(hide_referer_param, referer_mode_set)"
231         @hide-referer-param-custom@ id="referer_mode_set"><label
232         for="referer_mode_set">Fake as this web address:</label><br>
233         <input type="text" name="hide-referer-param" 
234         id="hide_referer_param" size="40"
235         value="@hide-referer-param@"></td>
236     </tr>
237     <tr class="bg1" align="left" valign="top">
238       <td class="action">+hide-user-agent</td>
239       <td>Pretend to be using a different web browser.&nbsp; (Breaks many web
240         sites).</td>
241       <td class="en1" align="center" valign="middle"><input type="radio"
242         name="hide-user-agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
243         onclick="show_more(user_agent_opts,hide_user_agent_y)"></td>
244       <td class="dis1" align="center" valign="middle"><input type="radio"
245         name="hide-user-agent" value="N" @hide-user-agent-n@
246         onclick="show_more(user_agent_opts,hide_user_agent_y)"></td>
247       <td class="noc1" align="center" valign="middle"><input type="radio"
248         name="hide-user-agent" value="X" @hide-user-agent-x@
249         onclick="show_more(user_agent_opts,hide_user_agent_y)"></td>
250     </tr>
251     <tr class="bg1" align="left" valign="top" id="user_agent_opts">
252       <td>&nbsp;</td>
253       <td colspan="4">User Agent string to send:<br>
254         <input type="text" name="hide-user-agent-mode" size="40"
255         value="@hide-user-agent-param@"></td>
256     </tr>
257     <tr class="bg2" align="left" valign="top">
258       <td class="action">+image</td>
259       <td>Request is for an image (only useful in conjunction with the <i><b>+block</b></i>
260         and <i><b>+image-blocker</b></i> options).</td>
261       <td class="en2" align="center" valign="middle"><input type="radio"
262         name="image" value="Y" @image-y@
263         ></td>
264       <td class="dis2" align="center" valign="middle"><input type="radio"
265         name="image" value="N" @image-n@
266         ></td>
267       <td class="noc2" align="center" valign="middle"><input type="radio"
268         name="image" value="X" @image-x@
269         ></td>
270     </tr>
271     <tr class="bg1" align="left" valign="top">
272       <td class="action">+image-blocker</td>
273       <td>Specifies how to block images.&nbsp; Disable to always send a HTML
274         &quot;blocked&quot; page.</td>
275       <td class="en1" align="center" valign="middle"><input type="radio"
276         name="image-blocker" id="image_blocker_y" value="Y" @image-blocker-y@
277         onclick="show_more(image_blocker_opts,image_blocker_y)"></td>
278       <td class="dis1" align="center" valign="middle"><input type="radio"
279         name="image-blocker" value="N" @image-blocker-n@
280         onclick="show_more(image_blocker_opts,image_blocker_y)"></td>
281       <td class="noc1" align="center" valign="middle"><input type="radio"
282         name="image-blocker" value="X" @image-blocker-x@
283         onclick="show_more(image_blocker_opts,image_blocker_y)"></td>
284     </tr>
285     <tr class="bg1" align="left" valign="top" id="image_blocker_opts">
286       <td>&nbsp;</td>
287       <td colspan="4"><input type="radio" name="image-blocker-mode"
288         onclick="disable_unless(image_blocker_param, image_blocker_mode_set)"
289         value="logo" id="image_blocker_mode_logo" @image-blocker-param-logo@><label
290         for="image_blocker_mode_logo">Send Junkbuster logo</label><br>
291         <input type="radio" name="image-blocker-mode" value="blank"
292         onclick="disable_unless(image_blocker_param, image_blocker_mode_set)"
293         id="image_blocker_mode_blank" @image-blocker-param-blank@><label 
294         for="image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
295         <input type="radio" name="image-blocker-mode" value="CUSTOM"
296         onclick="disable_unless(image_blocker_param, image_blocker_mode_set)"
297         id="image_blocker_mode_set" @image-blocker-param-custom@><label
298         for="image_blocker_mode_set">Redirect
299         the browser to this image URL:</label><br>
300         <input type="text" name="image-blocker-param" id="image_blocker_param"
301         size="40" value="@image-blocker-param@"></td>
302     </tr>
303     <tr class="bg2" align="left" valign="top">
304       <td class="action">+no-cookies-read</td>
305       <td>Prevent the website from reading cookies</td>
306       <td class="en2" align="center" valign="middle"><input type="radio"
307         name="no-cookies-read" value="Y" @no-cookies-read-y@
308         ></td>
309       <td class="dis2" align="center" valign="middle"><input type="radio"
310         name="no-cookies-read" value="N" @no-cookies-read-n@
311         ></td>
312       <td class="noc2" align="center" valign="middle"><input type="radio"
313         name="no-cookies-read" value="X" @no-cookies-read-x@
314         ></td>
315     </tr>
316     <tr class="bg1" align="left" valign="top">
317       <td class="action">+no-cookies-set</td>
318       <td>Prevent the website from setting cookies</td>
319       <td class="en1" align="center" valign="middle"><input type="radio"
320         name="no-cookies-set" value="Y" @no-cookies-set-y@
321         ></td>
322       <td class="dis1" align="center" valign="middle"><input type="radio"
323         name="no-cookies-set" value="N" @no-cookies-set-n@
324         ></td>
325       <td class="noc1" align="center" valign="middle"><input type="radio"
326         name="no-cookies-set" value="X" @no-cookies-set-x@
327         ></td>
328     </tr>
329     <tr class="bg2" align="left" valign="top">
330       <td class="action">+no-popups</td>
331       <td>Filter the website through a built-in filter to disable JavaScript
332         pop-up windows.</td>
333       <td class="en2" align="center" valign="middle"><input type="radio"
334         name="no-popups" value="Y" @no-popups-y@
335         ></td>
336       <td class="dis2" align="center" valign="middle"><input type="radio"
337         name="no-popups" value="N" @no-popups-n@
338         ></td>
339       <td class="noc2" align="center" valign="middle"><input type="radio"
340         name="no-popups" value="X" @no-popups-x@
341         ></td>
342     </tr>
343     <tr class="bg1" align="left" valign="top">
344       <td class="action">+vanilla-wafer</td>
345       <td>If you use a jarfile, automatically adds a special wafer.</td>
346       <td class="en1" align="center" valign="middle"><input type="radio"
347         name="vanilla-wafer" value="Y" @vanilla-wafer-y@
348         ></td>
349       <td class="dis1" align="center" valign="middle"><input type="radio"
350         name="vanilla-wafer" value="N" @vanilla-wafer-n@
351         ></td>
352       <td class="noc1" align="center" valign="middle"><input type="radio"
353         name="vanilla-wafer" value="X" @vanilla-wafer-x@
354         ></td>
355     </tr>
356     <tr class="bg2" align="left" valign="top">
357       <td class="action">+wafer</td>
358       <td>Adds user-specified cookies.</td>
359       <td class="en2" align="center" valign="middle"><input type="radio"
360         name="wafer" id="wafer_y" value="Y" @wafer-y@
361         onclick="show_more(wafer_opts,wafer_y)"></td>
362       <td class="dis2" align="center" valign="middle"><input type="radio"
363         name="wafer" id="wafer_n" value="N" @wafer-n@
364         onclick="show_more(wafer_opts,wafer_y)"></td>
365       <td class="noc2" align="center" valign="middle"><input type="radio"
366         name="wafer" id="wafer_x" value="X" @wafer-x@
367         onclick="show_more(wafer_opts,wafer_y)"></td>
368     </tr>
369     <tr class="bg2" align="left" valign="top" id="wafer_opts">
370       <td>&nbsp;</td>
371       <td colspan="4">To edit the settings for this option, <input
372         type="checkbox" name="wafer-edit" id="wafer_edit" value="ON"><label
373         for="wafer_edit">check here</label> and then click
374         &quot;Submit&quot;.</td>
375     </tr>
376   </table>
377 <script type="text/javascript">
378 <!--
379 disable_unless(myform.from_param,          myform.from_mode_set);
380 disable_unless(myform.hide_referer_param,  myform.referer_mode_set);
381 disable_unless(myform.image_blocker_param, myform.image_blocker_mode_set);
382 show_more(add_header_opts,    myform.add_header_y);
383 show_more(deanimate_opts,     myform.deanimate_gifs_y);
384 show_more(hide_from_opts,     myform.hide_from_y);
385 show_more(hide_referer_opts,  myform.hide_referer_y);
386 show_more(user_agent_opts,    myform.hide_user_agent_y);
387 show_more(image_blocker_opts, myform.image_blocker_y);
388 show_more(wafer_opts,         myform.wafer_y);
389 //-->
390 </script>
391   <p><input type="submit" value="Submit" name="Submit"></p>
392 </form>
393 <p>&nbsp;</p>
394
395 </body>
396
397 </html>