// ==UserScript==
// @name 隐私保护助手
// @namespace https://pd.qq.com/s/4hvdpzev6
// @version 1.0
// @description 阻止第三方Cookies和一些常见的追踪器请求,保护用户隐私。
// @author Termux交流社区
// @match *://*/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
// 阻止第三方Cookies
if (typeof document === 'object') {
Object.defineProperty(document, 'cookie', {
writable: true,
value: function() {
}
});
}
const trackingUrls = [
'//google-analytics.com/analytics.js',
'//www.googletagmanager.com/gtm.js',
'//connect.facebook.net/signals/config/FacebookPixel'
];
const originalOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
if (trackingUrls.some(trackingUrl => url.includes(trackingUrl))) {
this.onreadystatechange = function() {};
return;
}
originalOpen.call(this, method, url, async, user, pass);
};
const originalInsertBefore = Element.prototype.insertBefore;
Element.prototype.insertBefore = function(newNode, referenceNode) {
if (newNode.tagName === 'IMG' && newNode.src.match(/(facebook|google|doubleclick)\.(.*)\像素/)) {
return newNode;
}
return originalInsertBefore.call(this, newNode, referenceNode);
};
})();
|