Wikimedia secure links
By Ilmari Karonen
—
Last update May 20, 2008
—
Installed
136 times.
// ==UserScript==
// @name Wikimedia secure links
// @namespace http://vyznev.net/
// @description Fixes links to Wikimedia websites to use the secure HTTPS interface. (Enabled by default only when already using the secure interface.)
// @include https://secure.wikimedia.org/*
// ==/UserScript==
GM_addStyle("#bodyContent a[href ^=\"https://secure.wikimedia.org/\"] { background: none; padding-right: 0; }"); // hide padlock
var re = /^http:\/\/(?:([a-z0-9\\-]+)\.)?(wiki(?:[mp]edia|books|quotes|versity|news|source|mediafoundation)|wiktionary|mediawiki)\.org(\/w(?:iki)?\/.*|\/?)$/i;
var exclude = /^http:\/\/((download|upload|secure|bugzilla|www|wikimania[a-z0-9\\-]*)\.)?wikimedia\.org(\/|$)/i;
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
var m = re.exec(links[i].href);
if (!m || !m.length || exclude.test(links[i].href)) continue;
if (!m[1]) m[1] = "en";
if (m[3].length <= 1) m[3] = "/wiki/";
m[1] = m[1].toLowerCase();
m[2] = m[2].toLowerCase();
if (m[2] == "wikimedia") { m[2] = "wikipedia"; }
else if (m[2] == "mediawiki") { m[1] = m[2]; m[2] = "wikipedia"; }
else if (m[2] == "wikimediafoundation") { m[1] = "foundation" ; m[2] = "wikipedia"; }
links[i].href = "https://secure.wikimedia.org/" + m[2] + "/" + m[1] + m[3];
}