X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=default.filter;h=39ae66d305b2a1cfce7fe66c4cc9065ffd0a59c3;hp=2ad071a148675c0fea7016bda32eb1442ff0001d;hb=ff5a9aaa4f4f5cc681fde79016a299dc8e980e42;hpb=272fe2da2932923f0e285f8be13060a7634a5e6f diff --git a/default.filter b/default.filter index 2ad071a1..39ae66d3 100644 --- a/default.filter +++ b/default.filter @@ -2,11 +2,11 @@ # # File : $Source: /cvsroot/ijbswa/current/default.filter,v $ # -# $Id: default.filter,v 1.23 2006/10/05 14:46:28 fabiankeil Exp $ +# $Id: default.filter,v 1.47 2007/10/06 15:45:25 fabiankeil Exp $ # # Purpose : Rules to process the content of web pages # -# Copyright : Written by and Copyright (C) 2001 - 2004 the +# Copyright : Written by and Copyright (C) 2001 - 2007 the # Privoxy team. http://www.privoxy.org/ # # We value your feedback. However, to provide you with the best support, @@ -37,8 +37,12 @@ # # Syntax: # -# Filters start with a line "FILTER: name description". They are then referrable -# from the actionsfile with +filter{name} +# Generally filters start with a line like "FILTER: name description". +# They are then referrable from the actionsfile with +filter{name} +# +# FILTER marks a filter as content filter, other filter +# types are CLIENT-HEADER-FILTER, CLIENT-HEADER-TAGGER, +# SERVER-HEADER-FILTER and SERVER-HEADER-TAGGER. # # Inside the filters, write one Perl-Style substitution (job) per line. # Jobs that precede the first FILTER: line are ignored. @@ -46,16 +50,27 @@ # For Details see the pcrs manpage contained in this distribution. # (and the perlre, perlop and pcre manpages) # -# Note that you are free to choose the delimter as you see fit. +# Note that you are free to choose the delimiter as you see fit. # # Note2: In addidion to the Perl options gimsx, the following nonstandard # options are supported: # # 'U' turns the default to ungreedy matching. Add ? to quantifiers to # switch back to greedy. +# # 'T' (trivial) prevents parsing for backreferences in the substitute. # Use if you want to include text like '$&' in your substitute without # quoting. +# +# 'D' (Dynamic) allows the use of variables. Supported variables are: +# $host, $origin (the IP address the request came from), $path and $url. +# +# Note that '$' is a bad choice as delimiter for dynamic filters as you +# might end up with unintended variables if you use a variable name +# directly after the delimiter. Variables will be resolved without +# escaping anything, therefore you also have to be careful not to chose +# delimiters that appear in the replacement text. For example '<' should +# be save, while '?' will sooner or later cause conflicts with $url. # ################################################################################# @@ -81,8 +96,11 @@ FILTER: js-annoyances Get rid of particularly annoying JavaScript abuse s|(?:\w+\.)+referrer|"Not Your Business!"|gisU # The status bar is for displaying link targets, not pointless blahblah -# -s/(\W\s*)((this|window)\.(default)?status)\s*=\s*((['"]).*?\6)/$1if(typeof(this.href) != 'undefined') $2 = $5 + ' URL: ' + this.href;else return false/ig +# +s@([\W]\s*)((?:this|window)\.(?:default)?status)\s*=\s*((['"]).*?\4)@$1$2 =\ + (typeof(this.href) != 'undefined')?($3 + ' URL: ' + this.href):($2)@ig + +s/(?:(?:this|window)\.(?:default)?status)\s*=\s*\w*\s*;//ig # Kill OnUnload popups. Yummy. # Test: http://www.zdnet.com/zdsubs/yahoo/tree/yfs.html @@ -178,7 +196,7 @@ s/)(?=\s*[^'"])+$1+isU -s+([^\w\s.]\s*)((window|this|parent)\.)?open\s*\(+$1PrivoxyWindowOpen(+ig +s@([^\w\s.]\s*)((?:map)?(window|this|parent)\.?)?open\s*\(@$1PrivoxyWindowOpen(@ig s+([^'"]\s*)(?!\s*(\\n|'|"))+$1+iU @@ -189,26 +207,26 @@ s+([^'"]\s*)(?!\s*(\\n|'|"))+$1@\n$0@ -s@|(