// ==UserScript==
// @name         Web Bug Detector
// @description  neutralize web bugs and make them visible
// @include      *
// ==/UserScript==

var snapImages = document.evaluate("//img[@width='1' or @width='0'][@height='1' or @height='0'][contains(@src, '?')]",
	document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = snapImages.snapshotLength - 1; i >= 0; i--) {
	var elmImage = snapImages.snapshotItem(i);
	var urlSrc = elmImage.src;
	var urlHost = urlSrc.replace(/^(.*?):\/\/(.*?)\/(.*)$/, "$2");
	if (urlHost == window.location.host) continue;
	elmImage.width = '16';
	elmImage.height = '16';
	elmImage.title = 'Web bug detected! src was "' + elmImage.src + '"';
	elmImage.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADaElEQVR42mL4//8/AzpmZWAQYWBgUITxgUAJiEWxqQUIIEYwwcjIAlTw9z9UNQgAxQyA1GcgZgZibqDUeSQ5RpA4UOwPQAAxgQSAunWAlDgDKngjxsAQKcjAEApkv0CTkwJiDRADIIBgTpTkY2AIBtISQMwJxKymgkynNleo/F+Vr/xfhZNhO1CMCSonBlQbArIQpBcggFighjwHuuo20DYPSVYG2Wu/GXaKsv176GN7x5ThEwPDpEUMn+59Z7BUYWGweP6H4RlQ6BpQz0uQXoAAYoG5CShwCUhdAhokZMjKkC8kycTDwGQNdBsLg5H2UYXnR3653/rD0AtU9xHZLwABBAoMNSDmB+L3QPdJAd0pxMfJoLPn+IFGFeHtTKx/vjPc/Rn/39rYuOHDV4aTv4BhA1T7mpuBQfgrA8NbgAACGcIDxLpcDAxhQNqWk4khfceO7b8+/Xv6/91R4//vDqj+//7v3v8DR0/85mNjqAA62Z2XgSEGqNYQpBcggFDiFAj4QivWbb/y7OX/21e3/P/9asr/7/fq/t+7uub/qcdvf6V07D0OCnBkPQABxIQUtwLOSdMWhcYEuJ44e+bnXy5Jhj/c5xj+cV9l+MsmyXDt4unfdt5O+kGFC1YA1UrD9AEEEBNUs5xP0bp1vsmZfnuPXXv97rfy+wMnXjMYm+9g0LLYw7D7+Pv/3xjVPpw4efGTZUC8VUTV5o1APaC0wwAQQExABrdp2ubFcjaB9su2PHj0+a/sJzZOoZ8s/578e37/GcOnFx8ZWP7c+cvAIfLjK4Pcxw177z7j0vfRcSw9sByoVxIggIAuYDPk1/bR3rHn+XMGRu4/TIx/GP8yiP5WEb72890FBoZ3B4EZgefKz18MvP+YGP4zMTDy/d5/4Mkrdnl7eWDk2QIEEDBQf715cPfTVwZ2Ycb/DF/+MzExMnEKMrA1VBza9+wag/nf3wxfOKSObc+fz+DDzMT46x8wCzBxiPx98PDPD2BWeQMQQCzAkLzBKOy5SC52exqXiBAHjygD48FNWx8dOHCmBJTBQGmM4f21j5uXr1BXcY7Q4/rM8P/fNwaGG0vCNjIw/DsMEECw3MjGwMDrwSymb8T4+92XP++v7QCKX0FJccCAZuZX9WPkkhD/8/zSDQaGj5uBaj4BBBgA96R6/D7I/IsAAAAASUVORK5CYII=';
}
