您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Redirect to privacy friendly front-ends of popular services.
当前为
// ==UserScript== // @name Privacy Frontend Redirect // @match *://*/* // @grant none // @version 3.0.0 // @author NoUser // @description Redirect to privacy friendly front-ends of popular services. // @run-at document-start // @namespace https://greasyfork.org/en/scripts/458875-privacy-frontend-redirect // @homepage https://greasyfork.org/en/scripts/458875-privacy-frontend-redirect // @license MIT // ==/UserScript== const hostname = window.location.hostname; const hosts = { "www.youtube.com": "inv.librefront.com", "www.youtube-nocookie.com": "inv.librefront.com", "m.youtube.com": "inv.librefront.com", "twitter.com": ["nitter.sneed.network", "canada.unofficialbird.com", "nitter.privacytools.io", "nitter.foss.wtf", "nitter.privacy.com.de", "nitter.1d4.us", "nitter.pussthecat.org", "nitter.poast.org", "twitter.censors.us"], "mobile.twitter.com": ["nitter.sneed.network", "canada.unofficialbird.com", "nitter.privacytools.io", "nitter.foss.wtf", "nitter.privacy.com.de", "nitter.1d4.us", "nitter.pussthecat.org", "nitter.poast.org", "twitter.censors.us"], "www.reddit.com": ["libreddit.eu.org", "libreddit.spike.codes", "lr.odyssey346.dev", "rd.funami.tech", "libreddit.dcs0.hu", "lr.vern.cc", "www.troddit.com"], "imgur.com": ["rimgo.pussthecat.org", "rimgo.totaldarkness.net", "rimgo.vern.cc", "imgur.artemislena.eu", "rimgo.privacydev.net", "rimgo.bus-hit.me"], "i.imgur.com": ["rimgo.pussthecat.org", "rimgo.totaldarkness.net", "rimgo.vern.cc", "imgur.artemislena.eu", "rimgo.privacydev.net", "rimgo.bus-hit.me"], "www.instagram.com": ["bibliogram.froth.zone", "ig.tokhmi.xyz", "bibliogram.priv.pw"], "www.tiktok.com": ["proxitok.pussthecat.org", "proxitok.esmailelbob.xyz", "tok.habedieeh.re", "tok.artemislena.eu", "proxitok.privacydev.net", "proxitok.manasiwibi.com"], "www.imdb.com": ["ld.vern.cc", "libremdb.esmailelbob.xyz", "lmdb.tokhmi.xyz", "libremdb.iket.me", "libremdb.pussthecat.org"], "translate.google.com": ["lingva.ml", "translate.plausibility.cloud", "lingva.lunar.icu", "translate.projectsegfau.lt", "translate.jae.fi"], "medium.com": ["scribe.rip", "scribe.nixnet.services", "scribe.citizen4.eu", "scribe.bus-hit.me", "scribe.froth.zone", "scribe.rawbit.ninja"], }; // Check if hostname exists in the "hosts" object if (hostname in hosts) { let replacement = hosts[hostname]; // If the replacement value is an array, randomly select one of the frontends if (Array.isArray(replacement)) { replacement = replacement[Math.floor(Math.random() * replacement.length)]; } // Replace hostname with selected replacement in the URL window.location.href = window.location.href.replace(hostname, replacement); } // Also replace iframes const iframes = document.getElementsByTagName("iframe"); for (let i = 0; i < iframes.length; i++) { let iframe = iframes[i]; let src = iframe.src; let url = new URL(src); let host = url.host; if (host in hosts) { let replacement = hosts[host]; if (Array.isArray(replacement)) { replacement = replacement[Math.floor(Math.random() * replacement.length)]; } iframe.src = src.replace(host, replacement); } }