+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Appendix</TITLE
><META
NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
-TITLE="Privoxy 3.0.6 User Manual"
+TITLE="Privoxy 3.0.11 User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="See Also"
HREF="seealso.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
-HREF="../p_doc.css">
+HREF="../p_doc.css"><META
+HTTP-EQUIV="Content-Type"
+CONTENT="text/html;
+charset=ISO-8859-1">
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
</head
><BODY
><TH
COLSPAN="3"
ALIGN="center"
->Privoxy 3.0.6 User Manual</TH
+>Privoxy 3.0.11 User Manual</TH
></TR
><TR
><TD
CLASS="SECT1"
><A
NAME="APPENDIX"
-></A
->14. Appendix</H1
+>14. Appendix</A
+></H1
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="REGEX"
-></A
->14.1. Regular Expressions</H2
+>14.1. Regular Expressions</A
+></H2
><P
> <SPAN
CLASS="APPLICATION"
><H2
CLASS="SECT2"
><A
-NAME="AEN5046"
-></A
->14.2. Privoxy's Internal Pages</H2
+NAME="AEN5180"
+>14.2. Privoxy's Internal Pages</A
+></H2
><P
> Since <SPAN
CLASS="APPLICATION"
Privoxy main page:
</P
><A
-NAME="AEN5060"
+NAME="AEN5194"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
editing of actions files:
</P
><A
-NAME="AEN5068"
+NAME="AEN5202"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
Show the source code version numbers:
</P
><A
-NAME="AEN5073"
+NAME="AEN5207"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
Show the browser's request headers:
</P
><A
-NAME="AEN5078"
+NAME="AEN5212"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
Show which actions apply to a URL and why:
</P
><A
-NAME="AEN5083"
+NAME="AEN5217"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><LI
><P
>
- Toggle Privoxy on or off. In this case, <SPAN
+ Toggle Privoxy on or off. This feature can be turned off/on in the main
+ <TT
+CLASS="FILENAME"
+>config</TT
+> file. When toggled <SPAN
+CLASS="QUOTE"
+>"off"</SPAN
+>, <SPAN
CLASS="QUOTE"
>"Privoxy"</SPAN
-> continues
- to run, but only as a pass-through proxy, with no actions taking place:
+>
+ continues to run, but only as a pass-through proxy, with no actions taking
+ place:
</P
><A
-NAME="AEN5089"
+NAME="AEN5225"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
> Short cuts. Turn off, then on:
</P
><A
-NAME="AEN5093"
+NAME="AEN5229"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
</P
></BLOCKQUOTE
><A
-NAME="AEN5096"
+NAME="AEN5232"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
CLASS="SECT3"
><A
NAME="BOOKMARKLETS"
-></A
->14.2.1. Bookmarklets</H3
+>14.2.1. Bookmarklets</A
+></H3
><P
> Below are some <SPAN
CLASS="QUOTE"
><LI
><P
> <A
-HREF="javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&set=enabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
+HREF="javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&set=enabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
TARGET="_top"
>Privoxy - Enable</A
>
><LI
><P
> <A
-HREF="javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&set=disabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
+HREF="javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&set=disabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
TARGET="_top"
>Privoxy - Disable</A
>
><LI
><P
> <A
-HREF="javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&set=toggle','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
+HREF="javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&set=toggle','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
TARGET="_top"
>Privoxy - Toggle Privoxy</A
> (Toggles between enabled and disabled)
CLASS="SECT2"
><A
NAME="CHAIN"
-></A
->14.3. Chain of Events</H2
+>14.3. Chain of Events</A
+></H2
><P
> Let's take a quick look at how some of <SPAN
CLASS="APPLICATION"
></LI
><LI
><P
-> If the <A
-HREF="actions-file.html#KILL-POPUPS"
-><SPAN
-CLASS="QUOTE"
->"+kill-popups"</SPAN
-></A
->
- action applies, and it is an HTML or JavaScript document, the popup-code in the
- response is filtered on-the-fly as it is received.
- </P
-></LI
-><LI
-><P
> If any <A
HREF="actions-file.html#FILTER"
><SPAN
CLASS="SECT2"
><A
NAME="ACTIONSANAT"
-></A
->14.4. Troubleshooting: Anatomy of an Action</H2
+>14.4. Troubleshooting: Anatomy of an Action</A
+></H2
><P
> The way <SPAN
CLASS="APPLICATION"
>the Bookmarklets</A
> section on a quick
and easy way to do this (be sure to flush caches afterward!). Looking at the
- logs is a good idea too.</P
+ logs is a good idea too. (Note that both the toggle feature and logging are
+ enabled via <TT
+CLASS="FILENAME"
+>config</TT
+> file settings, and may need to be
+ turned <SPAN
+CLASS="QUOTE"
+>"on"</SPAN
+>.)</P
><P
> Another easy troubleshooting step to try is if you have done any
customization of your installation, revert back to the installed
><TD
><PRE
CLASS="SCREEN"
-> Matches for http://google.com:
+> Matches for http://www.google.com:
In file: default.action <SPAN
CLASS="GUIBUTTON"
>[ Edit ]</SPAN
>
- {-add-header
- -block
- -content-type-overwrite
- -crunch-client-header
- -crunch-if-none-match
- -crunch-incoming-cookies
- -crunch-outgoing-cookies
- -crunch-server-header
+ {+change-x-forwarded-for{block}
+deanimate-gifs {last}
- -downgrade-http-version
+fast-redirects {check-decoded-url}
- -filter {js-events}
- -filter {content-cookies}
- -filter {all-popups}
- -filter {banners-by-link}
- -filter {tiny-textforms}
- -filter {frameset-borders}
- -filter {demoronizer}
- -filter {shockwave-flash}
- -filter {quicktime-kioskmode}
- -filter {fun}
- -filter {crude-parental}
- -filter {site-specifics}
- -filter {js-annoyances}
- -filter {html-annoyances}
+filter {refresh-tags}
- -filter {unsolicited-popups}
+filter {img-reorder}
+filter {banners-by-size}
+filter {webbugs}
+filter {jumping-windows}
+filter {ie-exploits}
- -filter {google}
- -filter {yahoo}
- -filter {msn}
- -filter {blogspot}
- -filter {xml-to-html}
- -filter {html-to-xml}
- -filter {no-ping}
- -filter{hide-tor-exit-notation}
- -filter-client-headers
- -filter-server-headers
- -force-text-mode
- -handle-as-empty-document
- -handle-as-image
- -hide-accept-language
- -hide-content-disposition
- +hide-forwarded-for-headers
+hide-from-header {block}
- -hide-if-modified-since
+hide-referrer {forge}
- -hide-user-agent
- -inspect-jpegs
- -kill-popups
- -limit-connect
- -overwrite-last-modified
- +prevent-compression
- -redirect
- -send-vanilla-wafer
- -send-wafer
+session-cookies-only
+set-image-blocker {pattern}
- -treat-forbidden-connects-like-blocks }
/
{ -session-cookies-only }
-add-header
-block
+ +change-x-forwarded-for{block}
+ -client-header-filter{hide-tor-exit-notation}
-content-type-overwrite
-crunch-client-header
-crunch-if-none-match
-crunch-server-header
+deanimate-gifs {last}
-downgrade-http-version
- +fast-redirects {check-decoded-url}
+ -fast-redirects
-filter {js-events}
-filter {content-cookies}
-filter {all-popups}
-filter {yahoo}
-filter {msn}
-filter {blogspot}
- -filter {xml-to-html}
- -filter {html-to-xml}
-filter {no-ping}
- -filter{hide-tor-exit-notation}
- -filter-client-headers
- -filter-server-headers
-force-text-mode
-handle-as-empty-document
-handle-as-image
-hide-accept-language
-hide-content-disposition
- +hide-forwarded-for-headers
+hide-from-header {block}
-hide-if-modified-since
+hide-referrer {forge}
-hide-user-agent
- -inspect-jpegs
- -kill-popups
-limit-connect
-overwrite-last-modified
- +prevent-compression
+ -prevent-compression
-redirect
- -send-vanilla-wafer
- -send-wafer
+ -server-header-filter{xml-to-html}
+ -server-header-filter{html-to-xml}
-session-cookies-only
- +set-image-blocker {pattern}
- -treat-forbidden-connects-like-blocks </PRE
+ +set-image-blocker {pattern} </PRE
></TD
></TR
></TABLE
><TD
><PRE
CLASS="SCREEN"
-> { +block }
+> { +block{Domains starts with "ad"} }
ad*.
- { +block }
+ { +block{Domain contains "ad"} }
.ad.
- { +block +handle-as-image }
+ { +block{Doubleclick banner server} +handle-as-image }
.[a-vx-z]*.doubleclick.net</PRE
></TD
></TR
> We'll just show the interesting part here - the explicit matches. It is
matched three different times. Two <SPAN
CLASS="QUOTE"
->"+block"</SPAN
+>"+block{}"</SPAN
> sections,
and a <SPAN
CLASS="QUOTE"
->"+block +handle-as-image"</SPAN
+>"+block{} +handle-as-image"</SPAN
>,
which is the expanded form of one of our aliases that had been defined as:
<SPAN
HREF="actions-file.html#BLOCK"
><SPAN
CLASS="QUOTE"
->"+block"</SPAN
+>"+block{}"</SPAN
></A
>
<SPAN
{-add-header
-block
+ +change-x-forwarded-for{block}
+ -client-header-filter{hide-tor-exit-notation}
-content-type-overwrite
-crunch-client-header
-crunch-if-none-match
-filter {yahoo}
-filter {msn}
-filter {blogspot}
- -filter {xml-to-html}
- -filter {html-to-xml}
-filter {no-ping}
- -filter{hide-tor-exit-notation}
- -filter-client-headers
- -filter-server-headers
-force-text-mode
-handle-as-empty-document
-handle-as-image
-hide-accept-language
-hide-content-disposition
- +hide-forwarded-for-headers
+hide-from-header{block}
+hide-referer{forge}
-hide-user-agent
- -inspect-jpegs
- -kill-popups
-overwrite-last-modified
+prevent-compression
-redirect
- -send-vanilla-wafer
- -send-wafer
+ -server-header-filter{xml-to-html}
+ -server-header-filter{html-to-xml}
+session-cookies-only
- +set-image-blocker{blank}
- -treat-forbidden-connects-like-blocks }
+ +set-image-blocker{blank} }
/
- { +block +handle-as-image }
+ { +block{Path contains "ads".} +handle-as-image }
/ads</PRE
></TD
></TR
><TD
><PRE
CLASS="SCREEN"
-> { +block +handle-as-image }
+> { +block{Path starts with "ads".} +handle-as-image }
/ads</PRE
></TD
></TR
<SPAN
CLASS="QUOTE"
>".com"</SPAN
->. This will effectively match any TLD with
+>). This will effectively match any TLD with
<TT
CLASS="LITERAL"
>google</TT
> in it, such as <TT
CLASS="LITERAL"
->mail.google.de</TT
+>mail.google.de.</TT
>,
just as an example.</P
><P