Do not explicitly request CVS revisions from CVS users
[privoxy.git] / default.filter
index 9f4fd38..0929ec2 100644 (file)
@@ -2,11 +2,11 @@
 # 
 #  File        :  $Source: /cvsroot/ijbswa/current/default.filter,v $
 # 
-#  $Id: default.filter,v 1.74 2009/10/03 10:38:58 fabiankeil Exp $
+#  $Id: default.filter,v 1.84 2012/03/18 15:45:44 fabiankeil Exp $
 #
 #  Purpose     :  Rules to process the content of web pages
 # 
-#  Copyright   :  Written by and Copyright (C) 2001-2009 the
+#  Copyright   :  Written by and Copyright (C) 2001-2010 the
 #                 Privoxy team. http://www.privoxy.org/
 #
 # We value your feedback. However, to provide you with the best support,
@@ -128,15 +128,15 @@ s/(open\s*\([^\)]+always(?:raised|lowered)=)(["']?)(?:yes|1)\2/$1$2no$2/sigU
 
 #################################################################################
 #
-# js-events: Kill all JS event bindings and timers (Radically destructive! Only for extra nasty sites).
+# js-events: Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites).
 #
 #################################################################################
-FILTER: js-events Kill all JS event bindings and timers (Radically destructive! Only for extra nasty sites).
+FILTER: js-events Kill JavaScript event bindings and timers (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
-s/settimeout\(/concat(/ig
+s/set(timeout|interval)\(/concat(/ig
 
 #################################################################################
 #
@@ -177,15 +177,15 @@ s|<meta\s+http-equiv=['"]?set-cookie.*>|<!-- ZappedCookie -->|igU
 
 #################################################################################
 #
-# refresh-tags: Kill automatic refresh tags (for dial-on-demand setups).
+# refresh-tags: Kill automatic refresh tags if refresh time is larger than 9 seconds.
 #
 #################################################################################
-FILTER: refresh-tags Kill automatic refresh tags (for dial-on-demand setups).
+FILTER: refresh-tags Kill automatic refresh tags if refresh time is larger than 9 seconds.
 
 # Note: Only deactivates refreshes with more than 9 seconds delay to
 #       preserve monster-stupid but common redirections via meta tags.
 #
-s/<meta\s+http-equiv\s*=\s*(['"]?)refresh\1\s+content\s*=\s*(['"]?)\d{2,}\s*(;\s*url\s*=\s*([^>\2]*))?\2/<link rev="x-refresh" href="$4"/iU
+s@<meta\s+http-equiv\s*=\s*(['"]?)refresh\1\s+content\s*=\s*(['"]?)\d{2,}\s*(;(?:\s*url\s*=\s*)?([^>\2]*))?\2@<link rev="x-refresh" href="$4"@ig
 
 
 #################################################################################
@@ -422,7 +422,7 @@ FILTER: fun Text replacements for subversive browsing fun!
 
 # SCNR
 #
-s/microsoft(?!.[^\s])/MicroSuck/ig
+s/microsoft(?!\.[^\s])/MicroSuck/ig
 
 # Buzzword Bingo (example for extended regex syntax)
 #
@@ -575,12 +575,14 @@ s@(<a(?:rea)?[^>]*?)\sping=(['"]?)([^"'>]+)\2([>\s]?)@\
 #################################################################################
 FILTER: google CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement.
 
-s@</head>@<style type="text/css">\n\
+s@</head>[^\\]@<style type="text/css">\n\
  /* Style sheet inserted by Privoxy's google filter. */\n\
  \#fbc, \#fbl, \#ra, .rhh {visibility: hidden !important;}\n\
  \#tpa1,\#tpa2,\#tpa3,\#tpa4,\#tpa5,\#tpa5, \#spl, .ch, \#ads,\
  \#toolbar, \#google_ads_frame, \#mbEnd {display: none !important;}\n\
- .main_body, .j {width: 100%}\n</style>\n$0@
+ .main_body, .j, \#res, .med, .hd, .g, .s\n\
+ {width: 99%; max-width: 100%; margin-left: 0; margin-right: 0;}\n\
+ </style>\n$0@
 s@<div style=\"padding-top:11px;min-width:500px\">@<div id="main_body">@
 s@(<table cellspacing=0 cellpadding=0 width=25% align=right bgcolor=\#ffffff border=0\
 |</font></td></tr></tbody></table><table align=\"right\" bgcolor=\"\#ffffff\"\
@@ -601,7 +603,7 @@ s@</head>@\n<style type="text/css">\n\
  \#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\
  \#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\
  \#nwad, \#MWA2, \#MSCM, \#yregad, \#sponsored-links,\
- \#ks-ypn-ads, .ad, \#east, \#ygrp-vital {display: none !important;}\n\
+ \#ks-ypn-ads, .ad, \#east, \#ygrp-vital, .ads {display: none !important;}\n\
  \#yschpri, \#yschweb, \#pri, \#web, \#main, .yschttl, .abstr, .res \n\
  {width: 99% !important; max-width: 100% !important;}\n\
  .yschttl, .res, .res.indent, \#web {padding: 0px; margin: 0px !important;}\n\
@@ -630,6 +632,9 @@ s@</head>@<style type="text/css">\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\
+ \#s_notf_div,\n \
+ /* Overlay ads to enable Facebook 'likes' in search results. */\n\
+ .sn_container {display:none !important;}\n\
  \#content {padding-right: 0;}\n\
  </style>\n$0@
 # Are these ids still in use?
@@ -762,6 +767,34 @@ CLIENT-HEADER-TAGGER: css-requests Tags detected CSS requests as "CSS-REQUEST".
 
 s@^Accept:\s*text/css.*@CSS-REQUEST@i
 
+#################################################################################
+#
+# range-requests: Tags range requests as "RANGE-REQUEST".
+#
+#                 By default Privoxy removes Range headers for requests to
+#                 ressources that will be filtered to make sure the filters
+#                 get the whole picture. Otherwise Range requests could be
+#                 intentionally used to circumvent filters or, less likely,
+#                 filtering a partial response may damage it because it matched
+#                 a pattern that the ressource as a whole wouldn't.
+#
+#                 Range requests can be useful and save bandwidth so instead
+#                 of removing Range headers for requests to ressources that
+#                 will be filtered, you may prefer to simply disable filtering
+#                 for those requests.
+#
+#                 That's what this tagger is all about. After enabling it,
+#                 you can disable filtering for range requests using the following
+#                 action section:
+#
+#                 {-filter -deanimate-gifs}
+#                 TAG:^RANGE-REQUEST
+#
+#################################################################################
+CLIENT-HEADER-TAGGER: range-requests Tags range requests as "RANGE-REQUEST".
+
+s@^Range:.*@RANGE-REQUEST@i
+
 #################################################################################
 #
 # client-ip-address: Tags the request with the client's IP address.
@@ -807,6 +840,15 @@ CLIENT-HEADER-TAGGER: user-agent Tags the request with the complete User-Agent h
 
 s@^User-Agent:.*@$0@i
 
+#################################################################################
+#
+# referer: Tags the request with the complete Referer header.
+#
+#################################################################################
+CLIENT-HEADER-TAGGER: referer Tags the request with the complete Referer header.
+
+s@^Referer:.*@$0@i
+
 #################################################################################
 #
 # content-type: Tags the request with the content type declared by the server.