Skip to content

Instantly share code, notes, and snippets.

@RoootTheFox
Last active July 28, 2024 00:43
Show Gist options
  • Save RoootTheFox/68164d1be1d47f8a64593e15d19512e6 to your computer and use it in GitHub Desktop.
Save RoootTheFox/68164d1be1d47f8a64593e15d19512e6 to your computer and use it in GitHub Desktop.
revert to the bird (twitter revert)

twitter revert guide

Note

The userscript method is the RECOMMENDED WAY since it has more features and also applies the style for you. You should use the script unless you only want to replace the icon in the top left.

You do NOT NEED BOTH.

recommended way: userscript (all features)

  1. Install a userscript manager like Tampermonkey in your browser

  2. Click here, it will prompt you to install the script

  3. click "install"

  4. done!

Warning

Only install userscripts from people you trust! Always check the code of the scripts you're installing.

style (only replaces the icon in the top left)

Tip

You don't need this if you already have the script installed.

  1. Install the Stylus extension for your browser
  1. Click here, it will prompt you to install the style

  2. click "Install style"

  3. Done!

/* ==UserStyle==
@name revert-twitter
@namespace https://gist.github.com/RoootTheFox/
@version 1.0.1
@description reverts some useless changes el*n made to twitter
@author rooot
==/UserStyle== */
@-moz-document domain("twitter.com") {
/* why did they make the tweet font bigger?? */
.r-1blvdjr {
font-size: 17px;
}
/* revert the new "logo" to the bird */
[d="M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0"],
[d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"]{
d: path("M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z");
}
}
// ==UserScript==
// @name twitter revert
// @namespace https://rooot.gay
// @updateURL https://gist.github.com/RoootTheFox/68164d1be1d47f8a64593e15d19512e6/raw/revert-twitter.user.js
// @downloadURL https://gist.github.com/RoootTheFox/68164d1be1d47f8a64593e15d19512e6/raw/revert-twitter.user.js
// @version 0.1.5
// @description reverts the bird app back to twitter
// @author rooot
// @match https://*.twitter.com/*
// @match https://*.x.com/*
// @icon https://abs.twimg.com/responsive-web/client-web/icon-ios.8ea219d5.png
// @resource revert_css https://gist.github.com/RoootTheFox/68164d1be1d47f8a64593e15d19512e6/raw/revert-twitter.user.css
// @grant GM_getResourceText
// @grant GM_addStyle
// @run-at document-start
// ==/UserScript==
const twitterIconURL = "//abs.twimg.com/favicons/twitter.2.ico";
(function() {
'use strict';
// in case you're not migrated yet, this should prevent that
if (window.location.pathname.startsWith("/x/migrate")) {
window.location.pathname = "/home";
}
if (window.location.host === "x.com") {
if (window.location.hash.includes("redirected-from-x")) {
console.log("WARNING !! - failed to redirect to twitter.com");
return;
}
let new_url = new URL(window.location.href);
new_url.host = "twitter.com";
new_url.searchParams.set("mx", 1); // this prevents the redirect
new_url.hash += "redirected-from-x"; // prevent infinite loops in case twitter decides to always force redirects and ignore mx=1
window.location.href = new_url.href;
} else if (window.location.hash.includes("redirected-from-x")) {
// remove the redirect loop prevention from the URL to make it look cleaner :3
window.location.hash = window.location.hash.replace("redirected-from-x", "");
// if the resulting href.hash is empty but we still have the '#' character left in the url, get rid of it
if (window.location.href.endsWith("#") && window.location.hash == "") {
history.replaceState(null, "", window.location.href.slice(0, -1));
}
}
function replaceFavicon() {
Array.from(document.getElementsByTagName('link')).forEach(e => {
if (e.rel == "shortcut icon") {
e.setAttribute("href", twitterIconURL);
}
});
}
function unFuckTitle() {
Array.from(document.getElementsByTagName("title")).forEach(e => {
if (e.innerHTML.endsWith("/ X")) {
e.innerHTML = e.innerHTML.substring(0, e.innerHTML.length - 3) + "/ Twitter";
} else if (e.innerHTML == "X") {
e.innerHTML = "Twitter";
}
});
}
// todo: use mutationobserver
setInterval(unFuckTitle, 66);
setInterval(replaceFavicon, 200);
// css for reverting bird logo in the top left
addEventListener("DOMContentLoaded", (event) => {
let revert_css = GM_getResourceText("revert_css");
// remove userstyle headers (it won't work otherwise)
if (revert_css.includes("==UserStyle==")) {
revert_css = /@-moz-document.*?{(.+).$/s.exec(revert_css)[1];
}
GM_addStyle(revert_css);
});
})();
@ardaxxdd
Copy link

Having the installation guide on github would make it easier to recommend to other people.

@RoootTheFox
Copy link
Author

will do!

@RoootTheFox
Copy link
Author

added a quick install guide !! hope this helps (if anything is unclear feel free to tell me)

@RoootTheFox
Copy link
Author

added a way to revert the favicon! (note: this requires a userscript manager; I've added instructions for that!)

@RoootTheFox
Copy link
Author

update !!

  • added a workaround to still use twitter.com as domain (redirects back from x)
  • fixed an issue that made the script way more reliable
  • made the script load the custom style too, making it the universal solution

the new recommended way to use this is the userscript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment