#
# File : $Source: /cvsroot/ijbswa/current/default.filter,v $
#
-# $Id: default.filter,v 1.52 2007/11/27 18:35:48 fabiankeil Exp $
+# $Id: default.filter,v 1.66 2008/08/03 17:27:47 fabiankeil Exp $
#
# Purpose : Rules to process the content of web pages
#
-# Copyright : Written by and Copyright (C) 2001 - 2007 the
+# Copyright : Written by and Copyright (C) 2001-2008 the
# Privoxy team. http://www.privoxy.org/
#
# We value your feedback. However, to provide you with the best support,
FILTER: img-reorder Reorder attributes in <img> 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.
+# place to guarantee an order of src, width, height. Also does some white-space
+# normalization.
+#
# 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 title attribute.
-s|<img\s+?([^>]*) src\s*=\s*(['"])([^>\\\2]+)\2|<img src=$2$3$2 $1|siUg
-s|<img\s+?([^>]*) src\s*=\s*([^'">\\\s]+)|<img src=$2 $1|sig
+s|<img\s+?([^>]*)\ssrc\s*=\s*(['"])([^>\\\2]+)\2|<img src=$2$3$2 $1|siUg
+s|<img\s+?([^>]*)\ssrc\s*=\s*([^'">\\\s]+)|<img src=$2 $1|sig
+s|(<img[^>]+height)\s*=\s*|$1=|sig
-s|<img (src=(?:(['"])[^>\\\\2]*\2\|[^'">\\\s]+?))([^>]*)\s+width\s*=\s*(["']?)(\d+?)\4|<img $1 width=$4$5$4$3|siUg
+s|<img (src=(?:(['"])[^>\\\\2]*\2\|[^'">\\\s]+?))([^>]*)\s+width\s*=\s*((["']?)\d+?\5)(?=[\s>])|<img $1 width=$4$3|siUg
#################################################################################
adclick # See www.dn.se \
| advert # see dict.leo.org \
| atwola\.com/(?:link|redir) # see www.cnn.com \
-| /jump/ # redirs for doublecklick.net ads \
+| doubleclick\.net/jump/ # redirs for doublecklick.net ads \
| counter # common \
| (?<!&type=)tracker # (&type=tracker is used in sf's project statistics) \
| adlog\.pl # see sf.net \
# Pages are "blocked" based on keyword matching.
#
#################################################################################
-FILTER: crude-parental Crude parental filtering. Note that this filter doesn't work reliable.
+FILTER: crude-parental Crude parental filtering. Note that this filter doesn't work reliably.
# (Note: Middlesex, Sussex and Essex are counties in the UK, not rude words)
# (Note #2: Is 'sex' a rude word?!)
#################################################################################
#
# yahoo: CSS-based block for Yahoo text ads. Also removes a width limitation.
-# XXX: the width limitation part is currently broken.
#
#################################################################################
FILTER: yahoo CSS-based block for Yahoo text ads. Also removes a width limitation.
/* Style sheet inserted by Privoxy's yahoo filter. */\n\
\#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\
\#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\
- \#ks-ypn-ads, .ad, \#ygrp-vital {display: none !important;}\n\
- \#yschpri, \#yschweb {width: 100% !important; max-width: 100% !important;}\n\
+ \#ks-ypn-ads, .ad, \#east, \#ygrp-vital {display: none !important;}\n\
+ \#yschpri, \#yschweb, \#pri, \#web, \#main {width: 100% !important; max-width: 100% !important;}\n\
\#yschqcon, \#yschtg {width: auto !important; /* No useless horizontal scrollbar please */}\n\
</style>\n$0@
#
# msn: CSS-based block for MSN text ads. Also removes tracking URLs
# and a width limitation.
-# XXX: the width limitation part is currently broken.
#
#################################################################################
FILTER: msn CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation.
s@</head>@<style type="text/css">\n\
/* Style sheet inserted by Privoxy's msn filter. */\n\
- .msn_ads, \#at, \#ar {display: none !important;}\n\
+ .msn_ads, \#at, \#ar, .mktmsg {display: none !important;}\n\
\#results, .flank, .results_area_flank, .results_area_stroke,\n\
\#results_area, .SearchSection, .not, .sc_rslth1\n\
.content, \#sw_foot, \#bf, \#sw_content, \#sidebar, \#pag\n\
max-width: 100% !important; /* width:100% sometimes causes horizontal scrollbars */}\n\
/* Remove "suggestions". They are next to worthless but partly overlap with the search results */\n\
.suggestion, \#nys_right, \#nys {clear: both; display:none;}\n\
+ \#content {padding-right: 0;}\n\
</style>\n$0@
+# Are these ids still in use?
s@(<div[^>]*) id=(["']?)ads_[^\2]*\2@$1 class="msn_ads"@Uig
+s@(<div[^>]*) class=(["']?)sb_ads[^\2]*\2@$1 class="msn_ads"@Uig
s@(<a[^>]*href=\")http://g.msn.com/.*\?(http://.*)(&&DI=.*)(\")@$1$2$4@Ug
s@(<a[^>]*)gping=\".*\"@$1 title="URL cleaned up by Privoxy's msn filter"@Ug
# appear to early or not at all and as fixing this would require a browser
# that understands background-size (CSS3), they are removed instead.
#
+# When applied to feeds, it removes comment titles that
+# only contain the beginning of the actual comment.
+#
#################################################################################
FILTER: blogspot Cleans up some Blogspot blogs. Read the fine print before using this.
s@(<div style=\"[^\"]*width:)30em@$1 100%@
s@background:url\(\"http://www.blogblog.com/rounders[^\"]*\"\).*;@/*$0*/@Ug
s@(background:\#[a-f\d]{3})( url\(\"http://www.blogblog.com/rounders[^\"]*\"\).*;)@$1 ;/*$2*/@Ug
+# Do the feed filtering magic as described above.
+s@<title\s+type=\'text\'>([^\s]*).*?\.\.\.</title>\s*(<content type=\'html\'>\1)@$2@ig
#################################################################################
#
SERVER-HEADER-FILTER: less-download-windows Prevent annoying download windows for content types the browser can handle itself.
s@^Content-Disposition:.*filename=(["']?).*\.(png|gif|jpe?g|diff?|d?patch|c|h|pl|shar)\1.*$@@i
-s@^(Content-Type:)\s*(?:message/(?:news|rfc822)|text/x-.*|application/x-sh)\s*@$1 text/plain@i
+s@^(Content-Type:)\s*(?:message/(?:news|rfc822)|text/x-.*|application/x-sh(?:\s|$))\s*@$1 text/plain@i
#################################################################################
#
#################################################################################
CLIENT-HEADER-TAGGER: image-requests Tags detected image requests as "IMAGE-REQUEST".
-s@Accept:\s*image/.*@IMAGE-REQUEST@i
+s@^Accept:\s*image/.*@IMAGE-REQUEST@i
#################################################################################
#
#################################################################################
CLIENT-HEADER-TAGGER: css-requests Tags detected CSS requests as "CSS-REQUEST".
-s@Accept:\s*text/css.*@CSS-REQUEST@i
+s@^Accept:\s*text/css.*@CSS-REQUEST@i
#################################################################################
#
#################################################################################
#
-# content-type: Tags the request with the content type declarded by the server.
+# content-type: Tags the request with the content type declared by the server.
#
#################################################################################
-SERVER-HEADER-TAGGER: content-type Tags the request with the content type declarded by the server.
+SERVER-HEADER-TAGGER: content-type Tags the request with the content type declared by the server.
-s@^Content-Type:\s*([^;]*).*@$1@i
+s@^Content-Type:\s*([^;]+).*@$1@i
#################################################################################
#
#
# Revisions :
# $Log: default.filter,v $
+# Revision 1.66 2008/08/03 17:27:47 fabiankeil
+# Teach msn filter to catch a few new ad classes.
+#
+# Revision 1.65 2008/07/21 13:43:44 fabiankeil
+# Fix img-reorder regression introduced with my last commit.
+# Some tags were terminated too soon, letting the browser render
+# some of their arguments as text. Oops.
+#
+# Revision 1.64 2008/07/12 15:49:09 fabiankeil
+# - Don't let img-reorder touch width attributes
+# that aren't followed by either whitespace or '>',
+# as those usually indicate onclick nonsense.
+# Problem and solution reported by Glenn Washburn in #2014552.
+# - While at it, don't use more groups than necessary.
+#
+# Revision 1.63 2008/06/27 12:53:41 fabiankeil
+# Make sure the taggers css-requests and image-requests
+# only match at the beginning of the header.
+#
+# Revision 1.62 2008/06/21 17:02:03 fabiankeil
+# Fix typo.
+#
+# Revision 1.61 2008/05/21 18:44:43 fabiankeil
+# - Let the content-type tagger ignore headers without value.
+# - Remove a few unused lines at the end of the file.
+#
+# Revision 1.60 2008/04/26 10:36:41 fabiankeil
+# Let the msn filter hide another class.
+#
+# Revision 1.59 2008/04/23 16:18:18 fabiankeil
+# s@declarded@declared@
+#
+# Revision 1.58 2008/02/02 15:27:19 fabiankeil
+# Yet another yahoo update to get the width limitation removal working again.
+#
+# Revision 1.57 2008/01/26 15:45:39 fabiankeil
+# Don't let the less-download-windows filter mess up
+# "Content-Type: application/x-shockwave-flash" headers.
+#
+# Revision 1.56 2008/01/25 19:12:40 fabiankeil
+# - Add yet another new yahoo ad id.
+# - Don't let the first banners-by-link job punish URLs for merely
+# containing the pattern "/jump/" when it should really look for
+# "doubleclick\.net/jump/".
+#
+# Revision 1.55 2007/12/31 19:53:59 fabiankeil
+# Let the msn filter remove the width limitation again.
+#
+# Revision 1.54 2007/12/31 19:11:31 fabiankeil
+# - Let the yahoo filter remove the width limitation again.
+# - Teach the blogspot filter to remove useless feed comment
+# titles that only contain the beginning of the actual comment.
+#
+# Revision 1.53 2007/12/23 15:48:12 fabiankeil
+# - Lo and behold, the CSS fix for the MSN buttons is no longer necessary.
+# - Add some new selectors the msn filter should hide.
+# - Add the two yahoo selectors Lee reported in #1856574.
+# - Add comments that the width limitation fixes stopped
+# working for the msn and yahoo filter.
+#
# Revision 1.52 2007/11/27 18:35:48 fabiankeil
# Update CSS for the yahoo filter.
#
# Revision 1.6 2001/06/09 14:01:57 swa
# header. cosmetics. default: no messing ala microsuck.
#
-#
-#
-
-