您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Advanced measures to reduce browser fingerprinting
当前为
// ==UserScript== // @name Advanced Anti-Fingerprinting Script // @namespace http://tampermonkey.net/ // @version 0.3 // @author saiHy // @description Advanced measures to reduce browser fingerprinting // @match *://*/* // @grant none // @license MIT // @run-at document-start // ==/UserScript== (function() { 'use strict'; // 扩展 Canvas 防护 function advancedCanvasProtection() { const originalGetContext = HTMLCanvasElement.prototype.getContext; HTMLCanvasElement.prototype.getContext = function(type, contextAttributes) { const ctx = originalGetContext.call(this, type, contextAttributes); if (ctx) { const randomOffset = Math.random() * 100; const randomFactor = Math.random(); ['save', 'restore', 'fillRect', 'strokeRect', 'clearRect', 'fill', 'stroke', 'fillText', 'strokeText'].forEach(method => { const originalMethod = ctx[method]; ctx[method] = function(...args) { if (method.includes('Text')) { args[1] += randomOffset; // 改变文本位置 args[2] += randomOffset; } else if (method.includes('Rect')) { args[1] += randomOffset * randomFactor; // 改变矩形位置 args[2] += randomOffset * randomFactor; args[3] *= randomFactor; // 改变大小 args[4] *= randomFactor; } return originalMethod.apply(this, args); }; }); } return ctx; }; } // 增强 WebGL 防护 function advancedWebGLProtection() { try { const originalGetParameter = WebGLRenderingContext.prototype.getParameter; WebGLRenderingContext.prototype.getParameter = function(param) { // 提供通用或随机化的信息 switch(param) { case 0x9245: // WebGL_VERSION return 'WebGL 1.0'; case 0x8B31: // RENDERER return 'Generic GPU'; case 0x8B30: // VENDOR return 'Anonymous Vendor'; case 0x9242: // SHADING_LANGUAGE_VERSION return 'WebGL GLSL ES 1.0'; case 0x9246: // UNMASKED_VENDOR_WEBGL case 0x9247: // UNMASKED_RENDERER_WEBGL return 'Anonymous'; default: return originalGetParameter.call(this, param); } }; // 屏蔽更多 WebGL 扩展 const originalGetExtension = WebGLRenderingContext.prototype.getExtension; WebGLRenderingContext.prototype.getExtension = function(name) { if (['WEBGL_debug_renderer_info', 'WEBGL_compressed_texture_s3tc', 'WEBGL_depth_texture'].includes(name)) return null; return originalGetExtension.call(this, name); }; } catch (e) {} // 如果不支持 WebGL 则忽略错误 } // 进一步混淆浏览器信息 function furtherObscureBrowserInfo() { // 语言信息 Object.defineProperty(navigator, 'language', { get: () => 'en-US' }); Object.defineProperty(navigator, 'languages', { get: () => ['en-US', 'en'] }); // 时区 const offset = -new Date().getTimezoneOffset() / 60; Object.defineProperty(Intl, 'DateTimeFormat', { value: function() { return { resolvedOptions: () => ({ timeZone: 'UTC' }) }; } }); // 插件信息 Object.defineProperty(navigator, 'plugins', { get: () => [{ name: 'Generic Plugin', description: 'Generic Plugin' }] }); // 字体 const originalMeasureText = CanvasRenderingContext2D.prototype.measureText; CanvasRenderingContext2D.prototype.measureText = function() { const result = originalMeasureText.apply(this, arguments); result.width = 100 * Math.random(); // 随机化文本宽度 return result; }; // 屏幕尺寸 const screenWidth = window.screen.width; const screenHeight = window.screen.height; Object.defineProperty(window.screen, 'width', { get: () => Math.floor(screenWidth / 100) * 100 }); Object.defineProperty(window.screen, 'height', { get: () => Math.floor(screenHeight / 100) * 100 }); // 硬件并发数 Object.defineProperty(navigator, 'hardwareConcurrency', { get: () => 4 }); // 假设所有人都有4核 // 浏览器特性 Object.defineProperty(navigator, 'platform', { get: () => 'Win32' }); Object.defineProperty(navigator, 'appVersion', { get: () => '5.0 (Windows)' }); Object.defineProperty(navigator, 'userAgent', { get: () => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36' }); } // 执行所有防护措施 advancedCanvasProtection(); advancedWebGLProtection(); furtherObscureBrowserInfo(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址