User:GeneralNotability/moremenu-proxy.js

$(function {	mw.hook('moremenu.ready').add(function (config) { const isip = mw.util.isIPAddress(config.targetUser.name, false); // Things that only work on single IP addresses if (isip) { MoreMenu.addSubmenuLink('user', 'ip-lookup', 'Bullseye', 'https://bullseye.toolforge.org/ip/' + config.targetUser.encodedName); MoreMenu.addSubmenuLink('user', 'ip-lookup', 'Spur', 'https://spur.us/context/' + config.targetUser.encodedName); MoreMenu.addSubmenuLink('user', 'ip-lookup', 'Shodan', 'https://www.shodan.io/search?query=' + config.targetUser.encodedName); if (mw.util.isIPv4Address(config.targetUser.name, false)) { MoreMenu.addSubmenuLink('user', 'ip-lookup', 'Censys', 'https://censys.io/ipv4/' + config.targetUser.encodedName); }	 }	  if (isip || config.targetUser.ipRange) { MoreMenu.addSubmenuLink('user', 'ip-lookup', 'Stalktoy', 'https://tools.wmflabs.org/meta/stalktoy/' + config.targetUser.encodedName); }	}); });