Twitter Original Image

Add ":orig" to twitter images.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name        Twitter Original Image
// @description Add ":orig" to twitter images.
// @namespace   eight04.blogspot.com
// @include     https://twitter.com/*
// @version     0.1.2
// @license		MIT
// @supportURL	https://github.com/eight04/twitter-original-image/issues
// @compatible	Firefox
// @grant       none
// ==/UserScript==

var replace
if (location.hostname == "twitter.com") {	
	replace = () => {
		var imgs = document.querySelectorAll("#permalink-overlay .AdaptiveMedia img"),
			img;
		
		for (img of imgs) {
			if (!img.src.endsWith(":orig")) {
				img.src += ":orig";
			}
		}
	};
	
	replace();

	new MutationObserver(replace).observe(document.querySelector("#permalink-overlay"), {
		childList: true,
		subtree: true
	});
} else {
	replace = () => {
		var img, match;
		for (img of document.images) {
			if ((match = img.src.match(/\/\/pbs\.twimg\.com\/media\/([a-z0-9]+)\.(jpg|gif|png)(:[a-z]+)?/i))) {
				if (match[3] == ":orig") continue;
				img.src = `//pbs.twimg.com/media/${match[1]}.${match[2]}:orig`;
			}
		}
	};
	
	replace();
	
	new MutationObserver(replace).observe(document.body, {
		childList: true,
		subtree: true
	});
}