// ==UserScript== // @name Twitter to Nitter Redirect // @namespace http://tampermonkey.net/ // @version 1.0 // @description Redirect Twitter links to Nitter links // @author USForeign Policy // @match https://twitter.com/* // @match https://x.com/* // @run-at document-start // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // Function to extract the tweet/user ID from the URL function getIDFromURL(url) { const parts = url.split('/'); return parts[parts.length - 1]; } // Get the current URL const currentURL = window.location.href; // Check if it's a tweet or user page if (currentURL.includes('/status/')) { // Redirect to Nitter tweet page const tweetID = getIDFromURL(currentURL); const nitterURL = `https://nitter.net/${tweetID}`; window.location.replace(nitterURL); // Use replace() to avoid adding to the browser history } else { // Redirect to Nitter user page const username = currentURL.split('/')[3]; const nitterURL = `https://nitter.net/${username}`; window.location.replace(nitterURL); // Use replace() to avoid adding to the browser history } })();