1 ##############################################################################
3 # File : $Source: /cvsroot/ijbswa/current/templates/edit-actions-for-url,v $
5 # Purpose : Template used to edit the actions associated with a
6 # particular section in an actions file.
9 # Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
10 # Privoxy team. http://www.privoxy.org/
12 # Original Author: Copyright (C) 2001 Jonathan Foster
13 # http://www.jon-foster.co.uk/
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.
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.
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.
34 # $Log: edit-actions-for-url,v $
35 # Revision 1.52 2008/03/15 14:52:36 fabiankeil
36 # Add CGI editor support for the "disable all filters of this type"
37 # directives "-client-header-filter", "-server-header-filter",
38 # "-client-header-tagger" and "-server-header-tagger".
40 # Revision 1.51 2008/03/07 16:46:49 fabiankeil
41 # Reword limit-connect{} entry.
43 # Revision 1.50 2008/03/04 18:30:44 fabiankeil
44 # Remove the treat-forbidden-connects-like-blocks action. We now
45 # use the "blocked" page for forbidden CONNECT requests by default.
47 # Revision 1.49 2008/03/01 14:00:47 fabiankeil
48 # Let the block action take the reason for the block
49 # as argument and show it on the "blocked" page.
51 # Revision 1.48 2007/12/11 21:18:55 fabiankeil
52 # Make forward-override accessible through the CGI editor.
54 # Revision 1.47 2007/12/06 18:21:55 fabiankeil
55 # Update hide-forwarded-for-headers description.
57 # Revision 1.46 2007/11/10 15:06:10 fabiankeil
58 # - Add support for +hide-referrer{conditional-forge}.
61 # Revision 1.45 2007/05/24 13:38:45 fabiankeil
64 # Revision 1.44 2007/04/15 16:39:21 fabiankeil
65 # Introduce tags as alternative way to specify which
66 # actions apply to a request. At the moment tags can be
67 # created based on client and server headers.
69 # Revision 1.43 2007/03/29 11:40:34 fabiankeil
70 # Divide @filter-params@ into @client-header-filter-params@
71 # @content-filter-params@ and @server-header-filter-params@.
73 # Revision 1.42 2007/03/20 15:40:00 fabiankeil
74 # Adjust to new world order with dedicated header-filter actions.
76 # Revision 1.41 2007/01/23 16:03:16 fabiankeil
77 # - Add favicon links.
78 # - Remove useless W3C validator links.
80 # Revision 1.40 2006/12/21 13:01:03 fabiankeil
81 # Prepare for "split-large-forms".
83 # Mention that redirect{} now also understands
84 # a single pcrs job as argument.
86 # Add some table summaries and remove useless validator link.
88 # Revision 1.39 2006/10/04 17:37:54 fabiankeil
89 # JavaScript fix for bug report #1570678.
91 # Revision 1.38 2006/09/08 12:06:35 fabiankeil
92 # Have hide-if-modified-since interpret the random
93 # range value as minutes instead of hours. Allows
94 # more fine-grained configuration.
96 # Revision 1.37 2006/09/05 18:20:14 fabiankeil
97 # Sorted alphabetically, fixed spelling mistakes
98 # and shortened some descriptions.
100 # Revision 1.36 2006/08/14 08:29:17 fabiankeil
101 # Split filter-headers{} into filter-client-headers{}
102 # and filter-server-headers{}.
104 # Revision 1.35 2006/08/03 02:46:42 david__schmidt
105 # Incorporate Fabian Keil's patch work:
\rhttp://www.fabiankeil.de/sourcecode/privoxy/
107 # Revision 1.34 2006/07/18 14:49:13 david__schmidt
108 # Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
109 # with what was really the latest development (the v_3_0_branch branch)
111 # Revision 1.29.2.5 2004/10/05 03:17:26 david__schmidt
112 # Typo: inspect_jpegs, not inspect-jpegs in form
114 # Revision 1.29.2.4 2004/10/03 12:53:46 david__schmidt
115 # Add the ability to check jpeg images for invalid
116 # lengths of comment blocks. Defensive strategy
117 # against the exploit:
118 # Microsoft Security Bulletin MS04-028
119 # Buffer Overrun in JPEG Processing (GDI+) Could
120 # Allow Code Execution (833987)
121 # Enabled with +inspect-jpegs in actions files.
123 # Revision 1.29.2.3 2002/08/23 02:22:53 hal9
124 # Fix a perl brain fart with <li> in comments.
126 # Revision 1.29.2.1 2002/08/02 12:51:42 oes
127 # Added top submit button; Consistency with docs: Change default name for action from hide-referer to hide-referrer
129 # Revision 1.29 2002/05/21 19:10:57 oes
130 # Fixed JavaScript error
132 # Revision 1.28 2002/05/14 21:36:38 oes
133 # - Renamed prevent-(setting/reading)-cookies to
134 # crunch-(incoming/outgoing)-cookies
135 # - Renamed helplink export to actions-help-prefix
136 # - Restored alphabetical order of actions
138 # Revision 1.27 2002/04/26 22:55:26 jongfoster
139 # Removing the alternating colors because they've been wrong
140 # since the actions renames, they're high maintenance, they
141 # don't look particularly good, and now there are gaps between
142 # the table cells we don't need them.
144 # Revision 1.26 2002/04/26 21:55:17 jongfoster
145 # Cosmetic change: Making the +filter UI look the same as
148 # Revision 1.25 2002/04/26 21:37:50 jongfoster
149 # Fixing all(?) the substitutions that were broken in the
150 # recent actions rename.
152 # Revision 1.24 2002/04/26 18:24:28 jongfoster
153 # Fixing typos in help hyperlinks
155 # Revision 1.23 2002/04/26 12:57:02 oes
156 # Actions renamed, alphabetically sorted, comments fixed, and names linked to help
158 # Revision 1.22 2002/04/10 13:32:53 oes
159 # Made templates modular
161 # Revision 1.21 2002/04/08 17:05:18 oes
162 # Inline a style exception
164 # Revision 1.20 2002/04/05 16:01:30 oes
165 # Correct HTML, external Stylesheets, eye candy, some fixes
167 # Revision 1.19 2002/03/26 22:29:56 swa
168 # we have a new homepage!
170 # Revision 1.18 2002/03/24 16:32:08 jongfoster
171 # Removing logo option
173 # Revision 1.17 2002/03/24 15:23:33 jongfoster
176 # Revision 1.16 2002/03/24 11:01:06 swa
179 # Revision 1.15 2002/03/23 16:18:15 swa
180 # renamed every reference to the old name with foobar.
181 # fixed "application foobar application" tag, fixed
182 # "the foobar" with "foobar". left junkbuster in cvs
183 # comments and remarks to history untouched. should
184 # make final rename easier.
186 # Revision 1.14 2002/03/16 15:22:19 jongfoster
187 # Moving 'alpha' warning to the end of the page
189 # Revision 1.13 2002/03/16 14:28:38 jongfoster
190 # First version of modular filters support
192 # Revision 1.12 2002/03/12 01:42:50 oes
193 # Introduced modular filters
195 # Revision 1.11 2002/03/08 18:19:14 jongfoster
196 # Adding +image-blocker{pattern} option to edit interface
198 # Revision 1.10 2002/03/03 10:29:12 swa
199 # point users to the right feedback forms,
200 # not necessarily the developer list.
202 # Revision 1.9 2002/01/23 00:26:45 jongfoster
203 # Reducing length of URLs
204 # Where encoded and unencoded versions of a string existed, removing
207 # Revision 1.8 2002/01/17 21:33:00 jongfoster
208 # Replacing all references to the URL of the config interface
211 # Revision 1.7 2002/01/17 21:21:03 jongfoster
212 # DOS->Unix line endings
214 # Revision 1.6 2001/11/22 21:58:41 jongfoster
215 # Adding action +no-cookies-keep
217 # Revision 1.5 2001/11/13 21:12:17 jongfoster
218 # Added support for the following actions:
219 # +downgrade, +limit-connect, +no-compression
221 # Revision 1.4 2001/11/13 00:58:18 jongfoster
222 # New version of actions file editor templates
225 ##############################################################################
227 # Browser support for the JavaScript on this page:
228 # MS Internet Explorer 5.5 - Tested, Yes
229 # Netscape 6.0 - Tested, Yes
230 # Netscape 4.75 - Tested, NO
231 # Opera 5.12 - Tested, NO
232 # MS Internet Explorer 4+ - Untested, Yes
233 # MS IE 3.x, NS3.x - Untested, NO
234 # Mozilla >=0.6 - Untested, Yes
236 # All browsers should work, you just might not get the pretty DHTML effects.
238 # The effects that only work under the browsers marked "Yes" above are:
239 # - Text edit boxes that won't have any effect are disabled.
240 # - Table rows containing additional settings are hidden if the feature in
241 # question is disabled.
243 # There are major kludges to get around these problems with NS4, but they
244 # screw up the HTML too much for other browsers. If anyone wants to try,
245 # here's some descriptions of the kludges:
246 # http://www.webreference.com/js/tips/991114.html
247 # http://www.webreference.com/dhtml/column12/outDisplay.html
249 # If you're favorite browser isn't listed, please test and add it.
252 #############################################################################
256 # This file currently produces valid HTML 4.01 Strict.
258 # If you change it, please save the generated page from your web browser
259 # and then upload it to http://validator.w3.org/ for checking.
261 #############################################################################
263 # Available variables include:
269 # deanimate-gifs-param-first
270 # deanimate-gifs-param-last
271 # hide-from-param-block
272 # hide-from-param-custom
274 # hide-referrer-param-forge
275 # hide-referrer-param-block
276 # hide-referrer-param-custom
277 # hide-referrer-param
278 # hide-user-agent-param
279 # image-blocker-param-pattern
280 # image-blocker-param-blank
281 # image-blocker-param-custom
284 #############################################################################
285 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
289 <meta http-equiv="Content-Style-Type" content="text/css">
290 <meta http-equiv="Content-Script-Type" content="text/javascript">
291 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
292 <meta name="robots" content="noindex,nofollow">
293 <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
294 <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
296 <title>Privoxy@@my-hostname@: Edit actions</title>
298 <style type="text/css">
299 td.action { font-weight: bold;
301 white-space: nowrap }
302 td.subaction { font-style: italic }
303 th { font-weight: bold; }
304 # This is the key to the color names below:
305 # bg=background, en="Enable", dis="Disable", noc="No Change", hdr=header
306 # 1=odd rows, 2=even rows, h=Table header
307 tr.hdr { background-color: #999999 }
308 tr.bg1 { background-color: #eeeeee }
309 td.en1 { background-color: #ddffdd }
310 td.dis1 { background-color: #ffdddd }
311 td.noc1 { background-color: #ddddff }
312 th.enh { background-color: #99ff99 }
313 th.dish { background-color: #ff9999 }
314 th.noch { background-color: #9999ff }
315 table.wide { padding: 5px; }
316 td.green { border: solid black 1px; background-color: #ddffdd; }
322 border-left-width: 10px;
323 border-right-width: 10px;
324 border-top-width: 0px;
325 border-bottom-width: 0px }
328 <script type="text/javascript">
331 function hide_from_header_param_disable(tf)
333 if (document.getElementById) {
335 document.getElementById("hide_from_header_param").disabled = tf;
336 } else if (document.all) {
338 document.myform.hide_from_header_param.disabled = tf;
342 function hide_referrer_param_disable(tf)
344 if (document.getElementById) {
345 document.getElementById("hide_referrer_param").disabled = tf;
346 } else if (document.all) {
347 document.myform.hide_referrer_param.disabled = tf;
351 function set_image_blocker_param_disable(tf)
353 if (document.getElementById) {
354 document.getElementById("set_image_blocker_param").disabled = tf;
355 } else if (document.all) {
356 document.myform.set_image_blocker_param.disabled = tf;
360 function show_add_header_opts(tf)
362 if (document.getElementById) {
363 target = document.getElementById("add_header_opts");
364 } else if (document.all) {
365 target = document.add_header_opts;
369 target.style.display = (tf ? "" : "none");
372 function show_deanimate_opts(tf)
374 if (document.getElementById) {
375 target = document.getElementById("deanimate_opts");
376 } else if (document.all) {
377 target = document.deanimate_opts;
381 target.style.display = (tf ? "" : "none");
384 function show_hide_from_header_opts(tf)
386 if (document.getElementById) {
387 target = document.getElementById("hide_from_header_opts");
388 } else if (document.all) {
389 target = document.hide_from_header_opts;
393 target.style.display = (tf ? "" : "none");
396 function show_hide_referrer_opts(tf)
398 if (document.getElementById) {
399 target = document.getElementById("hide_referrer_opts");
400 } else if (document.all) {
401 target = document.hide_referrer_opts;
405 target.style.display = (tf ? "" : "none");
408 function show_user_agent_opts(tf)
410 if (document.getElementById) {
411 target = document.getElementById("user_agent_opts");
412 } else if (document.all) {
413 target = document.user_agent_opts;
417 target.style.display = (tf ? "" : "none");
420 function show_set_image_blocker_opts(tf)
422 if (document.getElementById) {
423 target = document.getElementById("set_image_blocker_opts");
424 } else if (document.all) {
425 target = document.set_image_blocker_opts;
429 target.style.display = (tf ? "" : "none");
432 function show_limit_connect_opts(tf)
434 if (document.getElementById) {
435 target = document.getElementById("limit_connect_opts");
436 } else if (document.all) {
437 target = document.limit_connect_opts;
441 target.style.display = (tf ? "" : "none");
444 function show_send_wafer_opts(tf)
446 if (document.getElementById) {
447 target = document.getElementById("send_wafer_opts");
448 } else if (document.all) {
449 target = document.send_wafer_opts;
453 target.style.display = (tf ? "" : "none");
462 <!-- @if-one-form-only-start -->
463 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
464 <!-- if-one-form-only-end@ -->
466 <table summary="" cellpadding="20" cellspacing="10" border="0" width="100%">
475 <!-- @if-unstable-start -->
476 # This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
480 #include mod-unstable-warning
484 <!-- if-unstable-end@ -->
486 <!-- @if-one-form-only-start -->
490 <input type="hidden" name="f" value="@f@">
491 <input type="hidden" name="v" value="@v@">
492 <input type="hidden" name="s" value="@s@">
498 <td class="green" align="center">
499 <p><input type="submit" value="Submit" name="Submit"></p>
502 <!-- if-one-form-only-end@ -->
504 <tr><td class="wrapbox">
506 <!-- @if-multiple-forms-start -->
507 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
508 <h2>Edit Actions (Section 1)</h2>
509 <!-- if-multiple-forms-end@ -->
511 <table summary="Action section 1" border="0" cellspacing="2" width="100%" class="wide">
512 <tr class="hdr" align="left">
513 <th class="enh" align="center">Enable</th>
514 <th class="dish" align="center">Disable</th>
515 <th class="noch" align="center">No Change</th>
519 <tr class="bg1" align="left" valign="top">
520 <td class="en1" align="center" valign="middle"><input type="radio"
521 name="add_header" id="add_header_y" value="Y" @add-header-y@
522 onclick="show_add_header_opts(true)"></td>
523 <td class="dis1" align="center" valign="middle"><input type="radio"
524 name="add_header" value="N" @add-header-n@
525 onclick="show_add_header_opts(false)"></td>
526 <td class="noc1" align="center" valign="middle"><input type="radio"
527 name="add_header" value="X" @add-header-x@
528 onclick="show_add_header_opts(false)"></td>
529 <td class="action"><a href="@user-manual@@actions-help-prefix@ADD-HEADER">add-header</a></td>
530 <td>Adds HTTP headers.</td>
532 <tr class="bg1" align="left" valign="top" id="add_header_opts">
533 <td class="en1"> </td>
534 <td class="dis1"> </td>
535 <td class="noc1"> </td>
537 <td>Editing the settings for this option, or turning
538 it on if it was off, is not yet supported using this web-based
541 <tr class="bg1" align="left" valign="top">
542 <td class="en1" align="center" valign="middle"><input type="radio"
543 name="block" value="Y" @block-y@
545 <td class="dis1" align="center" valign="middle"><input type="radio"
546 name="block" value="N" @block-n@
548 <td class="noc1" align="center" valign="middle"><input type="radio"
549 name="block" value="X" @block-x@
551 <td class="action"><a href="@user-manual@@actions-help-prefix@BLOCK">block</a></td>
552 <td>Block the request.</td>
554 <tr class="bg1" align="left" valign="top" id="block_opts">
555 <td class="en1"> </td>
556 <td class="dis1"> </td>
557 <td class="noc1"> </td>
559 <td>Block reason to tell the user:<br>
560 <input type="text" name="block_mode" size="40" value="@block-param@">
563 <tr class="bg1" align="left" valign="top">
564 <td class="en1"> </td>
565 <td class="dis1" align="center" valign="middle"><input type="radio"
566 name="client_header_filter_all" id="client_header_filter_all_n" value="N" @client-header-filter-all-n@ ></td>
567 <td class="noc1" align="center" valign="middle"><input type="radio"
568 name="client_header_filter_all" id="client_header_filter_all_x" value="X" @client-header-filter-all-x@ ></td>
569 <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-FILTER">client-header-filter</a> *</td>
570 <td>Filter the client headers.
571 You can use the radio buttons on this line to disable
572 all client-header filters applied by previous rules, and/or
573 you can enable or disable the filters individually below.</td>
575 @client-header-filter-params@
576 <tr class="bg1" align="left" valign="top">
577 <td class="en1"> </td>
578 <td class="dis1" align="center" valign="middle"><input type="radio"
579 name="client_header_tagger_all" id="client_header_tagger_all_n" value="N" @client-header-tagger-all-n@ ></td>
580 <td class="noc1" align="center" valign="middle"><input type="radio"
581 name="client_header_tagger_all" id="client_header_tagger_all_x" value="X" @client-header-tagger-all-x@ ></td>
582 <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-TAGGER">client-header-tagger</a> *</td>
583 <td>Create tags based on the client headers.
584 You can use the radio buttons on this line to disable
585 all client-header taggers applied by previous rules, and/or
586 you can enable or disable the taggers individually below.</td>
588 @client-header-tagger-params@
589 <tr class="bg1" align="left" valign="top">
590 <td class="en1" align="center" valign="middle"><input type="radio"
591 name="content_type_overwrite" value="Y" @content-type-overwrite-y@
593 <td class="dis1" align="center" valign="middle"><input type="radio"
594 name="content_type_overwrite" value="N" @content-type-overwrite-n@
596 <td class="noc1" align="center" valign="middle"><input type="radio"
597 name="content_type_overwrite" value="X" @content-type-overwrite-x@
599 <td class="action"><a href="@user-manual@@actions-help-prefix@CONTENT_TYPE_OVERWRITE">content-type-overwrite</a></td>
600 <td>Replace Content-Type header. By default it only applies to
601 text documents, but if you know what you're doing you
602 can enable force-text-mode to modify binary content types as well.</td>
604 <tr class="bg1" align="left" valign="top" id="content_type_overwrite_opts">
605 <td class="en1"> </td>
606 <td class="dis1"> </td>
607 <td class="noc1"> </td>
609 <td>New Content-Type:<br>
610 <input type="text" name="content_type_overwrite_mode" size="40"
611 value="@content-type-overwrite-param@"></td>
613 <tr class="bg1" align="left" valign="top">
614 <td class="en1" align="center" valign="middle"><input type="radio"
615 name="crunch_client_header" id="crunch_client_header_y" value="Y" @crunch-client-header-y@
617 <td class="dis1" align="center" valign="middle"><input type="radio"
618 name="crunch_client_header" value="N" @crunch-client-header-n@
620 <td class="noc1" align="center" valign="middle"><input type="radio"
621 name="crunch_client_header" value="X" @crunch-client-header-x@
623 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-CLIENT-HEADER">crunch-client-header</a></td>
624 <td>Remove header(s) matching the supplied pattern.</td>
626 <tr class="bg1" align="left" valign="top" id="crunch_client_header_opts">
627 <td class="en1"> </td>
628 <td class="dis1"> </td>
629 <td class="noc1"> </td>
631 <td>Header string to suppress:<br>
632 <input type="text" name="crunch_client_header_mode" size="40"
633 value="@crunch-client-header-param@"></td>
635 <tr class="bg1" align="left" valign="top">
636 <td class="en1" align="center" valign="middle"><input type="radio"
637 name="crunch_if_none_match" value="Y" @crunch-if-none-match-y@
639 <td class="dis1" align="center" valign="middle"><input type="radio"
640 name="crunch_if_none_match" value="N" @crunch-if-none-match-n@
642 <td class="noc1" align="center" valign="middle"><input type="radio"
643 name="crunch_if_none_match" value="X" @crunch-if-none-match-x@
645 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH_IF_NONE_MATCH">crunch-if-none-match</a></td>
646 <td>Remove If-None-Match header. Useful for filter testing
647 and to make sure the header can't be used to track your visits.</td>
650 <tr class="bg1" align="left" valign="top">
651 <td class="en1" align="center" valign="middle"><input type="radio"
652 name="crunch_incoming_cookies" value="Y" @crunch-incoming-cookies-y@
654 <td class="dis1" align="center" valign="middle"><input type="radio"
655 name="crunch_incoming_cookies" value="N" @crunch-incoming-cookies-n@
657 <td class="noc1" align="center" valign="middle"><input type="radio"
658 name="crunch_incoming_cookies" value="X" @crunch-incoming-cookies-x@
660 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></td>
661 <td>Prevent the website from setting HTTP cookies on your system.</td>
663 <tr class="bg1" align="left" valign="top">
664 <td class="en1" align="center" valign="middle"><input type="radio"
665 name="crunch_outgoing_cookies" value="Y" @crunch-outgoing-cookies-y@
667 <td class="dis1" align="center" valign="middle"><input type="radio"
668 name="crunch_outgoing_cookies" value="N" @crunch-outgoing-cookies-n@
670 <td class="noc1" align="center" valign="middle"><input type="radio"
671 name="crunch_outgoing_cookies" value="X" @crunch-outgoing-cookies-x@
673 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></td>
674 <td>Prevent the website from reading HTTP cookies from your system.</td>
676 <tr class="bg1" align="left" valign="top">
677 <td class="en1" align="center" valign="middle"><input type="radio"
678 name="crunch_server_header" id="crunch_server_header_y" value="Y" @crunch-server-header-y@
680 <td class="dis1" align="center" valign="middle"><input type="radio"
681 name="crunch_server_header" value="N" @crunch-server-header-n@
683 <td class="noc1" align="center" valign="middle"><input type="radio"
684 name="crunch_server_header" value="X" @crunch-server-header-x@
686 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-SERVER-HEADER">crunch-server-header</a></td>
687 <td>Remove server header(s) matching the supplied pattern.</td>
689 <tr class="bg1" align="left" valign="top" id="crunch_server_header_opts">
690 <td class="en1"> </td>
691 <td class="dis1"> </td>
692 <td class="noc1"> </td>
694 <td>Header string to suppress:<br>
695 <input type="text" name="crunch_server_header_mode" size="40"
696 value="@crunch-server-header-param@"></td>
699 <tr class="bg1" align="left" valign="top">
700 <td class="en1" align="center" valign="middle"><input type="radio"
701 name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
702 onclick="show_deanimate_opts(true)"></td>
703 <td class="dis1" align="center" valign="middle"><input type="radio"
704 name="deanimate_gifs" value="N" @deanimate-gifs-n@
705 onclick="show_deanimate_opts(false)"></td>
706 <td class="noc1" align="center" valign="middle"><input type="radio"
707 name="deanimate_gifs" value="X" @deanimate-gifs-x@
708 onclick="show_deanimate_opts(false)"></td>
709 <td class="action"><a href="@user-manual@@actions-help-prefix@DEANIMATE-GIFS">deanimate-gifs</a></td>
710 <td>Replace animated GIFs with their (first/last) frame.</td>
712 <tr class="bg1" align="left" valign="top" id="deanimate_opts">
713 <td class="en1"> </td>
714 <td class="dis1"> </td>
715 <td class="noc1"> </td>
717 <td>Use the <input type="radio" name="deanimate_gifs_mode"
718 value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
719 for="deanimate_first">first frame</label> <input
720 type="radio" name="deanimate_gifs_mode" value="last"
721 id="deanimate_last" @deanimate-gifs-param-last@><label
722 for="deanimate_last">last frame</label></td>
724 <tr class="bg1" align="left" valign="top">
725 <td class="en1" align="center" valign="middle"><input type="radio"
726 name="downgrade_http_version" value="Y" @downgrade-http-version-y@></td>
727 <td class="dis1" align="center" valign="middle"><input type="radio"
728 name="downgrade_http_version" value="N" @downgrade-http-version-n@></td>
729 <td class="noc1" align="center" valign="middle"><input type="radio"
730 name="downgrade_http_version" value="X" @downgrade-http-version-x@></td>
731 <td class="action"><a href="@user-manual@@actions-help-prefix@DOWNGRADE-HTTP-VERSION"
732 >downgrade-http-version</a></td>
733 <td>Change HTTP/1.1 requests to HTTP/1.0. Only change if you know
734 what you're doing!</td>
736 <tr class="bg1" align="left" valign="top">
737 <td class="en1" align="center" valign="middle"><input type="radio"
738 name="fast_redirects" value="Y" @fast-redirects-y@
740 <td class="dis1" align="center" valign="middle"><input type="radio"
741 name="fast_redirects" value="N" @fast-redirects-n@
743 <td class="noc1" align="center" valign="middle"><input type="radio"
744 name="fast_redirects" value="X" @fast-redirects-x@
746 <td class="action"><a href="@user-manual@@actions-help-prefix@FAST-REDIRECTS">fast-redirects</a></td>
747 <td>Bypass some click-tracking URLs.</td>
749 <tr class="bg1" align="left" valign="top" id="fast-redirects_opts">
750 <td class="en1"> </td>
751 <td class="dis1"> </td>
752 <td class="noc1"> </td>
755 <input type="radio" name="fast_redirects_mode"
756 value="simple-check" id="fast_redirects_simple_check" @fast-redirects-param-simple-check@><label
757 for="fast_redirects_simple_check">Simple check.</label>
759 <input type="radio" name="fast_redirects_mode" value="check-decoded-url"
760 id="fast_redirects_check_decoded_url" @fast-redirects-param-check-decoded-url@><label
761 for="fast_redirects_check_decoded_url">Decode URL before checking.</label></td>
763 <!-- @if-multiple-forms-start -->
766 <input type="hidden" name="f" value="@f@">
767 <input type="hidden" name="v" value="@v@">
768 <input type="hidden" name="s" value="@s@">
769 <input type="submit" value="Submit changes in Section 1" name="Submit">
773 <tr><td class="wrapbox">
774 <form method="GET" action="edit-actions-submit" id="myform-2" name="myform">
775 <h2>Edit Actions (Section 2)</h2>
776 <table summary="Action section 2" border="0" cellspacing="2" width="100%" class="wide">
777 <tr class="hdr" align="left">
778 <th class="enh" align="center">Enable</th>
779 <th class="dish" align="center">Disable</th>
780 <th class="noch" align="center">No Change</th>
784 <!-- if-multiple-forms-end@ -->
785 <tr class="bg1" align="left" valign="top">
786 <td class="en1"> </td>
787 <td class="dis1" align="center" valign="middle"><input type="radio"
788 name="filter_all" id="filter_all_n" value="N" @filter-all-n@ ></td>
789 <td class="noc1" align="center" valign="middle"><input type="radio"
790 name="filter_all" id="filter_all_x" value="X" @filter-all-x@ ></td>
791 <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER">filter</a> *</td>
792 <td>Filter the website through regular expression
793 filters. You can use the radio buttons on this line to disable
794 all filters applied by previous rules, and/or you can enable or
795 disable the filters individually below.</td>
798 @content-filter-params@
800 <!-- @if-multiple-forms-start -->
803 <input type="hidden" name="f" value="@f@">
804 <input type="hidden" name="v" value="@v@">
805 <input type="hidden" name="s" value="@s@">
806 <input type="submit" value="Submit changes in Section 2" name="Submit">
810 <tr><td class="wrapbox">
811 <form method="GET" action="edit-actions-submit" id="myform-3" name="myform">
812 <h2>Edit Actions (Section 3)</h2>
813 <table summary="Action section 3" border="0" cellspacing="2" width="100%" class="wide">
814 <tr class="hdr" align="left">
815 <th class="enh" align="center">Enable</th>
816 <th class="dish" align="center">Disable</th>
817 <th class="noch" align="center">No Change</th>
821 <!-- if-multiple-forms-end@ -->
822 <tr class="bg1" align="left" valign="top">
823 <td class="en1" align="center" valign="middle"><input type="radio"
824 name="force_text_mode" value="Y" @force-text-mode-y@
826 <td class="dis1" align="center" valign="middle"><input type="radio"
827 name="force_text_mode" value="N" @force-text-mode-n@
829 <td class="noc1" align="center" valign="middle"><input type="radio"
830 name="force_text_mode" value="X" @force-text-mode-x@
832 <td class="action"><a href="@user-manual@@actions-help-prefix@FORCE_TEXT_MODE">force-text-mode</a></td>
834 Enable filtering on documents whose Content-Type wasn't recognized as text.
835 Do think twice, nothing is alright.
838 <tr class="bg1" align="left" valign="top">
839 <td class="en1" align="center" valign="middle"><input type="radio"
840 name="forward_override" id="forward_override_y" value="Y" @forward-override-y@
842 <td class="dis1" align="center" valign="middle"><input type="radio"
843 name="forward_override" id="forward_override_n" value="N" @forward-override-n@
845 <td class="noc1" align="center" valign="middle"><input type="radio"
846 name="forward_override" id="forward_override_x" value="X" @forward-override-x@
848 <td class="action"><a href="@user-manual@@actions-help-prefix@FORWARD-OVERRIDE">forward-override</a></td>
849 <td>Override forward directives in the configuration file.
850 Note that the <a href="@user-manual@actions-file.html#FORWARD-OVERRIDE">parameter syntax</a>
851 isn't checked until the action is used. <strong class="warning">Syntax errors
852 will cause Privoxy to exit.</strong></td>
854 <tr class="bg1" align="left" valign="top" id="forward_override_language_opts">
855 <td class="en1"> </td>
856 <td class="dis1"> </td>
857 <td class="noc1"> </td>
860 Overriding forward directive:<br>
861 <input type="text" name="forward_override_param"
862 id="forward_override_param" size="40"
863 value="@forward-override-param@"><br>
866 <tr class="bg1" align="left" valign="top">
867 <td class="en1" align="center" valign="middle"><input type="radio"
868 name="handle_as_empty_document" value="Y" @handle-as-empty-document-y@
870 <td class="dis1" align="center" valign="middle"><input type="radio"
871 name="handle_as_empty_document" value="N" @handle-as-empty-document-n@
873 <td class="noc1" align="center" valign="middle"><input type="radio"
874 name="handle_as_empty_document" value="X" @handle-as-empty-document-x@
876 <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE_AS_EMPTY_DOCUMENT">handle-as-empty-document</a></td>
878 Block with an <em>empty</em> document instead of an Image or HTML message.
879 The <em>empty</em> document contains only a space and can safely be parsed
880 as JavaScript or Style Sheet. Use content-type-overwrite to specify the
881 Content-Type, default is <q>text/html</q>.
884 <tr class="bg1" align="left" valign="top">
885 <td class="en1" align="center" valign="middle"><input type="radio"
886 name="handle_as_image" value="Y" @handle-as-image-y@
888 <td class="dis1" align="center" valign="middle"><input type="radio"
889 name="handle_as_image" value="N" @handle-as-image-n@
891 <td class="noc1" align="center" valign="middle"><input type="radio"
892 name="handle_as_image" value="X" @handle-as-image-x@
894 <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-IMAGE">handle-as-image</a></td>
895 <td>Request is for an image (only useful in conjunction with the <i><b><a href="@user-manual@@actions-help-prefix@BLOCK">block</a></b></i>
896 and <i><b><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></b></i> actions).</td>
898 <tr class="bg1" align="left" valign="top">
899 <td class="en1" align="center" valign="middle"><input type="radio"
900 name="hide_accept_language" id="hide_accept_language_y" value="Y" @hide-accept-language-y@
901 onclick="show_hide_accept_language_opts(true)"></td>
902 <td class="dis1" align="center" valign="middle"><input type="radio"
903 name="hide_accept_language" id="hide_accept_language_n" value="N" @hide-accept-language-n@
904 onclick="show_hide_accept_language_opts(false)"></td>
905 <td class="noc1" align="center" valign="middle"><input type="radio"
906 name="hide_accept_language" id="hide_accept_language_x" value="X" @hide-accept-language-x@
907 onclick="show_hide_accept_language_opts(false)"
909 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-ACCEPT-LANGUAGE">hide-accept-language</a></td>
910 <td>Pretend to have different language settings. (Makes a fake User-Agent more believable,
911 but you may end up with content in the language you pretended to understand.)</td>
913 <tr class="bg1" align="left" valign="top" id="hide_accept-language_opts">
914 <td class="en1"> </td>
915 <td class="dis1"> </td>
916 <td class="noc1"> </td>
918 <td><input type="radio" name="hide_accept_language_mode" value="block"
919 onclick="hide_accept_language_param_disable(true)"
920 @hide-accept-language-param-block@ id="hide_accept_language_mode_block"><label
921 for="hide_accept_language_mode_block">Remove Accept-Language header without replacement.</label>
923 <input type="radio" name="hide_accept_language_mode" value="CUSTOM"
924 onclick="hide_accept_language_param_disable(false)"
925 @hide-accept-language-param-custom@ id="hide_accept_language_mode_set"><label
926 for="hide_accept_language_mode_set">Fake these language settings:</label><br>
927 <input type="text" name="hide_accept_language_param"
928 id="hide_accept_language_param" size="40"
929 value="@hide-accept-language-param@"><br>
932 <tr class="bg1" align="left" valign="top">
933 <td class="en1" align="center" valign="middle"><input type="radio"
934 name="hide_content_disposition" id="hide_content_disposition_y" value="Y" @hide-content-disposition-y@
935 onclick="show_hide_content_disposition_opts(true)"></td>
936 <td class="dis1" align="center" valign="middle"><input type="radio"
937 name="hide_content_disposition" id="hide_content_disposition_n" value="N" @hide-content-disposition-n@
938 onclick="show_hide_content_disposition_opts(false)"></td>
939 <td class="noc1" align="center" valign="middle"><input type="radio"
940 name="hide_content_disposition" id="hide_content_disposition_x" value="X" @hide-content-disposition-x@
941 onclick="show_hide_content_disposition_opts(false)"
943 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-CONTENT-DISPOSITION">hide-content-disposition</a></td>
944 <td>Block or overwrite the content-disposition header. Useful to view a document inside the browser,
945 even if you were supposed to save it first, or to change the suggested file name.</td>
947 <tr class="bg1" align="left" valign="top" id="hide_content_disposition_opts">
948 <td class="en1"> </td>
949 <td class="dis1"> </td>
950 <td class="noc1"> </td>
952 <td><input type="radio" name="hide_content_disposition_mode" value="block"
953 onclick="hide_content_disposition_param_disable(true)"
954 @hide-content-disposition-param-block@ id="hide_content_disposition_mode_block"><label
955 for="hide_content_disposition_mode_block">Remove content-disposition header without replacement.</label>
957 <input type="radio" name="hide_content_disposition_mode" value="CUSTOM"
958 onclick="hide_content_disposition_param_disable(false)"
959 @hide-content-disposition-param-custom@ id="hide_content_disposition_mode_set"><label
960 for="hide_content_disposition_mode_set">Overwrite content-dispostion header with:</label><br>
961 <input type="text" name="hide_content_disposition_param"
962 id="hide_content_disposition_param" size="40"
963 value="@hide-content-disposition-param@"><br>
967 <tr class="bg1" align="left" valign="top">
968 <td class="en1" align="center" valign="middle"><input type="radio"
969 name="hide_forwarded_for_headers" value="Y" @hide-forwarded-for-headers-y@
971 <td class="dis1" align="center" valign="middle"><input type="radio"
972 name="hide_forwarded_for_headers" value="N" @hide-forwarded-for-headers-n@
974 <td class="noc1" align="center" valign="middle"><input type="radio"
975 name="hide_forwarded_for_headers" value="X" @hide-forwarded-for-headers-x@
977 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FORWARDED-FOR-HEADERS">hide-forwarded-for-headers</a></td>
978 <td>Remove any existing X-Forwarded-for header.</td>
980 <tr class="bg1" align="left" valign="top">
981 <td class="en1" align="center" valign="middle"><input type="radio"
982 name="hide_from_header" id="hide_from_header_y" value="Y" @hide-from-header-y@
983 onclick="show_hide_from_header_opts(true)"></td>
984 <td class="dis1" align="center" valign="middle"><input type="radio"
985 name="hide_from_header" value="N" @hide-from-header-n@
986 onclick="show_hide_from_header_opts(false)"></td>
987 <td class="noc1" align="center" valign="middle"><input type="radio"
988 name="hide_from_header" value="X" @hide-from-header-x@
989 onclick="show_hide_from_header_opts(false)"></td>
990 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FROM-HEADER">hide-from-header</a></td>
991 <td>Stop old web browsers from sending the user's e-mail address with
994 <tr class="bg1" align="left" valign="top" id="hide_from_header_opts">
995 <td class="en1"> </td>
996 <td class="dis1"> </td>
997 <td class="noc1"> </td>
999 <td><input type="radio" name="hide_from_header_mode" value="block"
1000 onclick="hide_from_header_param_disable(true);"
1001 @hide-from-header-param-block@ id="hide_from_header_mode_block"><label
1002 for="hide_from_header_mode_block">Remove completely</label><br>
1003 <input type="radio" name="hide_from_header_mode" value="CUSTOM"
1004 onclick="hide_from_header_param_disable(false);"
1005 @hide-from-header-param-custom@ id="hide_from_header_mode_set"><label
1006 for="hide_from_header_mode_set">Fake e-mail address:</label><br>
1007 <input type="text" name="hide_from_header_param" id="hide_from_header_param"
1008 size="40" value="@hide-from-header-param@"></td>
1011 <tr class="bg1" align="left" valign="top">
1012 <td class="en1" align="center" valign="middle"><input type="radio"
1013 name="hide_if_modified_since" value="Y" @hide-if-modified-since-y@
1015 <td class="dis1" align="center" valign="middle"><input type="radio"
1016 name="hide_if_modified_since" value="N" @hide-if-modified-since-n@
1018 <td class="noc1" align="center" valign="middle"><input type="radio"
1019 name="hide_if_modified_since" value="X" @hide-if-modified-since-x@
1021 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE_IF_MODIFIED_SINCE">hide-if-modified-since</a></td>
1022 <td>Remove or randomize the If-Modified-Since header.</td>
1024 <tr class="bg1" align="left" valign="top" id="hide_if-modifed-since_opts">
1025 <td class="en1"> </td>
1026 <td class="dis1"> </td>
1027 <td class="noc1"> </td>
1029 <td><input type="radio" name="hide_if_modified_since_mode" value="block"
1030 onclick="hide_if_modified_since_param_disable(true)"
1031 @hide-if-modified-since-param-block@ id="hide_if_modified_since_mode_block"><label
1032 for="hide_if_modified_since_mode_block">Remove without replacement.</label>
1033 Useful for filter testing.<br>
1034 <input type="radio" name="hide_if_modified_since_mode" value="CUSTOM"
1035 onclick="hide_if_modified_since_param_disable(true)"
1036 @hide-if-modified-since-param-custom@ id="hide_if_modified_since_mode_set"><label
1037 for="hide_if_modified_since_mode_set">Add random amount of seconds in the range of</label>
1038 <input type="text" name="hide_if_modified_since_param"
1039 id="hide_if_modified_since_param" size="4"
1040 value="@hide-if-modified-since-param@"> minute(s).
1041 To appreciate this option a small amount of paranoia is required,
1042 but at least in theory the If-Modified-Since header could be used
1043 to keep track of your visits.
1046 <!-- @if-multiple-forms-start -->
1049 <input type="hidden" name="f" value="@f@">
1050 <input type="hidden" name="v" value="@v@">
1051 <input type="hidden" name="s" value="@s@">
1052 <input type="submit" value="Submit changes in Section 3" name="Submit">
1056 <tr><td class="wrapbox">
1057 <form method="GET" action="edit-actions-submit" id="myform-4" name="myform">
1058 <h2>Edit Actions (Section 4)</h2>
1059 <table summary="Action section 4" border="0" cellspacing="2" width="100%" class="wide">
1060 <tr class="hdr" align="left">
1061 <th class="enh" align="center">Enable</th>
1062 <th class="dish" align="center">Disable</th>
1063 <th class="noch" align="center">No Change</th>
1065 <th>Description</th>
1067 <!-- if-multiple-forms-end@ -->
1068 <tr class="bg1" align="left" valign="top">
1069 <td class="en1" align="center" valign="middle"><input type="radio"
1070 name="hide_referrer" id="hide_referrer_y" value="Y" @hide-referrer-y@
1071 onclick="show_hide_referrer_opts(true)"></td>
1072 <td class="dis1" align="center" valign="middle"><input type="radio"
1073 name="hide_referrer" id="hide_referrer_n" value="N" @hide-referrer-n@
1074 onclick="show_hide_referrer_opts(false)"></td>
1075 <td class="noc1" align="center" valign="middle"><input type="radio"
1076 name="hide_referrer" id="hide_referrer_x" value="X" @hide-referrer-x@
1077 onclick="show_hide_referrer_opts(false)"
1079 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-REFERRER">hide-referrer</a></td>
1080 <td>Helps prevent tracking by not sending the URL of the previous web
1083 <tr class="bg1" align="left" valign="top" id="hide_referrer_opts">
1084 <td class="en1"> </td>
1085 <td class="dis1"> </td>
1086 <td class="noc1"> </td>
1088 <td><input type="radio" name="hide_referrer_mode" value="block"
1089 onclick="hide_referrer_param_disable(true)"
1090 @hide-referrer-param-block@ id="hide_referrer_mode_block"><label
1091 for="hide_referrer_mode_block">Remove completely</label> (breaks images
1092 on some free web hosts).<br>
1093 <input type="radio" name="hide_referrer_mode" value="forge"
1094 onclick="hide_referrer_param_disable(true)"
1095 @hide-referrer-param-forge@ id="hide_referrer_mode_forge"><label
1096 for="hide_referrer_mode_forge">Fake as the root directory of the
1097 site</label> (fools checks for in-site links.)<br>
1098 <input type="radio" name="hide_referrer_mode" value="CUSTOM"
1099 onclick="hide_referrer_param_disable(false)"
1100 @hide-referrer-param-custom@ id="hide_referrer_mode_set"><label
1101 for="hide_referrer_mode_set">Fake as this web address:</label><br>
1102 <input type="text" name="hide_referrer_param"
1103 id="hide_referrer_param" size="40"
1104 value="@hide-referrer-param@"><br>
1105 <input type="radio" name="hide_referrer_mode" value="conditional-block"
1106 onclick="hide_referrer_param_disable(true)"
1107 @hide-referrer-param-conditional-block@ id="hide_referrer_mode_conditional-block"><label
1108 for="hide_referrer_mode_conditional-block">Remove completely if host has changed,
1109 but don't touch in-site referrers.
1110 Less suspicious than the options above.</label><br>
1111 <input type="radio" name="hide_referrer_mode" value="conditional-forge"
1112 onclick="hide_referrer_param_disable(true)"
1113 @hide-referrer-param-conditional-forge@ id="hide_referrer_mode_conditional-forge"><label
1114 for="hide_referrer_mode_conditional-forge">Forge referrer if host has
1115 changed, but don't touch in-site referrers.</label><br>
1118 <tr class="bg1" align="left" valign="top">
1119 <td class="en1" align="center" valign="middle"><input type="radio"
1120 name="hide_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
1121 onclick="show_user_agent_opts(true)"></td>
1122 <td class="dis1" align="center" valign="middle"><input type="radio"
1123 name="hide_user_agent" value="N" @hide-user-agent-n@
1124 onclick="show_user_agent_opts(false)"></td>
1125 <td class="noc1" align="center" valign="middle"><input type="radio"
1126 name="hide_user_agent" value="X" @hide-user-agent-x@
1127 onclick="show_user_agent_opts(false)"></td>
1128 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-USER-AGENT">hide-user-agent</a></td>
1129 <td>Pretend to be using a different web browser. (May cause problems with broken web sites).</td>
1131 <tr class="bg1" align="left" valign="top" id="user_agent_opts">
1132 <td class="en1"> </td>
1133 <td class="dis1"> </td>
1134 <td class="noc1"> </td>
1136 <td>User Agent string to send:<br>
1137 <input type="text" name="hide_user_agent_mode" size="40"
1138 value="@hide-user-agent-param@"></td>
1140 <tr class="bg1" align="left" valign="top">
1141 <td class="en1" align="center" valign="middle"><input type="radio"
1142 name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
1143 onclick="show_limit_connect_opts(true)"></td>
1144 <td class="dis1" align="center" valign="middle"><input type="radio"
1145 name="limit_connect" value="N" @limit-connect-n@
1146 onclick="show_limit_connect_opts(false)"></td>
1147 <td class="noc1" align="center" valign="middle"><input type="radio"
1148 name="limit_connect" value="X" @limit-connect-x@
1149 onclick="show_limit_connect_opts(false)"></td>
1150 <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-CONNECT">limit-connect</a></td>
1151 <td>Limit which ports are allowed in HTTP CONNECT requests. These requests are
1152 used to tunnel SSL and other protocols through HTTP proxies.</td>
1154 <tr class="bg1" align="left" valign="top" id="limit_connect_opts">
1155 <td class="en1"> </td>
1156 <td class="dis1"> </td>
1157 <td class="noc1"> </td>
1159 <td>Legal ports (comma separated, ranges allowed):<br>
1160 <input type="text" name="limit_connect_mode" size="40"
1161 value="@limit-connect-param@"></td>
1163 <tr class="bg1" align="left" valign="top">
1164 <td class="en1" align="center" valign="middle"><input type="radio"
1165 name="overwrite_last_modified" value="Y" @overwrite-last-modified-y@
1167 <td class="dis1" align="center" valign="middle"><input type="radio"
1168 name="overwrite_last_modified" value="N" @overwrite-last-modified-n@
1170 <td class="noc1" align="center" valign="middle"><input type="radio"
1171 name="overwrite_last_modified" value="X" @overwrite-last-modified-x@
1173 <td class="action"><a href="@user-manual@@actions-help-prefix@OVERWRITE_LAST_MODIFIED">overwrite-last-modified</a></td>
1174 <td>Remove or randomize the Last-Modified header.</td>
1176 <tr class="bg1" align="left" valign="top" id="overwrite_last_modified_opts">
1177 <td class="en1"> </td>
1178 <td class="dis1"> </td>
1179 <td class="noc1"> </td>
1181 <td><input type="radio" name="overwrite_last_modified_mode" value="block"
1182 onclick="overwrite_last_modified_param_disable(true)"
1183 @overwrite-last-modified-param-block@ id="overwrite_last_modified_mode_block"><label
1184 for="overwrite_last_modified_mode_block">Remove without replacement.</label>
1186 <input type="radio" name="overwrite_last_modified_mode" value="reset-to-request-time"
1187 onclick="overwrite_last_modified_param_disable(true)"
1188 @overwrite-last-modified-param-reset-to-request-time@
1189 id="overwrite_last_modified_mode_reset-to-request-time"><label
1190 for="overwrite_last_modified_mode_reset-to-request-time">Reset to the time of the request.</label>
1192 <input type="radio" name="overwrite_last_modified_mode" value="randomize"
1193 onclick="overwrite_last_modified_param_disable(true)"
1194 @overwrite-last-modified-param-randomize@
1195 id="overwrite_last_modified_mode_randomize"><label
1196 for="overwrite_last_modified_mode_randomize">Overwrite with random value
1197 between original header value and the time of the request.</label>
1201 <tr class="bg1" align="left" valign="top">
1202 <td class="en1" align="center" valign="middle"><input type="radio"
1203 name="prevent_compression" value="Y" @prevent-compression-y@
1205 <td class="dis1" align="center" valign="middle"><input type="radio"
1206 name="prevent_compression" value="N" @prevent-compression-n@
1208 <td class="noc1" align="center" valign="middle"><input type="radio"
1209 name="prevent_compression" value="X" @prevent-compression-x@
1211 <td class="action"><a href="@user-manual@@actions-help-prefix@PREVENT-COMPRESSION">prevent-compression</a></td>
1212 <td>Disables compression. Compressed web pages are faster to
1213 download, but cannot be filtered with <a href="@user-manual@@actions-help-prefix@FILTER"><b>filter</b></a>
1214 or <a href="@user-manual@@actions-help-prefix@KILL-POPUPS"><b>kill-popups</b></a>
1215 if your Privoxy version was build without zlib support.</td>
1217 <tr class="bg1" align="left" valign="top">
1218 <td class="en1" align="center" valign="middle"><input type="radio"
1219 name="redirect" value="Y" @redirect-y@
1221 <td class="dis1" align="center" valign="middle"><input type="radio"
1222 name="redirect" value="N" @redirect-n@
1224 <td class="noc1" align="center" valign="middle"><input type="radio"
1225 name="redirect" value="X" @redirect-x@
1227 <td class="action"><a href="@user-manual@@actions-help-prefix@REDIRECT">redirect</a></td>
1228 <td>Redirect to another address.
1230 <tr class="bg1" align="left" valign="top" id="redirect_opts">
1231 <td class="en1"> </td>
1232 <td class="dis1"> </td>
1233 <td class="noc1"> </td>
1235 <td>Static address or a single pcrs command to redirect to a rewritten version of the original URL:<br>
1236 <input type="text" name="redirect_mode" size="40"
1237 value="@redirect-param@"></td>
1240 <tr class="bg1" align="left" valign="top">
1241 <td class="en1" align="center" valign="middle"><input type="radio"
1242 name="send_vanilla_wafer" value="Y" @send-vanilla-wafer-y@
1244 <td class="dis1" align="center" valign="middle"><input type="radio"
1245 name="send_vanilla_wafer" value="N" @send-vanilla-wafer-n@
1247 <td class="noc1" align="center" valign="middle"><input type="radio"
1248 name="send_vanilla_wafer" value="X" @send-vanilla-wafer-x@
1250 <td class="action"><a href="@user-manual@@actions-help-prefix@SEND-VANILLA-WAFER">send-vanilla-wafer</a></td>
1251 <td>Adds a special wafer (standard cookie) to all your requests. Not recommended.</td>
1253 <tr class="bg1" align="left" valign="top">
1254 <td class="en1" align="center" valign="middle"><input type="radio"
1255 name="send_wafer" id="send_wafer_y" value="Y" @send-wafer-y@
1256 onclick="show_send_wafer_opts(true)"></td>
1257 <td class="dis1" align="center" valign="middle"><input type="radio"
1258 name="send_wafer" id="send_wafer_n" value="N" @send-wafer-n@
1259 onclick="show_send_wafer_opts(false)"></td>
1260 <td class="noc1" align="center" valign="middle"><input type="radio"
1261 name="send_wafer" id="send_wafer_x" value="X" @send-wafer-x@
1262 onclick="show_send_wafer_opts(false)"></td>
1263 <td class="action"><a href="@user-manual@@actions-help-prefix@SEND-WAFER">send-wafer</a></td>
1264 <td>Adds user-specified cookies.</td>
1266 <tr class="bg1" align="left" valign="top" id="send_wafer_opts">
1267 <td class="en1"> </td>
1268 <td class="dis1"> </td>
1269 <td class="noc1"> </td>
1271 <td>Editing the settings for this option, or turning
1272 it on if it was off, is not yet supported using this web-based
1275 <tr class="bg1" align="left" valign="top">
1276 <td class="en1"> </td>
1277 <td class="dis1" align="center" valign="middle"><input type="radio"
1278 name="server_header_filter_all" id="server_header_filter_all_n" value="N" @server-header-filter-all-n@ ></td>
1279 <td class="noc1" align="center" valign="middle"><input type="radio"
1280 name="server_header_filter_all" id="server_header_filter_all_x" value="X" @server-header-filter-all-x@ ></td>
1281 <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-FILTER">server-header-filter</a> *</td>
1282 <td>Filter the server headers.
1283 You can use the radio buttons on this line to disable
1284 all server-header filters applied by previous rules, and/or
1285 you can enable or disable the filters individually below.</td>
1287 @server-header-filter-params@
1288 <tr class="bg1" align="left" valign="top">
1289 <td class="en1"> </td>
1290 <td class="dis1" align="center" valign="middle"><input type="radio"
1291 name="server_header_tagger_all" id="server_header_tagger_all_n" value="N" @server-header-tagger-all-n@ ></td>
1292 <td class="noc1" align="center" valign="middle"><input type="radio"
1293 name="server_header_tagger_all" id="server_header_tagger_all_x" value="X" @server-header-tagger-all-x@ ></td>
1294 <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-TAGGER">server-header-tagger</a> *</td>
1295 <td>Create tags based on the server headers.
1296 You can use the radio buttons on this line to disable
1297 all server-header taggers applied by previous rules, and/or
1298 you can enable or disable the taggers individually below.</td>
1300 @server-header-tagger-params@
1301 <tr class="bg1" align="left" valign="top">
1302 <td class="en1" align="center" valign="middle"><input type="radio"
1303 name="session_cookies_only" value="Y" @session-cookies-only-y@
1305 <td class="dis1" align="center" valign="middle"><input type="radio"
1306 name="session_cookies_only" value="N" @session-cookies-only-n@
1308 <td class="noc1" align="center" valign="middle"><input type="radio"
1309 name="session_cookies_only" value="X" @session-cookies-only-x@
1311 <td class="action"><a href="@user-manual@@actions-help-prefix@SESSION-COOKIES-ONLY">session-cookies-only</a></td>
1312 <td>HTTP cookies set by the website are changed to temporary
1313 ("per-session") ones, which only last until you close your web
1314 browser. This will allow you to use sites that require cookies, but
1315 sites will not be able to track you across sessions. For this to
1316 be useful, you should disable
1317 <a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES"><b>crunch-outgoing-cookies</b></a> and
1318 <a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES"><b>crunch-incoming-cookies</b></a>.</td>
1320 <tr class="bg1" align="left" valign="top">
1321 <td class="en1" align="center" valign="middle"><input type="radio"
1322 name="set_image_blocker" id="set_image_blocker_y" value="Y" @set-image-blocker-y@
1323 onclick="show_set_image_blocker_opts(true)"></td>
1324 <td class="dis1" align="center" valign="middle"><input type="radio"
1325 name="set_image_blocker" value="N" @set-image-blocker-n@
1326 onclick="show_set_image_blocker_opts(false)"></td>
1327 <td class="noc1" align="center" valign="middle"><input type="radio"
1328 name="set_image_blocker" value="X" @set-image-blocker-x@
1329 onclick="show_set_image_blocker_opts(false)"></td>
1330 <td class="action"><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></td>
1331 <td>Specifies how to block images.</td>
1333 <tr class="bg1" align="left" valign="top" id="set_image_blocker_opts">
1334 <td class="en1"> </td>
1335 <td class="dis1"> </td>
1336 <td class="noc1"> </td>
1338 <td><input type="radio" name="set_image_blocker_mode"
1339 onclick="set_image_blocker_param_disable(true)"
1340 value="pattern" id="set_image_blocker_mode_pattern"
1341 @set-image-blocker-param-pattern@><label
1342 for="set_image_blocker_mode_pattern">Send a pattern (<img
1343 src="send-banner?type=p" width="12" height="12"
1344 alt="pattern">)</label><br>
1345 <input type="radio" name="set_image_blocker_mode" value="blank"
1346 onclick="set_image_blocker_param_disable(true)"
1347 id="set_image_blocker_mode_blank" @set-image-blocker-param-blank@><label
1348 for="set_image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
1349 <input type="radio" name="set_image_blocker_mode" value="CUSTOM"
1350 onclick="set_image_blocker_param_disable(false)"
1351 id="set_image_blocker_mode_set" @set-image-blocker-param-custom@><label
1352 for="set_image_blocker_mode_set">Redirect
1353 the browser to this image URL:</label><br>
1354 <input type="text" name="set_image_blocker_param" id="set_image_blocker_param"
1355 size="40" value="@set-image-blocker-param@"></td>
1359 <!-- @if-multiple-forms-start -->
1361 <input type="hidden" name="f" value="@f@">
1362 <input type="hidden" name="v" value="@v@">
1363 <input type="hidden" name="s" value="@s@">
1364 <input type="submit" value="Submit changes in Section 4" name="Submit">
1367 <!-- if-multiple-forms-end@ -->
1369 <!-- @if-one-form-only-start -->
1371 <td class="green" align="center">
1372 <p><input type="submit" value="Submit" name="Submit"></p>
1375 <!-- if-one-form-only-end@ -->
1378 <h2>More Privoxy:</h2>
1379 <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
1386 #include mod-support-and-service
1391 <!-- @if-have-help-info-start -->
1395 #include mod-local-help
1399 <!-- if-have-help-info-end@ -->
1402 <!-- @if-one-form-only-start -->
1404 <!-- if-one-form-only-end@ -->
1406 <script type="text/javascript">
1409 if (document.getElementById) {
1410 // alert("Netscape 6 or IE5");
1411 document.getElementById("hide_from_header_param").disabled = !(document.getElementById("hide_from_header_mode_set").checked);
1412 document.getElementById("hide_referrer_param").disabled = !(document.getElementById("hide_referrer_mode_set").checked);
1413 document.getElementById("set_image_blocker_param").disabled = !(document.getElementById("set_image_blocker_mode_set").checked);
1415 show_add_header_opts (document.getElementById("add_header_y").checked);
1416 show_deanimate_opts (document.getElementById("deanimate_gifs_y").checked);
1417 show_hide_from_header_opts(document.getElementById("hide_from_header_y").checked);
1418 show_hide_referrer_opts (document.getElementById("hide_referrer_y").checked);
1419 show_user_agent_opts (document.getElementById("hide_user_agent_y").checked);
1420 show_set_image_blocker_opts (document.getElementById("set_image_blocker_y").checked);
1421 show_limit_connect_opts (document.getElementById("limit_connect_y").checked);
1422 show_send_wafer_opts (document.getElementById("send_wafer_y").checked);
1423 } else if (document.all) {
1425 document.myform.hide_from_header_param.disabled = !(document.myform.hide_from_header_mode_set.checked);
1426 document.myform.hide_referrer_param.disabled = !(document.myform.hide_referrer_mode_set.checked);
1427 document.myform.set_image_blocker_param.disabled = !(document.myform.set_image_blocker_mode_set.checked);
1429 show_add_header_opts (document.myform.add_header_y.checked);
1430 show_deanimate_opts (document.myform.deanimate_gifs_y.checked);
1431 show_hide_from_header_opts (document.myform.hide_from_header_y.checked);
1432 show_hide_referrer_opts (document.myform.hide_referrer_y.checked);
1433 show_user_agent_opts (document.myform.hide_user_agent_y.checked);
1434 show_set_image_blocker_opts (document.myform.set_image_blocker_y.checked);
1435 show_limit_connect_opts (document.myform.limit_connect_y.checked);
1436 show_send_wafer_opts (document.myform.send_wafer_y.checked);
1437 } else if (document.layers) {
1438 // alert("Netscape 4");