您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Blur IPs, host info, sponsor links/names, survey params on speedtest.com
// ==UserScript== // @name Blur Sensitive Data on Speedtest.net // @namespace http://tampermonkey.net/ // @version 1.3 // @description Blur IPs, host info, sponsor links/names, survey params on speedtest.com // @match https://www.speedtest.net/* // @grant none // ==/UserScript== (function() { 'use strict'; const ipRegex = /\b\d{1,3}(?:\.\d{1,3}){3}\b/; const blurStyle = 'filter: blur(12px) !important; user-select: none !important; pointer-events: none !important;'; function blurSensitive() { // blur IPs and labels document.querySelectorAll('.result-data').forEach(el => { if (ipRegex.test(el.textContent)) { [el.previousElementSibling, el].forEach(e => { if (e) e.style.cssText += blurStyle; }); } }); // blur server-host blocks document.querySelectorAll('.result-item-host').forEach(host => { host.style.cssText += blurStyle; }); // blur sponsor link text document.querySelectorAll('a.js-data-sponsor').forEach(a => { a.style.cssText += blurStyle; }); // blur sponsor name divs document.querySelectorAll('div.result-data.js-sponsor-name').forEach(div => { div.style.cssText += blurStyle; }); // blur survey parameter document.querySelectorAll('p.audience-survey-parameter').forEach(p => { p.style.cssText += blurStyle; }); } blurSensitive(); new MutationObserver(blurSensitive).observe(document.body, { childList: true, subtree: true }); })();