<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AUserLinks%2Fextra</id>
	<title>Module:UserLinks/extra - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AUserLinks%2Fextra"/>
	<link rel="alternate" type="text/html" href="https://chabadpedia.com/index.php?title=Module:UserLinks/extra&amp;action=history"/>
	<updated>2026-04-30T16:57:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://chabadpedia.com/index.php?title=Module:UserLinks/extra&amp;diff=8260&amp;oldid=prev</id>
		<title>Shia.k: Created page with &quot;-------------------------------------------------------------------------------- -- This module holds extra link functions for use with Module:UserLinks. -- -- It is intended for experimenting with new link functions that will eventually -- be added to the main module code. -- -- Since this module is transcluded in only a small number of pages, changes -- should cause little server overhead and should propagate quickly. -- -- Link functions using the same link code a...&quot;</title>
		<link rel="alternate" type="text/html" href="https://chabadpedia.com/index.php?title=Module:UserLinks/extra&amp;diff=8260&amp;oldid=prev"/>
		<updated>2025-04-17T19:09:43Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;-------------------------------------------------------------------------------- -- This module holds extra link functions for use with &lt;a href=&quot;/index.php/Module:UserLinks&quot; title=&quot;Module:UserLinks&quot;&gt;Module:UserLinks&lt;/a&gt;. -- -- It is intended for experimenting with new link functions that will eventually -- be added to the main module code. -- -- Since this module is transcluded in only a small number of pages, changes -- should cause little server overhead and should propagate quickly. -- -- Link functions using the same link code a...&amp;quot;&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.fa(snippets)&lt;br /&gt;
	-- Former admin label&lt;br /&gt;
	return message(&amp;#039;display-formeradmin&amp;#039;)&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.lr(snippets)&lt;br /&gt;
	-- Local rights&lt;br /&gt;
	return makeFullUrlLink(&lt;br /&gt;
		snippets.interwiki,&lt;br /&gt;
		-1,&lt;br /&gt;
		&amp;#039;Log&amp;#039;,&lt;br /&gt;
		{page = &amp;#039;User:&amp;#039; .. snippets.username},&lt;br /&gt;
		message(&amp;#039;display-localrights&amp;#039;)&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
function linkFunctions.mr(snippets)&lt;br /&gt;
	-- Meta user rights&lt;br /&gt;
	return makeFullUrlLink(&lt;br /&gt;
		&amp;#039;meta&amp;#039;,&lt;br /&gt;
		-1,&lt;br /&gt;
		&amp;#039;Log&amp;#039;,&lt;br /&gt;
		{page = &amp;#039;User:&amp;#039; .. snippets.username .. &amp;#039;@enwiki&amp;#039;},&lt;br /&gt;
		message(&amp;#039;display-metarights&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;https&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;https&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>Shia.k</name></author>
	</entry>
</feed>