X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=default.filter;h=aca478368edaa4155f0124e9c2987d570d601eb7;hp=a2c80906ac86544f0bb6cc0696ba75242c8ce448;hb=114c72fda4a6df07cd8a067a8fbafacaa3730c71;hpb=7cd903996c3e567ee4dbcabb3ded2c30cdf00bf2 diff --git a/default.filter b/default.filter index a2c80906..aca47836 100644 --- a/default.filter +++ b/default.filter @@ -1,108 +1,42 @@ # ******************************************************************** # -# File : $Source: /cvsroot/ijbswa/current/default.filter,v $ +# File : $Source: /cvsroot/ijbswa//current/default.filter,v $ # +# $Id: default.filter,v 1.11.2.6 2002/08/23 14:12:26 oes Exp $ +# # Purpose : Rules to process the content of web pages # -# Copyright : Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://ijbswa.sourceforge.net -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU General -# Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# The GNU General Public License should be included with -# this file. If not, you can view it at -# http://www.gnu.org/copyleft/gpl.html -# or write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Copyright : Written by and Copyright +# Privoxy team. http://www.privoxy.org/ +# +# We value your feedback. However, to provide you with the best support, +# please note: +# +# * Use the support forum to get help: +# http://sourceforge.net/tracker/?group_id=11118&atid=211118 +# * Submit bugs only thru our bug forum: +# http://sourceforge.net/tracker/?group_id=11118&atid=111118 +# Make sure that the bug has not already been submitted. Please try +# to verify that it is a Privoxy bug, and not a browser or site +# bug first. If you are using your own custom configuration, please +# try the stock configs to see if the problem is a configuration +# related bug. And if not using the latest development snapshot, +# please try the latest one. Or even better, CVS sources. +# * Submit feature requests only thru our feature request forum: +# http://sourceforge.net/tracker/?atid=361118&group_id=11118&func=browse +# +# For any other issues, feel free to use the mailing lists: +# http://sourceforge.net/mail/?group_id=11118 +# +# Anyone interested in actively participating in development and related +# discussions can join the appropriate mailing list here: +# http://sourceforge.net/mail/?group_id=11118. Archives are available +# here too. # -# Revisions : -# $Log: default.filter,v $ -# Revision 1.2 2002/03/24 13:02:18 swa -# name change related issues. -# -# Revision 1.1 2002/03/24 11:37:39 jongfoster -# Name change -# -# Revision 1.24 2002/03/16 20:39:54 oes -# - Added descriptions to the filters so users will know what they select in the cgi editor -# - Added content-cookies filter -# - Bugfixed many jobs (Thanks to Al for some hints) -# -# Revision 1.22 2002/03/12 13:42:50 oes -# Fixing & Optimizing REs -# -# Revision 1.21 2002/03/12 11:59:20 oes -# Beefed up Buzzword Bingo -# -# Revision 1.20 2002/03/12 01:42:50 oes -# Introduced modular filters -# -# Revision 1.19 2002/03/10 19:49:24 oes -# Added expression to kill referer tracking in JavaScripts -# -# Revision 1.18 2002/03/08 17:14:12 oes -# PNG -> image in comments -# -# Revision 1.17 2002/03/07 03:50:54 oes -# Adapted comments to new built-in images -# -# Revision 1.16 2002/02/21 00:12:19 jongfoster -# Modifying the banner regexps to use long URLS and to autodetect -# whether to show a logo or a transparent GIF, based on actionsfile -# setting. -# -# Revision 1.15 2001/12/28 23:54:20 steudten -# Fix for feature Req #495374: http-equiv problem -# -# Revision 1.14 2001/12/09 18:55:11 david__schmidt -# Updated CODE_STATUS to beta, commented out microsuck line in re_filterfile -# for 2.9.10 beta -# -# Revision 1.13 2001/10/13 13:11:20 joergs -# Fixed WebBug filter. -# -# Revision 1.12 2001/10/07 15:46:42 oes -# Followed Guy's proposal to change the document.cookie job -# -# Revision 1.11 2001/09/21 12:34:00 joergs -# Added filter to replace "Nimda" code by a warning. -# -# Revision 1.10 2001/07/20 11:04:26 oes -# Added Rodneys javascript cookie filter -# -# Revision 1.9 2001/07/13 14:03:48 oes -# Elimiated yet another bug in the banner-by-size jobs. Shame on me! -# -# Revision 1.8 2001/06/29 13:34:00 oes -# - Added explanation for U and T options -# - Added hint on image replacement by CGI call -# - Fixed bug in banner-by-size jobs -# -# Revision 1.7 2001/06/19 14:21:56 oes -# Fixed microsuck line -# -# Revision 1.6 2001/06/09 14:01:57 swa -# header. cosmetics. default: no messing ala microsuck. -# -# -# - ################################################################################# # # Syntax: # -################################################################################# -# # Filters start with a line "FILTER: name description". They are then referrable # from the actionsfile with +filter{name} # @@ -128,48 +62,70 @@ ################################################################################# # -# html-annoyances: Get rid of particularly annoying HTML abuse +# js-annoyances: Get rid of particularly annoying JavaScript abuse # ################################################################################# -FILTER: html-annoyances Get rid of particularly annoying HTML abuse +FILTER: js-annoyances Get rid of particularly annoying JavaScript abuse -# New browser windows (if allowed -- see no-popups filter below) should be -# resizeable and have a location and status bar +# Note: Most of these jobs would be safer if restricted to a +# )|$1never|sigU + +# If we allow window.open, we want normal window features: +# Test: http://www.htmlgoodies.com/beyond/notitle.html +# +s/(open\s*\([^\)]+resizable=)(["']?)(?:no|0)\2/$1$2yes$2/sigU +s/(open\s*\([^\)]+location=)(["']?)(?:no|0)\2/$1$2yes$2/sigU +s/(open\s*\([^\)]+status=)(["']?)(?:no|0)\2/$1$2yes$2/sigU +s/(open\s*\([^\)]+scroll(?:ing|bars)=)(["']?)(?:no|0)\2/$1$2auto$2/sigU +s/(open\s*\([^\)]+menubar=)(["']?)(?:no|0)\2/$1$2yes$2/sigU +s/(open\s*\([^\)]+toolbar=)(["']?)(?:no|0)\2/$1$2yes$2/sigU +s/(open\s*\([^\)]+directories=)(["']?)(?:no|0)\2/$1$2yes$2/sigU +s/(open\s*\([^\)]+fullscreen=)(["']?)(?:yes|1)\2/$1$2no$2/sigU +s/(open\s*\([^\)]+always(?:raised|lowered)=)(["']?)(?:yes|1)\2/$1$2no$2/sigU +s/(open\s*\([^\)]+zlock=)(["']?)(?:yes|1)\2/$1$2no$2/sigU +s/(open\s*\([^\)]+hotkeys=)(["']?)(?:yes|1)\2/$1$2no$2/sigU +s/(open\s*\([^\)]+titlebar=)(["']?)(?:yes|1)\2/$1$2yes$2/sigU ################################################################################# # -# js-annoyances: Get rid of particularly annoying JavaScript abuse +# html-annoyances: Get rid of particularly annoying HTML abuse # ################################################################################# -FILTER: js-annoyances Get rid of particularly annoying JavaScript abuse - -# Get rid of Javascript referrer tracking. Test page: http://www.randomoddness.com/untitled.htm -# -s|()|$1"Not Your Business!"$2|Usg +FILTER: html-annoyances Get rid of particularly annoying HTML abuse -# The status bar is for displaying link targets, not pointless blahblah +# New browser windows (if allowed -- see no-popups filter below) should be +# resizeable and have a location and status bar # -s/status='.*?';*//ig +s/(]+resizable=)(['"]?)(?:no|0)\2/$1$2yes$2/igU +s/(]+location=)(['"]?)(?:no|0)\2/$1$2yes$2/igU +s/(]+status=)(['"]?)(?:no|0)\2/$1$2yes1$2/igU +s/(]+scrolling=)(['"]?)(?:no|0)\2/$1$2auto$2/igU +s/(]+menubar=)(['"]?)(?:no|0)\2/$1$2yes$2/igU -# Kill OnUnload popups. Yummy. Test: http://www.zdnet.com/zdsubs/yahoo/tree/yfs.html +# The tag was a crime! # -s/()/$1never$2/iU +s*|**ig ################################################################################# @@ -181,56 +137,140 @@ FILTER: content-cookies Kill cookies that come in the HTML or JS content # JS cookies, like found on privacy.net: # -s|(document\.cookie)([ \t\r\n]*=)|documenZapCooky$2|g +s|document\.cookie(?=[ \t\r\n]*=)|ZappedCookie|ig # HTML cookies: # -s|].*>||iUT +s|||igU + + +################################################################################# +# +# webbugs: Squish WebBugs (1x1 invisible GIFs used for user tracking) +# +################################################################################# +FILTER: webbugs Squish WebBugs (1x1 invisible GIFs used for user tracking) + +s/]*(?:width|height)\s*=\s*['"]?1(?=\D)[^>]*(?:width|height)\s*=\s*['"]?1(?=\D)[^>]*?>//siUg ################################################################################## # -# no-popups: Kill all popups in JS and HTML +# popups: Kill all popups in JS and HTML # ################################################################################# -FILTER: no-popups Kill all popups in JS and HTML +FILTER: popups Kill all popups in JS and HTML + +s/([\n =;{}]|window\.)open\s*\\?\(/$1concat(/ig # JavaScript +s/ target\s*=\s*(['"]?)(_blank|_new)\1?/ notarget/ig # HTML -s/window\.open\(/1;''\.concat\(/ig # JavaScript -s/target=['"]?_blank['"]?/target_crunched/ig # HTML -s/target=['"]?_new['"]?/target_crunched/ig # HTML ################################################################################# # -# frameset-borders: Give frames a border and make them resizable +# frameset-borders: Give frames a border, make them resizable and scrollable # ################################################################################# FILTER: frameset-borders Give frames a border and make them resizable -s/(]+)framespacing=['"]?(no|0)['"]?(.*>)/$1$3/igU -s/(]+)frameborder=['"]?(no|0)['"]?(.*>)/$1$3/igU -s/(]+)border=['"]?(no|0)['"]?(.*>)/$1$3/igU -s/(]+)resizable=['"]?(no|0|false)['"]?(.*>)/$1$3/igU +s/(]*)framespacing=(['"]?)(no|0)\2/$1/igU +s/(]*)frameborder=(['"]?)(no|0)\2/$1/igU +s/(]*)border=(['"]?)(no|0)\2/$1/igU +s/(]*)noresize/$1/igU +s/(]*)frameborder=(['"]?)(no|0)\2/$1/igU +s/(]*)scrolling=(['"]?)(no|0)\2/$1/igU + ################################################################################# # -# webbugs: Squish WebBugs (1x1 invisible GIFs used for user tracking) +# refresh-tags: Kill automatic refresh tags (for dial-on-demand setups) # ################################################################################# -FILTER: webbugs Squish WebBugs (1x1 invisible GIFs used for user tracking) +FILTER: refresh-tags Kill automatic refresh tags (for dial-on-demand setups) + +# Note: Only deactivates refreshes with more than 9 seconds delay to +# preserve monster-stupid but common redirections via meta tags. +# +s/\2]*))?\2\s*>//iU + + +################################################################################# +# +# img-reorder: Reorder attributes in tags to make the banners-by-* filters more effective +# +################################################################################# +FILTER: img-reorder Reorder attributes in tags to make the banners-by-* filters more effective + +# In the first step src is moved to the start, then width is moved to the second +# place to guarantee an order of src, width, height. +# This makes banners-by-size more effective and allows both banners-by-size +# and banners-by-link to preserve the original image URL in the alt attribute. -s/]*?(width|height)\s*=\s*['"]?1\D[^>]*?(width|height)\s*=\s*['"]?1(\D[^>]*?)?>//sig +s|]*)src\s*=\s*(['"])([^>\\\2]+)\2(.*)>||siUg +s|]*)src\s*=\s*([^'">\\\s]+?)([^\\>]*)>||siUg + +s|]*)width\s*=\s*?(["']?)(\d+?)\3(.*)>||siUg + + +################################################################################# +# +# banners-by-size: Kill banners by size +# +################################################################################# +# +# Standard banner sizes taken from http://www.iab.net/iab_banner_standards/bannersizes.html +# +# Note: Use http://config.privoxy.org/send-banner?type=trans for a transparent 1x1 image +# Use http://config.privoxy.org/send-banner?type=pattern for a grey/white pattern image +# Use http://config.privoxy.org/send-banner?type=auto to auto-select. +# +################################################################################# +FILTER: banners-by-size Kill banners by size + +# 88*31 +s@]*(width=(['"]?)88\3)[^>]*(height=(['"]?)31\5)[^>]*>@Killed-$1-by-size@sigU +# 120*60, 120*90, 120*240, 120*600 +s@]*(width=(['"]?)120\3)[^>]*(height=(['"]?)(?:600?|90|240)\5)[^>]*>@Killed-$1-by-size@sigU +# 125*125 +s@]*(width=(['"]?)125\3)[^>]*(height=(['"]?)125\5)[^>]*>@Killed-$1-by-size@sigU +# 160*600 +s@]*(width=(['"]?)160\3)[^>]*(height=(['"]?)600\5)[^>]*>@Killed-$1-by-size@sigU +# 180*150 +s@]*(width=(['"]?)180\3)[^>]*(height=(['"]?)150\5)[^>]*>@Killed-$1-by-size@sigU +# 234*60, 468*60 (Most Banners!) +s@]*(width=(['"]?)(?:234|468)\3)[^>]*(height=(['"]?)60\5)[^>]*>@Killed-$1-by-size@sigU +# 240*400 +s@]*(width=(['"]?)240\3)[^>]*(height=(['"]?)400\5)[^>]*>@Killed-$1-by-size@sigU +# 250*250, 300*250 +s@]*(width=(['"]?)(?:250|300)\3)[^>]*(height=(['"]?)250\5)[^>]*>@Killed-$1-by-size@sigU +# 336*280 +s@]*(width=(['"]?)336\3)[^>]*(height=(['"]?)280\5)[^>]*>@Killed-$1-by-size@sigU + +# Note: 200*50 was also proposed, but it probably causes too much collateral damage: +# +#s@]*(width=(['"]?)200\3)[^>]*(height=(['"]?)50\5)[^>]*>@Killed-$1-by-size@sigU ################################################################################# # -# no-refresh: Kill automatic refresh tags (for dial-on-demand setups) +# banners-by-link: Kill banners by their links to known clicktrackers # ################################################################################# -FILTER: no-refresh Kill automatic refresh tags (for dial-on-demand setups) +FILTER: banners-by-link Kill banners by their links to known clicktrackers -s/]*)['"]?>//iU -s/].*>//iU +# Common case with width and height attributes: +# +s@\1]*(?:\ + adclick # See www.dn.se \ +| atwola\.com/(?:link|redir) # see www.cnn.com \ +| /jump/ # redirs for doublecklick.net ads \ +| tracker | counter # common \ +| adlog\.pl # see sf.net \ +)[^>\1]*)\1[^>]*>\s*]*((?:width|height)\s*=\s*(['"]?)\d+?\5)[^>]*((?:width|height)\s*=\s*(['"]?)\d+?\7)[^>]*>\ +@Killed $3 by hwlink to $2@siUgx +# Rare case w/o explicit dimensions: +# +s@\1]*(?:adclick|atwola\.com/(?:link|redir)|doubleclick\.net/jump)[^>\1]*)\1[^>]*>\s*]*>@Killed $3 by link to $2@siUg ################################################################################# # @@ -241,17 +281,19 @@ FILTER: fun Text replacements for subversive browsing fun! s/microsoft(?!.com)/MicroSuck/ig -# Buzzword Bingo (example for extended syntax) +# Buzzword Bingo (example for extended regex syntax) # s* industry[ -]leading \ | cutting[ -]edge \ +| customer[ -]focused \ +| market[ -]driven \ | award[ -]winning # Comments are OK, too! \ | high[ -]performance \ | solutions[ -]based \ | unmatched \ | unparalleled \ | unrivalled \ -*BINGO! \ +*BINGO! \ *igx @@ -262,42 +304,39 @@ s* industry[ -]leading \ ################################################################################# FILTER: nimda Remove Nimda (virus) code -s%%

Internet JUNKBUSTER WARNING: This Server is infected with Nimda!%g +s%%
WARNING: This Server is infected with Nimda!%g ################################################################################# # -# banners-by-size: Kill banners by size +# shockwave-flash: Kill embedded Shockwave Flash objects # +################################################################################# +FILTER: shockwave-flash Kill embedded Shockwave Flash objects + +s|]*application/x-shockwave-flash.*||sigU + + ################################################################################# # -# Standard banner sizes taken from http://www.iab.net/iab_banner_standards/bannersizes.html -# -# Note: Use http://config.privoxy.org/send-banner?type=trans for a transparent 1x1 image -# Use http://config.privoxy.org/send-banner?type=pattern for a grey/white pattern image -# Use http://config.privoxy.org/send-banner?type=auto to auto-select. +# quicktime-kioskmode: Make Quicktime movies saveable # ################################################################################# -FILTER: banners-by-size Kill banners by size +FILTER: quicktime-kioskmode Make Quicktime movies saveable + +s/(]*)kioskmode\s*=\s*(["']?)true\2/$1/ig -s|]*?(width=['"]?468\D)[^>]*(height=['"]?60[^>]*?)>||sig -s|]*?(width=['"]?234\D)[^>]*(height=['"]?60[^>]*?)>||sig -s|]*?(width=['"]?88\D)[^>]*(height=['"]?31[^>]*?)>||sig -s|]*?(width=['"]?120\D)[^>]*(height=['"]?90[^>]*?)>||sig -s|]*?(width=['"]?120\D)[^>]*(height=['"]?600[^>]*?)>||sig -s|]*?(width=['"]?120\D)[^>]*(height=['"]?60[^>]*?)>||sig -s|]*?(width=['"]?160\D)[^>]*(height=['"]?600[^>]*?)>||sig -s|]*?(width=['"]?125\D)[^>]*(height=['"]?125[^>]*?)>||sig -s|]*?(width=['"]?120\D)[^>]*(height=['"]?240[^>]*?)>||sig -s|]*?(width=['"]?180\D)[^>]*(height=['"]?150[^>]*?)>||sig -s|]*?(width=['"]?300\D)[^>]*(height=['"]?250[^>]*?)>||sig -s|]*?(width=['"]?250\D)[^>]*(height=['"]?250[^>]*?)>||sig -s|]*?(width=['"]?240\D)[^>]*(height=['"]?400[^>]*?)>||sig -s|]*?(width=['"]?336\D)[^>]*(height=['"]?280[^>]*?)>||sig -# One more. (Where is 200x50 from?) +################################################################################# +# +# js-events: Kill all JS event bindings (Radically destructive! Only for extra nasty sites) # -s|]*?(width=['"]?200\D)[^>]*(height=['"]?50[^>]*?)>||sig +################################################################################# +FILTER: js-events Kill all JS event bindings (Radically destructive! Only for extra nasty sites) + +s/(on|event\.)((mouse(over|out|down|up|move))|(un)?load|contextmenu|selectstart)/never/ig +# Not events, but abused on the same type of sites: +s/(alert|confirm)\s*\(/concat(/ig ################################################################################# @@ -306,12 +345,112 @@ s|]*?(width=['"]?200\D)[^>]*(height=['"]?50[^>]*?)>|Blocked

Blocked due to possible adult content. Please see this site.

%is s+^.*warez.*$+No Warez

You're not searching for illegal stuff, are you?

+is + + +############################################################################## +# +# Revisions : +# $Log: default.filter,v $ +# Revision 1.11 2002/05/24 00:57:18 oes +# Made WeBugs job ungreedy; Fixes bug 559190 +# +# Revision 1.10 2002/04/18 10:14:19 oes +# renamed some filters +# +# Revision 1.9 2002/04/11 07:36:35 oes +# Generalized js-popup filter +# +# Revision 1.8 2002/04/10 17:07:21 oes +# Fixed potentially desctructive jobs, added noflash filter +# +# Revision 1.7 2002/04/09 18:34:51 oes +# Fixed HTML syntax in replacements +# +# Revision 1.6 2002/04/03 19:49:52 swa +# name change +# +# Revision 1.5 2002/03/27 15:30:26 swa +# have a consistent appearance +# +# Revision 1.4 2002/03/26 22:29:54 swa +# we have a new homepage! +# +# Revision 1.3 2002/03/24 16:08:03 jongfoster +# Fixing banners-by-size for new config URLs +# +# Revision 1.2 2002/03/24 13:02:18 swa +# name change related issues. +# +# Revision 1.1 2002/03/24 11:37:39 jongfoster +# Name change +# +# Revision 1.24 2002/03/16 20:39:54 oes +# - Added descriptions to the filters so users will know what they select in the cgi editor +# - Added content-cookies filter +# - Bugfixed many jobs (Thanks to Al for some hints) +# +# Revision 1.22 2002/03/12 13:42:50 oes +# Fixing & Optimizing REs +# +# Revision 1.21 2002/03/12 11:59:20 oes +# Beefed up Buzzword Bingo +# +# Revision 1.20 2002/03/12 01:42:50 oes +# Introduced modular filters +# +# Revision 1.19 2002/03/10 19:49:24 oes +# Added expression to kill referer tracking in JavaScripts +# +# Revision 1.18 2002/03/08 17:14:12 oes +# PNG -> image in comments +# +# Revision 1.17 2002/03/07 03:50:54 oes +# Adapted comments to new built-in images +# +# Revision 1.16 2002/02/21 00:12:19 jongfoster +# Modifying the banner regexps to use long URLS and to autodetect +# whether to show a logo or a transparent GIF, based on actionsfile +# setting. +# +# Revision 1.15 2001/12/28 23:54:20 steudten +# Fix for feature Req #495374: http-equiv problem +# +# Revision 1.14 2001/12/09 18:55:11 david__schmidt +# Updated CODE_STATUS to beta, commented out microsuck line in re_filterfile +# for 2.9.10 beta +# +# Revision 1.13 2001/10/13 13:11:20 joergs +# Fixed WebBug filter. +# +# Revision 1.12 2001/10/07 15:46:42 oes +# Followed Guy's proposal to change the document.cookie job +# +# Revision 1.11 2001/09/21 12:34:00 joergs +# Added filter to replace "Nimda" code by a warning. +# +# Revision 1.10 2001/07/20 11:04:26 oes +# Added Rodneys javascript cookie filter +# +# Revision 1.9 2001/07/13 14:03:48 oes +# Elimiated yet another bug in the banner-by-size jobs. Shame on me! +# +# Revision 1.8 2001/06/29 13:34:00 oes +# - Added explanation for U and T options +# - Added hint on image replacement by CGI call +# - Fixed bug in banner-by-size jobs +# +# Revision 1.7 2001/06/19 14:21:56 oes +# Fixed microsuck line +# +# Revision 1.6 2001/06/09 14:01:57 swa +# header. cosmetics. default: no messing ala microsuck. +# +# +#