Extension:CheckUser


 * This page is about the extension. For the Wikimedia Foundation checkuser policy, click here.

CheckUser is an extension that allows a user (with the checkuser permission) to check which IPs are used by a given username and which usernames are used by a given IP, without having to run queries directly against the database by hand. The extension is running live on all Wikimedia wikis.

Installation
The extension is released under the GNU General Public License 2.0 or later. The software is provided as-is. Updates will be made according to the needs of Wikimedia wikis; or where critical vulnerabilities are discovered.

Basic

 * 1) Download the files (using snapshot, or directly from SVN) to the extensions directory, e.g. put the folder in YourWikiSite/wiki/extensions.
 * 2) * If you are using MW 1.5–1.9, you need an older version.
 * 3) Open command prompt and run php install.php
 * 4) * Note that AdminSettings.php (in your root MediaWiki directory) will need to have a valid username and password set for access to the DB.
 * 5) Add   somewhere in LocalSettings.php.

Configuration
This tool migrates recent changes data to a separate table, and adds to that when new entries are added. If $wgPutIPinRC was set to false, there will be no data to search. After you run the queries, you can reduce $wgRCMaxAge to make recentchanges shorter, without affecting checkuser. Use $wgCUDMaxAge to set how far back checkuser data can go.

CheckUsers using FireFox can add this JS script to their .js file. It makes retrieving IP WHOIS data easier. It requires  support (about:config) enabled.

Basic interface

 * 1) Go to Special:CheckUser.
 * 2) In the user field, type in the username (without the 'user:' prefix), IP address, or CIDR range.
 * 3) * IP: any IPv4 or IPv6 address.
 * 4) * CIDR: you can check a range of IP addresses by appending the CIDR prefix (up to /16 for IPv4 or /64 for IPv6, or 65,536 addresses). For notation, see Range blocks.
 * 5) * XFF: you can check a client IP address provided by X-Forwarded-For headers by appending /xff (for example, 127.0.0.1/xff).
 * 6) Select the information you want to retrieve.
 * 7) * Get IPs: returns IP addresses used by a registered user.
 * 8) * Get edits from IP: returns all edits made by a user (registered or anonymous) from an IP address or range.
 * 9) * Get users: returns user accounts that have edited from an IP or range.
 * 10) In the reason field, type in the reason you are accessing the confidential data. Try to succinctly summarise the situation (for example, "cross-wiki spam"); this will be logged.

Information returned
A typical entry in the checkuser results for a user summary ("get users") is as follows:
 * Example (Talk | contribs) (20:11, -- 20:12, ) [5]
 * 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5

This is formatted to fit a lot of information into a format that can very easily be listed and skimmed, but is difficult to read unless you know what the information provided is. The information is laid out as follows:
 * username (user links) (time period when they edited from the given IP or range) [number of edits from the IP or range]
 * IP address edited from XFF: XFF information provided (can be spoofed)

Each IP/XFF combination used to edit is listed, in order of use.

The last ten user agents (browser, operating system, system language, and versions) for each user for edits made in the IP or range are listed afterwards.

XFF Format
XFF (X-Forwarded-For) headers indicate the series of IP addresses used from the user's computer (first) to the server hosting MediaWiki (last).

In this example: aaa.aaa.aaa.aaa       XFF: 10.4.46.42, 127.0.0.1, aaa.aaa.aaa.aaa, 208.80.152.46


 * the first two addresses (10.4.46.42, 127.0.0.1) are private to the originating network and can't be reached directly from the public Internet,
 * the third address (aaa.aaa.aaa.aaa) is the "public face" of the editor, usually a broadband or dialup ISP, a company gateway, (but possibly an anonymizer or a malware-compromised server),
 * the last address (208.80.152.46) is one of the Wikimedia squids (sq36.wikimedia.org).

Log
A log of all CheckUser accesses can be viewed at Special:CheckUser by those with the CheckUser rights. The log usually needs to be disabled or the directory ($wgCheckUserLog) for log outputs set to valid directory on non-Wikimedia wikis in order for the extension to correctly work.

Predecessor of CheckUser
The original extension for checking registered users IPs was called Espionage (previously Userip), written by Ævar Arnfjörð Bjarmason in 2005. This is still available from SVN, though it is not recommended unless the CheckUser extension doesn't work for you.