User:GeneralNotability/moremenu-proxy.js

Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
$(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);
	  }
	});
  });