MediaWiki:Gadget-ReverseIP.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
// ==UserScript==
// @name Wiki WHOIS linker
// @author Jarandhel (adapted from version from Arendedwinter)
// @description Creates a link next to each anon IP for easy WHOIS searches. Should work on all language Wikis
// ==/UserScript==
// NOTIFICATION TEXT : REMOVE IF YOU DON'T WANT IT
var Notify = document.createElement("p");
var txt = "WHOIS lookup enabled";
var newT = document.createTextNode(txt);
Notify.appendChild(newT);
Notify.setAttribute("style", "position: fixed; z-index: 99; left: 0; bottom: 0; font-size: 7pt; background-color: #E9E9E9; color: #000000;");
var AppendSwitcher = document.getElementsByTagName('body')[0];
AppendSwitcher.appendChild(Notify);
//--DON'T REMOVE BELOW HERE--
//SET SOME VARIABLES
var Link = document.getElementsByTagName('a');
var IPFilter = /^.*([0-9]{1,2})+\.([0-9]{1,2})+\.([0-9]{1,2})+\.([0-9]{1,2})+$/;
var ExtraLinkURL = 'https://dnslytics.com/ip/';
var ExtraSecondLinkURL = 'http://ip-api.com/line/';
var ExtraThirdLinkURL = 'https://extreme-ip-lookup.com/';
var ExtraLinkTarget = '_blank';
var ExtraLinkTitle = 'WHOIS this IP';
var ExtraLinkText = ' <font size="1"><font color="black">(</font><u><font>WHOIS</font></u><font color="black">)</font></font>';
var ExtraSecondLinkText = ' <font size="1"><font color="black">(</font><u><font>RBLS</font></u><font color="black">)</font></font>';
var ExtraThirdLinkText = ' <font size="1"><font color="black">(</font><u><font>WHOIS2</font></u><font color="black">)</font></font>';
//DO STUFF!
//Yes I'm aware this can be written better...
for (var i = 0; i < Link.length; i++){
//Filter out external links (eg: Enzyme Commission codes are the same format as an IP)
var InWikipedia = /anotherwiki.org/.test(Link[i].href);
if (InWikipedia == true){
if (Link[i].textContent.match(IPFilter)){
ExtraLinkSpan = document.createElement('span');
if (Link[i].textContent.match(/\:/g)){
var NewLink = Link[i].textContent.split(/\:/g);
NewLink = NewLink[1];
if (NewLink.match(/\//g)){
var NewLink = Link[i].textContent.split(/\//g);
NewLink = NewLink[1];
}
}else{
var NewLink = Link[i].textContent;
}
ExtraLink = '<a class="reverseipeditlink" href="' + ExtraLinkURL + NewLink + '" target="' + ExtraLinkTarget + '" title="' + ExtraLinkTitle + '">' + ExtraLinkText + '</a>'+'<a class="reverseipeditlink" href="' + ExtraSecondLinkURL + NewLink + '" target="' + ExtraLinkTarget + '" title="RBLS">' + ExtraSecondLinkText + '</a>'+'<a class="reverseipeditlink" href="' + ExtraThirdLinkURL + NewLink + '" target="' + ExtraLinkTarget + '" title="RBLS">' + ExtraThirdLinkText + '</a>';
ExtraLinkSpan.innerHTML = ExtraLink;
Link[i].parentNode.insertBefore(ExtraLinkSpan, Link[i].nextSibling);
}
}
}