<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://amaranth-legacy.community/Module:UserLinks/extra?action=history&amp;feed=atom</id>
	<title>Module:UserLinks/extra - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://amaranth-legacy.community/Module:UserLinks/extra?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://amaranth-legacy.community/Module:UserLinks/extra?action=history"/>
	<updated>2026-04-09T20:04:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://amaranth-legacy.community/index.php?title=Module:UserLinks/extra&amp;diff=5025&amp;oldid=prev</id>
		<title>imported&gt;Tesinormed: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://amaranth-legacy.community/index.php?title=Module:UserLinks/extra&amp;diff=5025&amp;oldid=prev"/>
		<updated>2023-08-01T03:55:26Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:55, August 1, 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawiki-mediawiki-:diff:1.41:old-5024:rev-5025 --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Tesinormed</name></author>
	</entry>
	<entry>
		<id>https://amaranth-legacy.community/index.php?title=Module:UserLinks/extra&amp;diff=5024&amp;oldid=prev</id>
		<title>English Wikipedia&gt;Trialpears: robtex.com has undergone significant changes. Updated rbl link to reflect that.</title>
		<link rel="alternate" type="text/html" href="https://amaranth-legacy.community/index.php?title=Module:UserLinks/extra&amp;diff=5024&amp;oldid=prev"/>
		<updated>2023-02-20T13:51:48Z</updated>

		<summary type="html">&lt;p&gt;robtex.com has undergone significant changes. Updated rbl link to reflect that.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
-- This module holds extra link functions for use with [[Module:UserLinks]].&lt;br /&gt;
--&lt;br /&gt;
-- It is intended for experimenting with new link functions that will eventually&lt;br /&gt;
-- be added to the main module code.&lt;br /&gt;
--&lt;br /&gt;
-- Since this module is transcluded in only a small number of pages, changes&lt;br /&gt;
-- should cause little server overhead and should propagate quickly.&lt;br /&gt;
--&lt;br /&gt;
-- Link functions using the same link code as a function in the main module will&lt;br /&gt;
-- be ignored; please give your function a unique code.&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- Load shared helper functions&lt;br /&gt;
local mShared = require(&amp;#039;Module:UserLinks/shared&amp;#039;)&lt;br /&gt;
local raiseError = mShared.raiseError&lt;br /&gt;
local makeWikitextError = mShared.makeWikitextError&lt;br /&gt;
local makeWikilink = mShared.makeWikilink&lt;br /&gt;
local makeUrlLink = mShared.makeUrlLink&lt;br /&gt;
local makeFullUrlLink = mShared.makeFullUrlLink&lt;br /&gt;
local message = mShared.message&lt;br /&gt;
&lt;br /&gt;
local linkFunctions = {}&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.coibot(snippets)&lt;br /&gt;
	-- COIBot report&lt;br /&gt;
	return makeWikilink(&lt;br /&gt;
		nil,&lt;br /&gt;
		4,&lt;br /&gt;
		&amp;#039;WikiProject Spam/UserReports/&amp;#039; .. snippets.username,&lt;br /&gt;
		&amp;#039;COIBot&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.ggl(snippets)&lt;br /&gt;
	-- Google search for the username&lt;br /&gt;
	return makeUrlLink(&lt;br /&gt;
		{&lt;br /&gt;
			host = &amp;#039;www.google.com&amp;#039;,&lt;br /&gt;
			path = &amp;#039;/search&amp;#039;,&lt;br /&gt;
			query = {q = snippets.username},&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;Google&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.http(snippets)&lt;br /&gt;
	-- To see if an IP is serving a web page&lt;br /&gt;
&lt;br /&gt;
	local host = snippets.username&lt;br /&gt;
	if not host:match(&amp;#039;^%d+%.%d+%.%d+%.%d+$&amp;#039;) then&lt;br /&gt;
		if host:match(&amp;#039;^[%x:]+$&amp;#039;) then&lt;br /&gt;
			-- It&amp;#039;s IPv6, use RFC 3986 IP-Literal syntax&lt;br /&gt;
			host = &amp;#039;[&amp;#039; .. host .. &amp;#039;]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			-- It&amp;#039;s neither IPv4 nor IPv6, return nothing&lt;br /&gt;
			return &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return makeUrlLink(&lt;br /&gt;
		{&lt;br /&gt;
			protocol = &amp;#039;http&amp;#039;,&lt;br /&gt;
			host = host&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;http&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.msg(snippets)&lt;br /&gt;
	-- New message on user talk page&lt;br /&gt;
	return makeFullUrlLink(&lt;br /&gt;
		snippets.interwiki,&lt;br /&gt;
		3,&lt;br /&gt;
		snippets.username,&lt;br /&gt;
		{&lt;br /&gt;
			action = &amp;#039;edit&amp;#039;,&lt;br /&gt;
			section = &amp;#039;new&amp;#039;,&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;message&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.rbl(snippets)&lt;br /&gt;
	-- Realtime blacklists&lt;br /&gt;
	return makeUrlLink(&lt;br /&gt;
		{&lt;br /&gt;
			protocol = &amp;#039;https&amp;#039;,&lt;br /&gt;
			host = &amp;#039;www.robtex.com&amp;#039;,&lt;br /&gt;
			path = &amp;#039;/ip-lookup/&amp;#039; .. snippets.username .. &amp;#039;#dnsbl&amp;#039;,&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;RBLs&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.rdns(snippets)&lt;br /&gt;
	-- Reverse DNS lookup&lt;br /&gt;
	return makeUrlLink(&lt;br /&gt;
		{&lt;br /&gt;
			protocol = &amp;#039;http&amp;#039;,&lt;br /&gt;
			host = &amp;#039;www.dnswatch.info&amp;#039;,&lt;br /&gt;
			path = &amp;#039;/dns/dnslookup&amp;#039;,&lt;br /&gt;
			query = {&lt;br /&gt;
				la = &amp;#039;en&amp;#039;,&lt;br /&gt;
				host = snippets.username,&lt;br /&gt;
				submit = &amp;#039;Resolve&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;RDNS&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.sbx(snippets)&lt;br /&gt;
	-- User sandbox&lt;br /&gt;
	return makeWikilink(&lt;br /&gt;
		snippets.interwiki,&lt;br /&gt;
		2,&lt;br /&gt;
		snippets.username .. &amp;#039;/sandbox&amp;#039;,&lt;br /&gt;
		&amp;#039;sandbox&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.sfs(snippets)&lt;br /&gt;
	-- StopForumSpam&lt;br /&gt;
	return makeUrlLink(&lt;br /&gt;
		{&lt;br /&gt;
			protocol = &amp;#039;http&amp;#039;,&lt;br /&gt;
			host = &amp;#039;www.stopforumspam.com&amp;#039;,&lt;br /&gt;
			path = &amp;#039;/search/&amp;#039; .. snippets.username,&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;StopForumSpam&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.sul2(snippets)&lt;br /&gt;
	-- Global contribs, Luxo&amp;#039;s tool&lt;br /&gt;
	return makeUrlLink(&lt;br /&gt;
		{&lt;br /&gt;
			host = &amp;#039;tools.wmflabs.org&amp;#039;,&lt;br /&gt;
			path = &amp;#039;/guc/index.php&amp;#039;,&lt;br /&gt;
			query = {&lt;br /&gt;
				user = snippets.username,&lt;br /&gt;
				lang = snippets.toolLang&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;global contribs&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.uc(snippets)&lt;br /&gt;
	-- User creation&lt;br /&gt;
	return makeWikilink(&lt;br /&gt;
		snippets.interwiki,&lt;br /&gt;
		-1,&lt;br /&gt;
		&amp;#039;Log/newusers/&amp;#039; .. snippets.username,&lt;br /&gt;
		&amp;#039;user creation&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.whois(snippets)&lt;br /&gt;
	-- WHOIS information for IPs&lt;br /&gt;
	return makeUrlLink(&lt;br /&gt;
		{&lt;br /&gt;
			protocol = &amp;#039;https&amp;#039;,&lt;br /&gt;
			host = &amp;#039;tools.wmflabs.org&amp;#039;,&lt;br /&gt;
			path = &amp;#039;/whois/gateway.py&amp;#039;,&lt;br /&gt;
			query = {&lt;br /&gt;
				lookup = &amp;#039;true&amp;#039;,&lt;br /&gt;
				ip = snippets.username,&lt;br /&gt;
			},&lt;br /&gt;
		},&lt;br /&gt;
		&amp;#039;WHOIS&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.wlh(snippets)&lt;br /&gt;
	-- Links to user page (what links here)&lt;br /&gt;
	return makeWikilink(&lt;br /&gt;
		snippets.interwiki,&lt;br /&gt;
		-1,&lt;br /&gt;
		&amp;#039;WhatLinksHere/&amp;#039;&lt;br /&gt;
			.. mw.site.namespaces[2].name&lt;br /&gt;
			.. &amp;#039;:&amp;#039;&lt;br /&gt;
			.. snippets.username,&lt;br /&gt;
		&amp;#039;links to user page&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkFunctions.cr(snippets)&lt;br /&gt;
	-- Change rights&lt;br /&gt;
	return makeWikilink(&lt;br /&gt;
		snippets.interwiki,&lt;br /&gt;
		-1,&lt;br /&gt;
		&amp;#039;UserRights/&amp;#039; .. snippets.username,&lt;br /&gt;
		&amp;#039;change rights&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return {linkFunctions = linkFunctions}&lt;/div&gt;</summary>
		<author><name>English Wikipedia&gt;Trialpears</name></author>
	</entry>
</feed>