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); } } }