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.55 2008/09/19 15:26:29 fabiankeil
36 # Add change-x-forwarded-for{} action to block or add
37 # X-Forwarded-For headers. Mostly based on code removed
40 # Revision 1.54 2008/03/29 12:14:27 fabiankeil
41 # Remove send-wafer and send-vanilla-wafer actions.
43 # Revision 1.53 2008/03/28 15:13:45 fabiankeil
44 # Remove inspect-jpegs action.
46 # Revision 1.52 2008/03/15 14:52:36 fabiankeil
47 # Add CGI editor support for the "disable all filters of this type"
48 # directives "-client-header-filter", "-server-header-filter",
49 # "-client-header-tagger" and "-server-header-tagger".
51 # Revision 1.51 2008/03/07 16:46:49 fabiankeil
52 # Reword limit-connect{} entry.
54 # Revision 1.50 2008/03/04 18:30:44 fabiankeil
55 # Remove the treat-forbidden-connects-like-blocks action. We now
56 # use the "blocked" page for forbidden CONNECT requests by default.
58 # Revision 1.49 2008/03/01 14:00:47 fabiankeil
59 # Let the block action take the reason for the block
60 # as argument and show it on the "blocked" page.
62 # Revision 1.48 2007/12/11 21:18:55 fabiankeil
63 # Make forward-override accessible through the CGI editor.
65 # Revision 1.47 2007/12/06 18:21:55 fabiankeil
66 # Update hide-forwarded-for-headers description.
68 # Revision 1.46 2007/11/10 15:06:10 fabiankeil
69 # - Add support for +hide-referrer{conditional-forge}.
72 # Revision 1.45 2007/05/24 13:38:45 fabiankeil
75 # Revision 1.44 2007/04/15 16:39:21 fabiankeil
76 # Introduce tags as alternative way to specify which
77 # actions apply to a request. At the moment tags can be
78 # created based on client and server headers.
80 # Revision 1.43 2007/03/29 11:40:34 fabiankeil
81 # Divide @filter-params@ into @client-header-filter-params@
82 # @content-filter-params@ and @server-header-filter-params@.
84 # Revision 1.42 2007/03/20 15:40:00 fabiankeil
85 # Adjust to new world order with dedicated header-filter actions.
87 # Revision 1.41 2007/01/23 16:03:16 fabiankeil
88 # - Add favicon links.
89 # - Remove useless W3C validator links.
91 # Revision 1.40 2006/12/21 13:01:03 fabiankeil
92 # Prepare for "split-large-forms".
94 # Mention that redirect{} now also understands
95 # a single pcrs job as argument.
97 # Add some table summaries and remove useless validator link.
99 # Revision 1.39 2006/10/04 17:37:54 fabiankeil
100 # JavaScript fix for bug report #1570678.
102 # Revision 1.38 2006/09/08 12:06:35 fabiankeil
103 # Have hide-if-modified-since interpret the random
104 # range value as minutes instead of hours. Allows
105 # more fine-grained configuration.
107 # Revision 1.37 2006/09/05 18:20:14 fabiankeil
108 # Sorted alphabetically, fixed spelling mistakes
109 # and shortened some descriptions.
111 # Revision 1.36 2006/08/14 08:29:17 fabiankeil
112 # Split filter-headers{} into filter-client-headers{}
113 # and filter-server-headers{}.
115 # Revision 1.35 2006/08/03 02:46:42 david__schmidt
116 # Incorporate Fabian Keil's patch work:
\rhttp://www.fabiankeil.de/sourcecode/privoxy/
118 # Revision 1.34 2006/07/18 14:49:13 david__schmidt
119 # Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
120 # with what was really the latest development (the v_3_0_branch branch)
122 # Revision 1.29.2.5 2004/10/05 03:17:26 david__schmidt
123 # Typo: inspect_jpegs, not inspect-jpegs in form
125 # Revision 1.29.2.4 2004/10/03 12:53:46 david__schmidt
126 # Add the ability to check jpeg images for invalid
127 # lengths of comment blocks. Defensive strategy
128 # against the exploit:
129 # Microsoft Security Bulletin MS04-028
130 # Buffer Overrun in JPEG Processing (GDI+) Could
131 # Allow Code Execution (833987)
132 # Enabled with +inspect-jpegs in actions files.
134 # Revision 1.29.2.3 2002/08/23 02:22:53 hal9
135 # Fix a perl brain fart with <li> in comments.
137 # Revision 1.29.2.1 2002/08/02 12:51:42 oes
138 # Added top submit button; Consistency with docs: Change default name for action from hide-referer to hide-referrer
140 # Revision 1.29 2002/05/21 19:10:57 oes
141 # Fixed JavaScript error
143 # Revision 1.28 2002/05/14 21:36:38 oes
144 # - Renamed prevent-(setting/reading)-cookies to
145 # crunch-(incoming/outgoing)-cookies
146 # - Renamed helplink export to actions-help-prefix
147 # - Restored alphabetical order of actions
149 # Revision 1.27 2002/04/26 22:55:26 jongfoster
150 # Removing the alternating colors because they've been wrong
151 # since the actions renames, they're high maintenance, they
152 # don't look particularly good, and now there are gaps between
153 # the table cells we don't need them.
155 # Revision 1.26 2002/04/26 21:55:17 jongfoster
156 # Cosmetic change: Making the +filter UI look the same as
159 # Revision 1.25 2002/04/26 21:37:50 jongfoster
160 # Fixing all(?) the substitutions that were broken in the
161 # recent actions rename.
163 # Revision 1.24 2002/04/26 18:24:28 jongfoster
164 # Fixing typos in help hyperlinks
166 # Revision 1.23 2002/04/26 12:57:02 oes
167 # Actions renamed, alphabetically sorted, comments fixed, and names linked to help
169 # Revision 1.22 2002/04/10 13:32:53 oes
170 # Made templates modular
172 # Revision 1.21 2002/04/08 17:05:18 oes
173 # Inline a style exception
175 # Revision 1.20 2002/04/05 16:01:30 oes
176 # Correct HTML, external Stylesheets, eye candy, some fixes
178 # Revision 1.19 2002/03/26 22:29:56 swa
179 # we have a new homepage!
181 # Revision 1.18 2002/03/24 16:32:08 jongfoster
182 # Removing logo option
184 # Revision 1.17 2002/03/24 15:23:33 jongfoster
187 # Revision 1.16 2002/03/24 11:01:06 swa
190 # Revision 1.15 2002/03/23 16:18:15 swa
191 # renamed every reference to the old name with foobar.
192 # fixed "application foobar application" tag, fixed
193 # "the foobar" with "foobar". left junkbuster in cvs
194 # comments and remarks to history untouched. should
195 # make final rename easier.
197 # Revision 1.14 2002/03/16 15:22:19 jongfoster
198 # Moving 'alpha' warning to the end of the page
200 # Revision 1.13 2002/03/16 14:28:38 jongfoster
201 # First version of modular filters support
203 # Revision 1.12 2002/03/12 01:42:50 oes
204 # Introduced modular filters
206 # Revision 1.11 2002/03/08 18:19:14 jongfoster
207 # Adding +image-blocker{pattern} option to edit interface
209 # Revision 1.10 2002/03/03 10:29:12 swa
210 # point users to the right feedback forms,
211 # not necessarily the developer list.
213 # Revision 1.9 2002/01/23 00:26:45 jongfoster
214 # Reducing length of URLs
215 # Where encoded and unencoded versions of a string existed, removing
218 # Revision 1.8 2002/01/17 21:33:00 jongfoster
219 # Replacing all references to the URL of the config interface
222 # Revision 1.7 2002/01/17 21:21:03 jongfoster
223 # DOS->Unix line endings
225 # Revision 1.6 2001/11/22 21:58:41 jongfoster
226 # Adding action +no-cookies-keep
228 # Revision 1.5 2001/11/13 21:12:17 jongfoster
229 # Added support for the following actions:
230 # +downgrade, +limit-connect, +no-compression
232 # Revision 1.4 2001/11/13 00:58:18 jongfoster
233 # New version of actions file editor templates
236 ##############################################################################
238 # Browser support for the JavaScript on this page:
239 # MS Internet Explorer 5.5 - Tested, Yes
240 # Netscape 6.0 - Tested, Yes
241 # Netscape 4.75 - Tested, NO
242 # Opera 5.12 - Tested, NO
243 # MS Internet Explorer 4+ - Untested, Yes
244 # MS IE 3.x, NS3.x - Untested, NO
245 # Mozilla >=0.6 - Untested, Yes
247 # All browsers should work, you just might not get the pretty DHTML effects.
249 # The effects that only work under the browsers marked "Yes" above are:
250 # - Text edit boxes that won't have any effect are disabled.
251 # - Table rows containing additional settings are hidden if the feature in
252 # question is disabled.
254 # There are major kludges to get around these problems with NS4, but they
255 # screw up the HTML too much for other browsers. If anyone wants to try,
256 # here's some descriptions of the kludges:
257 # http://www.webreference.com/js/tips/991114.html
258 # http://www.webreference.com/dhtml/column12/outDisplay.html
260 # If you're favorite browser isn't listed, please test and add it.
263 #############################################################################
267 # This file currently produces valid HTML 4.01 Strict.
269 # If you change it, please save the generated page from your web browser
270 # and then upload it to http://validator.w3.org/ for checking.
272 #############################################################################
274 # Available variables include:
280 # deanimate-gifs-param-first
281 # deanimate-gifs-param-last
282 # hide-from-param-block
283 # hide-from-param-custom
285 # hide-referrer-param-forge
286 # hide-referrer-param-block
287 # hide-referrer-param-custom
288 # hide-referrer-param
289 # hide-user-agent-param
290 # image-blocker-param-pattern
291 # image-blocker-param-blank
292 # image-blocker-param-custom
295 #############################################################################
296 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
300 <meta http-equiv="Content-Style-Type" content="text/css">
301 <meta http-equiv="Content-Script-Type" content="text/javascript">
302 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
303 <meta name="robots" content="noindex,nofollow">
304 <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
305 <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
307 <title>Privoxy@@my-hostname@: Edit actions</title>
309 <style type="text/css">
310 td.action { font-weight: bold;
312 white-space: nowrap }
313 td.subaction { font-style: italic }
314 th { font-weight: bold; }
315 # This is the key to the color names below:
316 # bg=background, en="Enable", dis="Disable", noc="No Change", hdr=header
317 # 1=odd rows, 2=even rows, h=Table header
318 tr.hdr { background-color: #999999 }
319 tr.bg1 { background-color: #eeeeee }
320 td.en1 { background-color: #ddffdd }
321 td.dis1 { background-color: #ffdddd }
322 td.noc1 { background-color: #ddddff }
323 th.enh { background-color: #99ff99 }
324 th.dish { background-color: #ff9999 }
325 th.noch { background-color: #9999ff }
326 table.wide { padding: 5px; }
327 td.green { border: solid black 1px; background-color: #ddffdd; }
333 border-left-width: 10px;
334 border-right-width: 10px;
335 border-top-width: 0px;
336 border-bottom-width: 0px }
339 <script type="text/javascript">
342 function hide_from_header_param_disable(tf)
344 if (document.getElementById) {
346 document.getElementById("hide_from_header_param").disabled = tf;
347 } else if (document.all) {
349 document.myform.hide_from_header_param.disabled = tf;
353 function hide_referrer_param_disable(tf)
355 if (document.getElementById) {
356 document.getElementById("hide_referrer_param").disabled = tf;
357 } else if (document.all) {
358 document.myform.hide_referrer_param.disabled = tf;
362 function set_image_blocker_param_disable(tf)
364 if (document.getElementById) {
365 document.getElementById("set_image_blocker_param").disabled = tf;
366 } else if (document.all) {
367 document.myform.set_image_blocker_param.disabled = tf;
371 function show_add_header_opts(tf)
373 if (document.getElementById) {
374 target = document.getElementById("add_header_opts");
375 } else if (document.all) {
376 target = document.add_header_opts;
380 target.style.display = (tf ? "" : "none");
383 function show_deanimate_opts(tf)
385 if (document.getElementById) {
386 target = document.getElementById("deanimate_opts");
387 } else if (document.all) {
388 target = document.deanimate_opts;
392 target.style.display = (tf ? "" : "none");
395 function show_hide_from_header_opts(tf)
397 if (document.getElementById) {
398 target = document.getElementById("hide_from_header_opts");
399 } else if (document.all) {
400 target = document.hide_from_header_opts;
404 target.style.display = (tf ? "" : "none");
407 function show_hide_referrer_opts(tf)
409 if (document.getElementById) {
410 target = document.getElementById("hide_referrer_opts");
411 } else if (document.all) {
412 target = document.hide_referrer_opts;
416 target.style.display = (tf ? "" : "none");
419 function show_user_agent_opts(tf)
421 if (document.getElementById) {
422 target = document.getElementById("user_agent_opts");
423 } else if (document.all) {
424 target = document.user_agent_opts;
428 target.style.display = (tf ? "" : "none");
431 function show_set_image_blocker_opts(tf)
433 if (document.getElementById) {
434 target = document.getElementById("set_image_blocker_opts");
435 } else if (document.all) {
436 target = document.set_image_blocker_opts;
440 target.style.display = (tf ? "" : "none");
443 function show_limit_connect_opts(tf)
445 if (document.getElementById) {
446 target = document.getElementById("limit_connect_opts");
447 } else if (document.all) {
448 target = document.limit_connect_opts;
452 target.style.display = (tf ? "" : "none");
461 <!-- @if-one-form-only-start -->
462 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
463 <!-- if-one-form-only-end@ -->
465 <table summary="" cellpadding="20" cellspacing="10" border="0" width="100%">
474 <!-- @if-unstable-start -->
475 # This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
479 #include mod-unstable-warning
483 <!-- if-unstable-end@ -->
485 <!-- @if-one-form-only-start -->
489 <input type="hidden" name="f" value="@f@">
490 <input type="hidden" name="v" value="@v@">
491 <input type="hidden" name="s" value="@s@">
497 <td class="green" align="center">
498 <p><input type="submit" value="Submit" name="Submit"></p>
501 <!-- if-one-form-only-end@ -->
503 <tr><td class="wrapbox">
505 <!-- @if-multiple-forms-start -->
506 <form method="GET" action="edit-actions-submit" id="myform" name="myform">
507 <h2>Edit Actions (Section 1)</h2>
508 <!-- if-multiple-forms-end@ -->
510 <table summary="Action section 1" border="0" cellspacing="2" width="100%" class="wide">
511 <tr class="hdr" align="left">
512 <th class="enh" align="center">Enable</th>
513 <th class="dish" align="center">Disable</th>
514 <th class="noch" align="center">No Change</th>
518 <tr class="bg1" align="left" valign="top">
519 <td class="en1" align="center" valign="middle"><input type="radio"
520 name="add_header" id="add_header_y" value="Y" @add-header-y@
521 onclick="show_add_header_opts(true)"></td>
522 <td class="dis1" align="center" valign="middle"><input type="radio"
523 name="add_header" value="N" @add-header-n@
524 onclick="show_add_header_opts(false)"></td>
525 <td class="noc1" align="center" valign="middle"><input type="radio"
526 name="add_header" value="X" @add-header-x@
527 onclick="show_add_header_opts(false)"></td>
528 <td class="action"><a href="@user-manual@@actions-help-prefix@ADD-HEADER">add-header</a></td>
529 <td>Adds HTTP headers.</td>
531 <tr class="bg1" align="left" valign="top" id="add_header_opts">
532 <td class="en1"> </td>
533 <td class="dis1"> </td>
534 <td class="noc1"> </td>
536 <td>Editing the settings for this option, or turning
537 it on if it was off, is not yet supported using this web-based
540 <tr class="bg1" align="left" valign="top">
541 <td class="en1" align="center" valign="middle"><input type="radio"
542 name="block" value="Y" @block-y@
544 <td class="dis1" align="center" valign="middle"><input type="radio"
545 name="block" value="N" @block-n@
547 <td class="noc1" align="center" valign="middle"><input type="radio"
548 name="block" value="X" @block-x@
550 <td class="action"><a href="@user-manual@@actions-help-prefix@BLOCK">block</a></td>
551 <td>Block the request.</td>
553 <tr class="bg1" align="left" valign="top" id="block_opts">
554 <td class="en1"> </td>
555 <td class="dis1"> </td>
556 <td class="noc1"> </td>
558 <td>Block reason to tell the user:<br>
559 <input type="text" name="block_mode" size="40" value="@block-param@">
562 <tr class="bg1" align="left" valign="top">
563 <td class="en1" align="center" valign="middle"><input type="radio"
564 name="change_x_forwarded_for" id="change_x_forwarded_for_y" value="Y" @change-x-forwarded-for-y@
565 onclick="show_change_x_forwarded_for_opts(true)"></td>
566 <td class="dis1" align="center" valign="middle"><input type="radio"
567 name="change_x_forwarded_for" value="N" @change-x-forwarded-for-n@
568 onclick="show_change_x_forwarded_for_opts(false)"></td>
569 <td class="noc1" align="center" valign="middle"><input type="radio"
570 name="change_x_forwarded_for" value="X" @change-x-forwarded-for-x@
571 onclick="show_change_x_forwarded_for_opts(false)"></td>
572 <td class="action"><a href="@user-manual@@actions-help-prefix@CHANGE-X-FORWARDED-FOR">change-x-forwarded-for</a></td>
573 <td>Specifies whether to block or add X-Forwarded-For headers.</td>
575 <tr class="bg1" align="left" valign="top" id="change_x_forwarded_for_opts">
576 <td class="en1"> </td>
577 <td class="dis1"> </td>
578 <td class="noc1"> </td>
580 <td><input type="radio" name="change_x_forwarded_for_mode" value="block"
581 id="change_x_forwarded_for_mode_block" @change-x-forwarded-for-param-block@><label
582 for="change_x_forwarded_for_mode_block">Block the header.</label><br>
583 <input type="radio" name="change_x_forwarded_for_mode" value="add"
584 id="change_x_forwarded_for_mode_add" @change-x-forwarded-for-param-add@><label
585 for="change_x_forwarded_for_mode_add">Add the header.</label><br>
587 <tr class="bg1" align="left" valign="top">
588 <td class="en1"> </td>
589 <td class="dis1" align="center" valign="middle"><input type="radio"
590 name="client_header_filter_all" id="client_header_filter_all_n" value="N" @client-header-filter-all-n@ ></td>
591 <td class="noc1" align="center" valign="middle"><input type="radio"
592 name="client_header_filter_all" id="client_header_filter_all_x" value="X" @client-header-filter-all-x@ ></td>
593 <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-FILTER">client-header-filter</a> *</td>
594 <td>Filter the client headers.
595 You can use the radio buttons on this line to disable
596 all client-header filters applied by previous rules, and/or
597 you can enable or disable the filters individually below.</td>
599 @client-header-filter-params@
600 <tr class="bg1" align="left" valign="top">
601 <td class="en1"> </td>
602 <td class="dis1" align="center" valign="middle"><input type="radio"
603 name="client_header_tagger_all" id="client_header_tagger_all_n" value="N" @client-header-tagger-all-n@ ></td>
604 <td class="noc1" align="center" valign="middle"><input type="radio"
605 name="client_header_tagger_all" id="client_header_tagger_all_x" value="X" @client-header-tagger-all-x@ ></td>
606 <td class="action"><a href="@user-manual@@actions-help-prefix@CLIENT-HEADER-TAGGER">client-header-tagger</a> *</td>
607 <td>Create tags based on the client headers.
608 You can use the radio buttons on this line to disable
609 all client-header taggers applied by previous rules, and/or
610 you can enable or disable the taggers individually below.</td>
612 @client-header-tagger-params@
613 <tr class="bg1" align="left" valign="top">
614 <td class="en1" align="center" valign="middle"><input type="radio"
615 name="content_type_overwrite" value="Y" @content-type-overwrite-y@
617 <td class="dis1" align="center" valign="middle"><input type="radio"
618 name="content_type_overwrite" value="N" @content-type-overwrite-n@
620 <td class="noc1" align="center" valign="middle"><input type="radio"
621 name="content_type_overwrite" value="X" @content-type-overwrite-x@
623 <td class="action"><a href="@user-manual@@actions-help-prefix@CONTENT_TYPE_OVERWRITE">content-type-overwrite</a></td>
624 <td>Replace Content-Type header. By default it only applies to
625 text documents, but if you know what you're doing you
626 can enable force-text-mode to modify binary content types as well.</td>
628 <tr class="bg1" align="left" valign="top" id="content_type_overwrite_opts">
629 <td class="en1"> </td>
630 <td class="dis1"> </td>
631 <td class="noc1"> </td>
633 <td>New Content-Type:<br>
634 <input type="text" name="content_type_overwrite_mode" size="40"
635 value="@content-type-overwrite-param@"></td>
637 <tr class="bg1" align="left" valign="top">
638 <td class="en1" align="center" valign="middle"><input type="radio"
639 name="crunch_client_header" id="crunch_client_header_y" value="Y" @crunch-client-header-y@
641 <td class="dis1" align="center" valign="middle"><input type="radio"
642 name="crunch_client_header" value="N" @crunch-client-header-n@
644 <td class="noc1" align="center" valign="middle"><input type="radio"
645 name="crunch_client_header" value="X" @crunch-client-header-x@
647 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-CLIENT-HEADER">crunch-client-header</a></td>
648 <td>Remove header(s) matching the supplied pattern.</td>
650 <tr class="bg1" align="left" valign="top" id="crunch_client_header_opts">
651 <td class="en1"> </td>
652 <td class="dis1"> </td>
653 <td class="noc1"> </td>
655 <td>Header string to suppress:<br>
656 <input type="text" name="crunch_client_header_mode" size="40"
657 value="@crunch-client-header-param@"></td>
659 <tr class="bg1" align="left" valign="top">
660 <td class="en1" align="center" valign="middle"><input type="radio"
661 name="crunch_if_none_match" value="Y" @crunch-if-none-match-y@
663 <td class="dis1" align="center" valign="middle"><input type="radio"
664 name="crunch_if_none_match" value="N" @crunch-if-none-match-n@
666 <td class="noc1" align="center" valign="middle"><input type="radio"
667 name="crunch_if_none_match" value="X" @crunch-if-none-match-x@
669 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH_IF_NONE_MATCH">crunch-if-none-match</a></td>
670 <td>Remove If-None-Match header. Useful for filter testing
671 and to make sure the header can't be used to track your visits.</td>
674 <tr class="bg1" align="left" valign="top">
675 <td class="en1" align="center" valign="middle"><input type="radio"
676 name="crunch_incoming_cookies" value="Y" @crunch-incoming-cookies-y@
678 <td class="dis1" align="center" valign="middle"><input type="radio"
679 name="crunch_incoming_cookies" value="N" @crunch-incoming-cookies-n@
681 <td class="noc1" align="center" valign="middle"><input type="radio"
682 name="crunch_incoming_cookies" value="X" @crunch-incoming-cookies-x@
684 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></td>
685 <td>Prevent the website from setting HTTP cookies on your system.</td>
687 <tr class="bg1" align="left" valign="top">
688 <td class="en1" align="center" valign="middle"><input type="radio"
689 name="crunch_outgoing_cookies" value="Y" @crunch-outgoing-cookies-y@
691 <td class="dis1" align="center" valign="middle"><input type="radio"
692 name="crunch_outgoing_cookies" value="N" @crunch-outgoing-cookies-n@
694 <td class="noc1" align="center" valign="middle"><input type="radio"
695 name="crunch_outgoing_cookies" value="X" @crunch-outgoing-cookies-x@
697 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></td>
698 <td>Prevent the website from reading HTTP cookies from your system.</td>
700 <tr class="bg1" align="left" valign="top">
701 <td class="en1" align="center" valign="middle"><input type="radio"
702 name="crunch_server_header" id="crunch_server_header_y" value="Y" @crunch-server-header-y@
704 <td class="dis1" align="center" valign="middle"><input type="radio"
705 name="crunch_server_header" value="N" @crunch-server-header-n@
707 <td class="noc1" align="center" valign="middle"><input type="radio"
708 name="crunch_server_header" value="X" @crunch-server-header-x@
710 <td class="action"><a href="@user-manual@@actions-help-prefix@CRUNCH-SERVER-HEADER">crunch-server-header</a></td>
711 <td>Remove server header(s) matching the supplied pattern.</td>
713 <tr class="bg1" align="left" valign="top" id="crunch_server_header_opts">
714 <td class="en1"> </td>
715 <td class="dis1"> </td>
716 <td class="noc1"> </td>
718 <td>Header string to suppress:<br>
719 <input type="text" name="crunch_server_header_mode" size="40"
720 value="@crunch-server-header-param@"></td>
723 <tr class="bg1" align="left" valign="top">
724 <td class="en1" align="center" valign="middle"><input type="radio"
725 name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
726 onclick="show_deanimate_opts(true)"></td>
727 <td class="dis1" align="center" valign="middle"><input type="radio"
728 name="deanimate_gifs" value="N" @deanimate-gifs-n@
729 onclick="show_deanimate_opts(false)"></td>
730 <td class="noc1" align="center" valign="middle"><input type="radio"
731 name="deanimate_gifs" value="X" @deanimate-gifs-x@
732 onclick="show_deanimate_opts(false)"></td>
733 <td class="action"><a href="@user-manual@@actions-help-prefix@DEANIMATE-GIFS">deanimate-gifs</a></td>
734 <td>Replace animated GIFs with their (first/last) frame.</td>
736 <tr class="bg1" align="left" valign="top" id="deanimate_opts">
737 <td class="en1"> </td>
738 <td class="dis1"> </td>
739 <td class="noc1"> </td>
741 <td>Use the <input type="radio" name="deanimate_gifs_mode"
742 value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
743 for="deanimate_first">first frame</label> <input
744 type="radio" name="deanimate_gifs_mode" value="last"
745 id="deanimate_last" @deanimate-gifs-param-last@><label
746 for="deanimate_last">last frame</label></td>
748 <tr class="bg1" align="left" valign="top">
749 <td class="en1" align="center" valign="middle"><input type="radio"
750 name="downgrade_http_version" value="Y" @downgrade-http-version-y@></td>
751 <td class="dis1" align="center" valign="middle"><input type="radio"
752 name="downgrade_http_version" value="N" @downgrade-http-version-n@></td>
753 <td class="noc1" align="center" valign="middle"><input type="radio"
754 name="downgrade_http_version" value="X" @downgrade-http-version-x@></td>
755 <td class="action"><a href="@user-manual@@actions-help-prefix@DOWNGRADE-HTTP-VERSION"
756 >downgrade-http-version</a></td>
757 <td>Change HTTP/1.1 requests to HTTP/1.0. Only change if you know
758 what you're doing!</td>
760 <tr class="bg1" align="left" valign="top">
761 <td class="en1" align="center" valign="middle"><input type="radio"
762 name="fast_redirects" value="Y" @fast-redirects-y@
764 <td class="dis1" align="center" valign="middle"><input type="radio"
765 name="fast_redirects" value="N" @fast-redirects-n@
767 <td class="noc1" align="center" valign="middle"><input type="radio"
768 name="fast_redirects" value="X" @fast-redirects-x@
770 <td class="action"><a href="@user-manual@@actions-help-prefix@FAST-REDIRECTS">fast-redirects</a></td>
771 <td>Bypass some click-tracking URLs.</td>
773 <tr class="bg1" align="left" valign="top" id="fast-redirects_opts">
774 <td class="en1"> </td>
775 <td class="dis1"> </td>
776 <td class="noc1"> </td>
779 <input type="radio" name="fast_redirects_mode"
780 value="simple-check" id="fast_redirects_simple_check" @fast-redirects-param-simple-check@><label
781 for="fast_redirects_simple_check">Simple check.</label>
783 <input type="radio" name="fast_redirects_mode" value="check-decoded-url"
784 id="fast_redirects_check_decoded_url" @fast-redirects-param-check-decoded-url@><label
785 for="fast_redirects_check_decoded_url">Decode URL before checking.</label></td>
787 <!-- @if-multiple-forms-start -->
790 <input type="hidden" name="f" value="@f@">
791 <input type="hidden" name="v" value="@v@">
792 <input type="hidden" name="s" value="@s@">
793 <input type="submit" value="Submit changes in Section 1" name="Submit">
797 <tr><td class="wrapbox">
798 <form method="GET" action="edit-actions-submit" id="myform-2" name="myform">
799 <h2>Edit Actions (Section 2)</h2>
800 <table summary="Action section 2" border="0" cellspacing="2" width="100%" class="wide">
801 <tr class="hdr" align="left">
802 <th class="enh" align="center">Enable</th>
803 <th class="dish" align="center">Disable</th>
804 <th class="noch" align="center">No Change</th>
808 <!-- if-multiple-forms-end@ -->
809 <tr class="bg1" align="left" valign="top">
810 <td class="en1"> </td>
811 <td class="dis1" align="center" valign="middle"><input type="radio"
812 name="filter_all" id="filter_all_n" value="N" @filter-all-n@ ></td>
813 <td class="noc1" align="center" valign="middle"><input type="radio"
814 name="filter_all" id="filter_all_x" value="X" @filter-all-x@ ></td>
815 <td class="action"><a href="@user-manual@@actions-help-prefix@FILTER">filter</a> *</td>
816 <td>Filter the website through regular expression
817 filters. You can use the radio buttons on this line to disable
818 all filters applied by previous rules, and/or you can enable or
819 disable the filters individually below.</td>
822 @content-filter-params@
824 <!-- @if-multiple-forms-start -->
827 <input type="hidden" name="f" value="@f@">
828 <input type="hidden" name="v" value="@v@">
829 <input type="hidden" name="s" value="@s@">
830 <input type="submit" value="Submit changes in Section 2" name="Submit">
834 <tr><td class="wrapbox">
835 <form method="GET" action="edit-actions-submit" id="myform-3" name="myform">
836 <h2>Edit Actions (Section 3)</h2>
837 <table summary="Action section 3" border="0" cellspacing="2" width="100%" class="wide">
838 <tr class="hdr" align="left">
839 <th class="enh" align="center">Enable</th>
840 <th class="dish" align="center">Disable</th>
841 <th class="noch" align="center">No Change</th>
845 <!-- if-multiple-forms-end@ -->
846 <tr class="bg1" align="left" valign="top">
847 <td class="en1" align="center" valign="middle"><input type="radio"
848 name="force_text_mode" value="Y" @force-text-mode-y@
850 <td class="dis1" align="center" valign="middle"><input type="radio"
851 name="force_text_mode" value="N" @force-text-mode-n@
853 <td class="noc1" align="center" valign="middle"><input type="radio"
854 name="force_text_mode" value="X" @force-text-mode-x@
856 <td class="action"><a href="@user-manual@@actions-help-prefix@FORCE_TEXT_MODE">force-text-mode</a></td>
858 Enable filtering on documents whose Content-Type wasn't recognized as text.
859 Do think twice, nothing is alright.
862 <tr class="bg1" align="left" valign="top">
863 <td class="en1" align="center" valign="middle"><input type="radio"
864 name="forward_override" id="forward_override_y" value="Y" @forward-override-y@
866 <td class="dis1" align="center" valign="middle"><input type="radio"
867 name="forward_override" id="forward_override_n" value="N" @forward-override-n@
869 <td class="noc1" align="center" valign="middle"><input type="radio"
870 name="forward_override" id="forward_override_x" value="X" @forward-override-x@
872 <td class="action"><a href="@user-manual@@actions-help-prefix@FORWARD-OVERRIDE">forward-override</a></td>
873 <td>Override forward directives in the configuration file.
874 Note that the <a href="@user-manual@actions-file.html#FORWARD-OVERRIDE">parameter syntax</a>
875 isn't checked until the action is used. <strong class="warning">Syntax errors
876 will cause Privoxy to exit.</strong></td>
878 <tr class="bg1" align="left" valign="top" id="forward_override_language_opts">
879 <td class="en1"> </td>
880 <td class="dis1"> </td>
881 <td class="noc1"> </td>
884 Overriding forward directive:<br>
885 <input type="text" name="forward_override_param"
886 id="forward_override_param" size="40"
887 value="@forward-override-param@"><br>
890 <tr class="bg1" align="left" valign="top">
891 <td class="en1" align="center" valign="middle"><input type="radio"
892 name="handle_as_empty_document" value="Y" @handle-as-empty-document-y@
894 <td class="dis1" align="center" valign="middle"><input type="radio"
895 name="handle_as_empty_document" value="N" @handle-as-empty-document-n@
897 <td class="noc1" align="center" valign="middle"><input type="radio"
898 name="handle_as_empty_document" value="X" @handle-as-empty-document-x@
900 <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE_AS_EMPTY_DOCUMENT">handle-as-empty-document</a></td>
902 Block with an <em>empty</em> document instead of an Image or HTML message.
903 The <em>empty</em> document contains only a space and can safely be parsed
904 as JavaScript or Style Sheet. Use content-type-overwrite to specify the
905 Content-Type, default is <q>text/html</q>.
908 <tr class="bg1" align="left" valign="top">
909 <td class="en1" align="center" valign="middle"><input type="radio"
910 name="handle_as_image" value="Y" @handle-as-image-y@
912 <td class="dis1" align="center" valign="middle"><input type="radio"
913 name="handle_as_image" value="N" @handle-as-image-n@
915 <td class="noc1" align="center" valign="middle"><input type="radio"
916 name="handle_as_image" value="X" @handle-as-image-x@
918 <td class="action"><a href="@user-manual@@actions-help-prefix@HANDLE-AS-IMAGE">handle-as-image</a></td>
919 <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>
920 and <i><b><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></b></i> actions).</td>
922 <tr class="bg1" align="left" valign="top">
923 <td class="en1" align="center" valign="middle"><input type="radio"
924 name="hide_accept_language" id="hide_accept_language_y" value="Y" @hide-accept-language-y@
925 onclick="show_hide_accept_language_opts(true)"></td>
926 <td class="dis1" align="center" valign="middle"><input type="radio"
927 name="hide_accept_language" id="hide_accept_language_n" value="N" @hide-accept-language-n@
928 onclick="show_hide_accept_language_opts(false)"></td>
929 <td class="noc1" align="center" valign="middle"><input type="radio"
930 name="hide_accept_language" id="hide_accept_language_x" value="X" @hide-accept-language-x@
931 onclick="show_hide_accept_language_opts(false)"
933 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-ACCEPT-LANGUAGE">hide-accept-language</a></td>
934 <td>Pretend to have different language settings. (Makes a fake User-Agent more believable,
935 but you may end up with content in the language you pretended to understand.)</td>
937 <tr class="bg1" align="left" valign="top" id="hide_accept-language_opts">
938 <td class="en1"> </td>
939 <td class="dis1"> </td>
940 <td class="noc1"> </td>
942 <td><input type="radio" name="hide_accept_language_mode" value="block"
943 onclick="hide_accept_language_param_disable(true)"
944 @hide-accept-language-param-block@ id="hide_accept_language_mode_block"><label
945 for="hide_accept_language_mode_block">Remove Accept-Language header without replacement.</label>
947 <input type="radio" name="hide_accept_language_mode" value="CUSTOM"
948 onclick="hide_accept_language_param_disable(false)"
949 @hide-accept-language-param-custom@ id="hide_accept_language_mode_set"><label
950 for="hide_accept_language_mode_set">Fake these language settings:</label><br>
951 <input type="text" name="hide_accept_language_param"
952 id="hide_accept_language_param" size="40"
953 value="@hide-accept-language-param@"><br>
956 <tr class="bg1" align="left" valign="top">
957 <td class="en1" align="center" valign="middle"><input type="radio"
958 name="hide_content_disposition" id="hide_content_disposition_y" value="Y" @hide-content-disposition-y@
959 onclick="show_hide_content_disposition_opts(true)"></td>
960 <td class="dis1" align="center" valign="middle"><input type="radio"
961 name="hide_content_disposition" id="hide_content_disposition_n" value="N" @hide-content-disposition-n@
962 onclick="show_hide_content_disposition_opts(false)"></td>
963 <td class="noc1" align="center" valign="middle"><input type="radio"
964 name="hide_content_disposition" id="hide_content_disposition_x" value="X" @hide-content-disposition-x@
965 onclick="show_hide_content_disposition_opts(false)"
967 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-CONTENT-DISPOSITION">hide-content-disposition</a></td>
968 <td>Block or overwrite the content-disposition header. Useful to view a document inside the browser,
969 even if you were supposed to save it first, or to change the suggested file name.</td>
971 <tr class="bg1" align="left" valign="top" id="hide_content_disposition_opts">
972 <td class="en1"> </td>
973 <td class="dis1"> </td>
974 <td class="noc1"> </td>
976 <td><input type="radio" name="hide_content_disposition_mode" value="block"
977 onclick="hide_content_disposition_param_disable(true)"
978 @hide-content-disposition-param-block@ id="hide_content_disposition_mode_block"><label
979 for="hide_content_disposition_mode_block">Remove content-disposition header without replacement.</label>
981 <input type="radio" name="hide_content_disposition_mode" value="CUSTOM"
982 onclick="hide_content_disposition_param_disable(false)"
983 @hide-content-disposition-param-custom@ id="hide_content_disposition_mode_set"><label
984 for="hide_content_disposition_mode_set">Overwrite content-dispostion header with:</label><br>
985 <input type="text" name="hide_content_disposition_param"
986 id="hide_content_disposition_param" size="40"
987 value="@hide-content-disposition-param@"><br>
990 <tr class="bg1" align="left" valign="top">
991 <td class="en1" align="center" valign="middle"><input type="radio"
992 name="hide_from_header" id="hide_from_header_y" value="Y" @hide-from-header-y@
993 onclick="show_hide_from_header_opts(true)"></td>
994 <td class="dis1" align="center" valign="middle"><input type="radio"
995 name="hide_from_header" value="N" @hide-from-header-n@
996 onclick="show_hide_from_header_opts(false)"></td>
997 <td class="noc1" align="center" valign="middle"><input type="radio"
998 name="hide_from_header" value="X" @hide-from-header-x@
999 onclick="show_hide_from_header_opts(false)"></td>
1000 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-FROM-HEADER">hide-from-header</a></td>
1001 <td>Stop old web browsers from sending the user's e-mail address with
1004 <tr class="bg1" align="left" valign="top" id="hide_from_header_opts">
1005 <td class="en1"> </td>
1006 <td class="dis1"> </td>
1007 <td class="noc1"> </td>
1009 <td><input type="radio" name="hide_from_header_mode" value="block"
1010 onclick="hide_from_header_param_disable(true);"
1011 @hide-from-header-param-block@ id="hide_from_header_mode_block"><label
1012 for="hide_from_header_mode_block">Remove completely</label><br>
1013 <input type="radio" name="hide_from_header_mode" value="CUSTOM"
1014 onclick="hide_from_header_param_disable(false);"
1015 @hide-from-header-param-custom@ id="hide_from_header_mode_set"><label
1016 for="hide_from_header_mode_set">Fake e-mail address:</label><br>
1017 <input type="text" name="hide_from_header_param" id="hide_from_header_param"
1018 size="40" value="@hide-from-header-param@"></td>
1021 <tr class="bg1" align="left" valign="top">
1022 <td class="en1" align="center" valign="middle"><input type="radio"
1023 name="hide_if_modified_since" value="Y" @hide-if-modified-since-y@
1025 <td class="dis1" align="center" valign="middle"><input type="radio"
1026 name="hide_if_modified_since" value="N" @hide-if-modified-since-n@
1028 <td class="noc1" align="center" valign="middle"><input type="radio"
1029 name="hide_if_modified_since" value="X" @hide-if-modified-since-x@
1031 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE_IF_MODIFIED_SINCE">hide-if-modified-since</a></td>
1032 <td>Remove or randomize the If-Modified-Since header.</td>
1034 <tr class="bg1" align="left" valign="top" id="hide_if-modifed-since_opts">
1035 <td class="en1"> </td>
1036 <td class="dis1"> </td>
1037 <td class="noc1"> </td>
1039 <td><input type="radio" name="hide_if_modified_since_mode" value="block"
1040 onclick="hide_if_modified_since_param_disable(true)"
1041 @hide-if-modified-since-param-block@ id="hide_if_modified_since_mode_block"><label
1042 for="hide_if_modified_since_mode_block">Remove without replacement.</label>
1043 Useful for filter testing.<br>
1044 <input type="radio" name="hide_if_modified_since_mode" value="CUSTOM"
1045 onclick="hide_if_modified_since_param_disable(true)"
1046 @hide-if-modified-since-param-custom@ id="hide_if_modified_since_mode_set"><label
1047 for="hide_if_modified_since_mode_set">Add random amount of seconds in the range of</label>
1048 <input type="text" name="hide_if_modified_since_param"
1049 id="hide_if_modified_since_param" size="4"
1050 value="@hide-if-modified-since-param@"> minute(s).
1051 To appreciate this option a small amount of paranoia is required,
1052 but at least in theory the If-Modified-Since header could be used
1053 to keep track of your visits.
1056 <!-- @if-multiple-forms-start -->
1059 <input type="hidden" name="f" value="@f@">
1060 <input type="hidden" name="v" value="@v@">
1061 <input type="hidden" name="s" value="@s@">
1062 <input type="submit" value="Submit changes in Section 3" name="Submit">
1066 <tr><td class="wrapbox">
1067 <form method="GET" action="edit-actions-submit" id="myform-4" name="myform">
1068 <h2>Edit Actions (Section 4)</h2>
1069 <table summary="Action section 4" border="0" cellspacing="2" width="100%" class="wide">
1070 <tr class="hdr" align="left">
1071 <th class="enh" align="center">Enable</th>
1072 <th class="dish" align="center">Disable</th>
1073 <th class="noch" align="center">No Change</th>
1075 <th>Description</th>
1077 <!-- if-multiple-forms-end@ -->
1078 <tr class="bg1" align="left" valign="top">
1079 <td class="en1" align="center" valign="middle"><input type="radio"
1080 name="hide_referrer" id="hide_referrer_y" value="Y" @hide-referrer-y@
1081 onclick="show_hide_referrer_opts(true)"></td>
1082 <td class="dis1" align="center" valign="middle"><input type="radio"
1083 name="hide_referrer" id="hide_referrer_n" value="N" @hide-referrer-n@
1084 onclick="show_hide_referrer_opts(false)"></td>
1085 <td class="noc1" align="center" valign="middle"><input type="radio"
1086 name="hide_referrer" id="hide_referrer_x" value="X" @hide-referrer-x@
1087 onclick="show_hide_referrer_opts(false)"
1089 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-REFERRER">hide-referrer</a></td>
1090 <td>Helps prevent tracking by not sending the URL of the previous web
1093 <tr class="bg1" align="left" valign="top" id="hide_referrer_opts">
1094 <td class="en1"> </td>
1095 <td class="dis1"> </td>
1096 <td class="noc1"> </td>
1098 <td><input type="radio" name="hide_referrer_mode" value="block"
1099 onclick="hide_referrer_param_disable(true)"
1100 @hide-referrer-param-block@ id="hide_referrer_mode_block"><label
1101 for="hide_referrer_mode_block">Remove completely</label> (breaks images
1102 on some free web hosts).<br>
1103 <input type="radio" name="hide_referrer_mode" value="forge"
1104 onclick="hide_referrer_param_disable(true)"
1105 @hide-referrer-param-forge@ id="hide_referrer_mode_forge"><label
1106 for="hide_referrer_mode_forge">Fake as the root directory of the
1107 site</label> (fools checks for in-site links.)<br>
1108 <input type="radio" name="hide_referrer_mode" value="CUSTOM"
1109 onclick="hide_referrer_param_disable(false)"
1110 @hide-referrer-param-custom@ id="hide_referrer_mode_set"><label
1111 for="hide_referrer_mode_set">Fake as this web address:</label><br>
1112 <input type="text" name="hide_referrer_param"
1113 id="hide_referrer_param" size="40"
1114 value="@hide-referrer-param@"><br>
1115 <input type="radio" name="hide_referrer_mode" value="conditional-block"
1116 onclick="hide_referrer_param_disable(true)"
1117 @hide-referrer-param-conditional-block@ id="hide_referrer_mode_conditional-block"><label
1118 for="hide_referrer_mode_conditional-block">Remove completely if host has changed,
1119 but don't touch in-site referrers.
1120 Less suspicious than the options above.</label><br>
1121 <input type="radio" name="hide_referrer_mode" value="conditional-forge"
1122 onclick="hide_referrer_param_disable(true)"
1123 @hide-referrer-param-conditional-forge@ id="hide_referrer_mode_conditional-forge"><label
1124 for="hide_referrer_mode_conditional-forge">Forge referrer if host has
1125 changed, but don't touch in-site referrers.</label><br>
1128 <tr class="bg1" align="left" valign="top">
1129 <td class="en1" align="center" valign="middle"><input type="radio"
1130 name="hide_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
1131 onclick="show_user_agent_opts(true)"></td>
1132 <td class="dis1" align="center" valign="middle"><input type="radio"
1133 name="hide_user_agent" value="N" @hide-user-agent-n@
1134 onclick="show_user_agent_opts(false)"></td>
1135 <td class="noc1" align="center" valign="middle"><input type="radio"
1136 name="hide_user_agent" value="X" @hide-user-agent-x@
1137 onclick="show_user_agent_opts(false)"></td>
1138 <td class="action"><a href="@user-manual@@actions-help-prefix@HIDE-USER-AGENT">hide-user-agent</a></td>
1139 <td>Pretend to be using a different web browser. (May cause problems with broken web sites).</td>
1141 <tr class="bg1" align="left" valign="top" id="user_agent_opts">
1142 <td class="en1"> </td>
1143 <td class="dis1"> </td>
1144 <td class="noc1"> </td>
1146 <td>User Agent string to send:<br>
1147 <input type="text" name="hide_user_agent_mode" size="40"
1148 value="@hide-user-agent-param@"></td>
1150 <tr class="bg1" align="left" valign="top">
1151 <td class="en1" align="center" valign="middle"><input type="radio"
1152 name="limit_connect" id="limit_connect_y" value="Y" @limit-connect-y@
1153 onclick="show_limit_connect_opts(true)"></td>
1154 <td class="dis1" align="center" valign="middle"><input type="radio"
1155 name="limit_connect" value="N" @limit-connect-n@
1156 onclick="show_limit_connect_opts(false)"></td>
1157 <td class="noc1" align="center" valign="middle"><input type="radio"
1158 name="limit_connect" value="X" @limit-connect-x@
1159 onclick="show_limit_connect_opts(false)"></td>
1160 <td class="action"><a href="@user-manual@@actions-help-prefix@LIMIT-CONNECT">limit-connect</a></td>
1161 <td>Limit which ports are allowed in HTTP CONNECT requests. These requests are
1162 used to tunnel SSL and other protocols through HTTP proxies.</td>
1164 <tr class="bg1" align="left" valign="top" id="limit_connect_opts">
1165 <td class="en1"> </td>
1166 <td class="dis1"> </td>
1167 <td class="noc1"> </td>
1169 <td>Legal ports (comma separated, ranges allowed):<br>
1170 <input type="text" name="limit_connect_mode" size="40"
1171 value="@limit-connect-param@"></td>
1173 <tr class="bg1" align="left" valign="top">
1174 <td class="en1" align="center" valign="middle"><input type="radio"
1175 name="overwrite_last_modified" value="Y" @overwrite-last-modified-y@
1177 <td class="dis1" align="center" valign="middle"><input type="radio"
1178 name="overwrite_last_modified" value="N" @overwrite-last-modified-n@
1180 <td class="noc1" align="center" valign="middle"><input type="radio"
1181 name="overwrite_last_modified" value="X" @overwrite-last-modified-x@
1183 <td class="action"><a href="@user-manual@@actions-help-prefix@OVERWRITE_LAST_MODIFIED">overwrite-last-modified</a></td>
1184 <td>Remove or randomize the Last-Modified header.</td>
1186 <tr class="bg1" align="left" valign="top" id="overwrite_last_modified_opts">
1187 <td class="en1"> </td>
1188 <td class="dis1"> </td>
1189 <td class="noc1"> </td>
1191 <td><input type="radio" name="overwrite_last_modified_mode" value="block"
1192 onclick="overwrite_last_modified_param_disable(true)"
1193 @overwrite-last-modified-param-block@ id="overwrite_last_modified_mode_block"><label
1194 for="overwrite_last_modified_mode_block">Remove without replacement.</label>
1196 <input type="radio" name="overwrite_last_modified_mode" value="reset-to-request-time"
1197 onclick="overwrite_last_modified_param_disable(true)"
1198 @overwrite-last-modified-param-reset-to-request-time@
1199 id="overwrite_last_modified_mode_reset-to-request-time"><label
1200 for="overwrite_last_modified_mode_reset-to-request-time">Reset to the time of the request.</label>
1202 <input type="radio" name="overwrite_last_modified_mode" value="randomize"
1203 onclick="overwrite_last_modified_param_disable(true)"
1204 @overwrite-last-modified-param-randomize@
1205 id="overwrite_last_modified_mode_randomize"><label
1206 for="overwrite_last_modified_mode_randomize">Overwrite with random value
1207 between original header value and the time of the request.</label>
1211 <tr class="bg1" align="left" valign="top">
1212 <td class="en1" align="center" valign="middle"><input type="radio"
1213 name="prevent_compression" value="Y" @prevent-compression-y@
1215 <td class="dis1" align="center" valign="middle"><input type="radio"
1216 name="prevent_compression" value="N" @prevent-compression-n@
1218 <td class="noc1" align="center" valign="middle"><input type="radio"
1219 name="prevent_compression" value="X" @prevent-compression-x@
1221 <td class="action"><a href="@user-manual@@actions-help-prefix@PREVENT-COMPRESSION">prevent-compression</a></td>
1222 <td>Disables compression. Compressed web pages are faster to
1223 download, but cannot be filtered with <a href="@user-manual@@actions-help-prefix@FILTER"><b>filter</b></a>
1224 or <a href="@user-manual@@actions-help-prefix@KILL-POPUPS"><b>kill-popups</b></a>
1225 if your Privoxy version was build without zlib support.</td>
1227 <tr class="bg1" align="left" valign="top">
1228 <td class="en1" align="center" valign="middle"><input type="radio"
1229 name="redirect" value="Y" @redirect-y@
1231 <td class="dis1" align="center" valign="middle"><input type="radio"
1232 name="redirect" value="N" @redirect-n@
1234 <td class="noc1" align="center" valign="middle"><input type="radio"
1235 name="redirect" value="X" @redirect-x@
1237 <td class="action"><a href="@user-manual@@actions-help-prefix@REDIRECT">redirect</a></td>
1238 <td>Redirect to another address.
1240 <tr class="bg1" align="left" valign="top" id="redirect_opts">
1241 <td class="en1"> </td>
1242 <td class="dis1"> </td>
1243 <td class="noc1"> </td>
1245 <td>Static address or a single pcrs command to redirect to a rewritten version of the original URL:<br>
1246 <input type="text" name="redirect_mode" size="40"
1247 value="@redirect-param@"></td>
1250 <tr class="bg1" align="left" valign="top">
1251 <td class="en1"> </td>
1252 <td class="dis1" align="center" valign="middle"><input type="radio"
1253 name="server_header_filter_all" id="server_header_filter_all_n" value="N" @server-header-filter-all-n@ ></td>
1254 <td class="noc1" align="center" valign="middle"><input type="radio"
1255 name="server_header_filter_all" id="server_header_filter_all_x" value="X" @server-header-filter-all-x@ ></td>
1256 <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-FILTER">server-header-filter</a> *</td>
1257 <td>Filter the server headers.
1258 You can use the radio buttons on this line to disable
1259 all server-header filters applied by previous rules, and/or
1260 you can enable or disable the filters individually below.</td>
1262 @server-header-filter-params@
1263 <tr class="bg1" align="left" valign="top">
1264 <td class="en1"> </td>
1265 <td class="dis1" align="center" valign="middle"><input type="radio"
1266 name="server_header_tagger_all" id="server_header_tagger_all_n" value="N" @server-header-tagger-all-n@ ></td>
1267 <td class="noc1" align="center" valign="middle"><input type="radio"
1268 name="server_header_tagger_all" id="server_header_tagger_all_x" value="X" @server-header-tagger-all-x@ ></td>
1269 <td class="action"><a href="@user-manual@@actions-help-prefix@SERVER-HEADER-TAGGER">server-header-tagger</a> *</td>
1270 <td>Create tags based on the server headers.
1271 You can use the radio buttons on this line to disable
1272 all server-header taggers applied by previous rules, and/or
1273 you can enable or disable the taggers individually below.</td>
1275 @server-header-tagger-params@
1276 <tr class="bg1" align="left" valign="top">
1277 <td class="en1" align="center" valign="middle"><input type="radio"
1278 name="session_cookies_only" value="Y" @session-cookies-only-y@
1280 <td class="dis1" align="center" valign="middle"><input type="radio"
1281 name="session_cookies_only" value="N" @session-cookies-only-n@
1283 <td class="noc1" align="center" valign="middle"><input type="radio"
1284 name="session_cookies_only" value="X" @session-cookies-only-x@
1286 <td class="action"><a href="@user-manual@@actions-help-prefix@SESSION-COOKIES-ONLY">session-cookies-only</a></td>
1287 <td>HTTP cookies set by the website are changed to temporary
1288 ("per-session") ones, which only last until you close your web
1289 browser. This will allow you to use sites that require cookies, but
1290 sites will not be able to track you across sessions. For this to
1291 be useful, you should disable
1292 <a href="@user-manual@@actions-help-prefix@CRUNCH-OUTGOING-COOKIES"><b>crunch-outgoing-cookies</b></a> and
1293 <a href="@user-manual@@actions-help-prefix@CRUNCH-INCOMING-COOKIES"><b>crunch-incoming-cookies</b></a>.</td>
1295 <tr class="bg1" align="left" valign="top">
1296 <td class="en1" align="center" valign="middle"><input type="radio"
1297 name="set_image_blocker" id="set_image_blocker_y" value="Y" @set-image-blocker-y@
1298 onclick="show_set_image_blocker_opts(true)"></td>
1299 <td class="dis1" align="center" valign="middle"><input type="radio"
1300 name="set_image_blocker" value="N" @set-image-blocker-n@
1301 onclick="show_set_image_blocker_opts(false)"></td>
1302 <td class="noc1" align="center" valign="middle"><input type="radio"
1303 name="set_image_blocker" value="X" @set-image-blocker-x@
1304 onclick="show_set_image_blocker_opts(false)"></td>
1305 <td class="action"><a href="@user-manual@@actions-help-prefix@SET-IMAGE-BLOCKER">set-image-blocker</a></td>
1306 <td>Specifies how to block images.</td>
1308 <tr class="bg1" align="left" valign="top" id="set_image_blocker_opts">
1309 <td class="en1"> </td>
1310 <td class="dis1"> </td>
1311 <td class="noc1"> </td>
1313 <td><input type="radio" name="set_image_blocker_mode"
1314 onclick="set_image_blocker_param_disable(true)"
1315 value="pattern" id="set_image_blocker_mode_pattern"
1316 @set-image-blocker-param-pattern@><label
1317 for="set_image_blocker_mode_pattern">Send a pattern (<img
1318 src="send-banner?type=p" width="12" height="12"
1319 alt="pattern">)</label><br>
1320 <input type="radio" name="set_image_blocker_mode" value="blank"
1321 onclick="set_image_blocker_param_disable(true)"
1322 id="set_image_blocker_mode_blank" @set-image-blocker-param-blank@><label
1323 for="set_image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
1324 <input type="radio" name="set_image_blocker_mode" value="CUSTOM"
1325 onclick="set_image_blocker_param_disable(false)"
1326 id="set_image_blocker_mode_set" @set-image-blocker-param-custom@><label
1327 for="set_image_blocker_mode_set">Redirect
1328 the browser to this image URL:</label><br>
1329 <input type="text" name="set_image_blocker_param" id="set_image_blocker_param"
1330 size="40" value="@set-image-blocker-param@"></td>
1334 <!-- @if-multiple-forms-start -->
1336 <input type="hidden" name="f" value="@f@">
1337 <input type="hidden" name="v" value="@v@">
1338 <input type="hidden" name="s" value="@s@">
1339 <input type="submit" value="Submit changes in Section 4" name="Submit">
1342 <!-- if-multiple-forms-end@ -->
1344 <!-- @if-one-form-only-start -->
1346 <td class="green" align="center">
1347 <p><input type="submit" value="Submit" name="Submit"></p>
1350 <!-- if-one-form-only-end@ -->
1353 <h2>More Privoxy:</h2>
1354 <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
1361 #include mod-support-and-service
1366 <!-- @if-have-help-info-start -->
1370 #include mod-local-help
1374 <!-- if-have-help-info-end@ -->
1377 <!-- @if-one-form-only-start -->
1379 <!-- if-one-form-only-end@ -->
1381 <script type="text/javascript">
1384 if (document.getElementById) {
1385 // alert("Netscape 6 or IE5");
1386 document.getElementById("hide_from_header_param").disabled = !(document.getElementById("hide_from_header_mode_set").checked);
1387 document.getElementById("hide_referrer_param").disabled = !(document.getElementById("hide_referrer_mode_set").checked);
1388 document.getElementById("set_image_blocker_param").disabled = !(document.getElementById("set_image_blocker_mode_set").checked);
1390 show_add_header_opts (document.getElementById("add_header_y").checked);
1391 show_deanimate_opts (document.getElementById("deanimate_gifs_y").checked);
1392 show_hide_from_header_opts(document.getElementById("hide_from_header_y").checked);
1393 show_hide_referrer_opts (document.getElementById("hide_referrer_y").checked);
1394 show_user_agent_opts (document.getElementById("hide_user_agent_y").checked);
1395 show_set_image_blocker_opts (document.getElementById("set_image_blocker_y").checked);
1396 show_limit_connect_opts (document.getElementById("limit_connect_y").checked);
1397 show_send_wafer_opts (document.getElementById("send_wafer_y").checked);
1398 } else if (document.all) {
1400 document.myform.hide_from_header_param.disabled = !(document.myform.hide_from_header_mode_set.checked);
1401 document.myform.hide_referrer_param.disabled = !(document.myform.hide_referrer_mode_set.checked);
1402 document.myform.set_image_blocker_param.disabled = !(document.myform.set_image_blocker_mode_set.checked);
1404 show_add_header_opts (document.myform.add_header_y.checked);
1405 show_deanimate_opts (document.myform.deanimate_gifs_y.checked);
1406 show_hide_from_header_opts (document.myform.hide_from_header_y.checked);
1407 show_hide_referrer_opts (document.myform.hide_referrer_y.checked);
1408 show_user_agent_opts (document.myform.hide_user_agent_y.checked);
1409 show_set_image_blocker_opts (document.myform.set_image_blocker_y.checked);
1410 show_limit_connect_opts (document.myform.limit_connect_y.checked);
1411 show_send_wafer_opts (document.myform.send_wafer_y.checked);
1412 } else if (document.layers) {
1413 // alert("Netscape 4");