Extension talk:CheckUser

Jump to navigation Jump to search

About this board

Logged actions: Which actions actually generate CU data?

Sense Amid Madness, Wit Amidst Folly (talkcontribs)

In the description it says: "Get edits from IP: returns all edits and logged actions made by a user (registered or anonymous) from an IP address or range."

Apparently this is not true for all logged actions. Page reviews, which do leave a log entry, do not generate data for the CU extension. Please clarify which actions actually generate relevant data. One other action which does not leave a (public) log but is available for CU is sending a wikimail.

Reply to "Logged actions: Which actions actually generate CU data?"
Il Gatto Obeso (talkcontribs)

I've installed CheckUser extension on my wiki and imported the file <code>cu_changes.sql</code> and <code>cu_log.sql</code>.

When I run the CheckUser special page, after filling in everything I get only a query error of type <code>[a4d205656bdaeb2ad048ee23] 2019-08-26 17:00:06: Errore irreversibile di tipo "Wikimedia\Rdbms\DBQueryError"</code>. However, it does not affect the CheckUserLog special page, which is displayed as expected.

My MediaWiki version is 1.33.0, with PHP 7.1.26 (cgi-fcgi), MySQL 5.6.33-log, ICU 50.1.2. Can somebody help?

Ciencia Al Poder (talkcontribs)
Il Gatto Obeso (talkcontribs)

Now the [fb42dddde2e2823b929178c4] /w/index.php?title=Speciale:CU Wikimedia\Rdbms\DBQueryError from line 1587 of /membri/kaymoskva/w/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? Query: SELECT cuc_ip,cuc_ip_hex,COUNT(*) AS count,MIN(cuc_timestamp) AS first,MAX(cuc_timestamp) AS last FROM `kwiki_cu_changes` FORCE INDEX (cuc_user_ip_time) WHERE cuc_user = '8' AND (1 = 1) GROUP BY cuc_ip,cuc_ip_hex ORDER BY last DESC LIMIT 5001 Function: SpecialCheckUser::doUserIPsDBRequest Error: 1176 Key 'cuc_user_ip_time' doesn't exist in table 'kwiki_cu_changes' (localhost) Backtrace:

  1. 0 /membri/kaymoskva/w/includes/libs/rdbms/database/Database.php(1556): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, integer, string, string)
  2. 1 /membri/kaymoskva/w/includes/libs/rdbms/database/Database.php(1274): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
  3. 2 /membri/kaymoskva/w/includes/libs/rdbms/database/Database.php(1784): Wikimedia\Rdbms\Database->query(string, string)
  4. 3 /membri/kaymoskva/w/extensions/CheckUser/includes/specials/SpecialCheckUser.php(529): Wikimedia\Rdbms\Database->select(string, array, array, string, array)
  5. 4 /membri/kaymoskva/w/extensions/CheckUser/includes/specials/SpecialCheckUser.php(497): SpecialCheckUser->doUserIPsDBRequest(integer, integer)
  6. 5 /membri/kaymoskva/w/extensions/CheckUser/includes/specials/SpecialCheckUser.php(105): SpecialCheckUser->doUserIPsRequest(string, integer)
  7. 6 /membri/kaymoskva/w/includes/specialpage/SpecialPage.php(569): SpecialCheckUser->execute(NULL)
  8. 7 /membri/kaymoskva/w/includes/specialpage/SpecialPageFactory.php(558): SpecialPage->run(NULL)
  9. 8 /membri/kaymoskva/w/includes/MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
  10. 9 /membri/kaymoskva/w/includes/MediaWiki.php(865): MediaWiki->performRequest()
  11. 10 /membri/kaymoskva/w/includes/MediaWiki.php(515): MediaWiki->main()
  12. 11 /membri/kaymoskva/w/index.php(42): MediaWiki->run()
  13. 12 {main}

What does the cuc_user_ip_time index mean?

Ciencia Al Poder (talkcontribs)

Did you run update.php after installing the extension? If not, please run it and try again.

Otherwise, there may be a bug on the extension that failed to run one of the scripts. Apparelty you'll need to run manually, replacing /*$wgDBprefix*/ with kwiki_

Reply to "Query error"
2600:8801:1F00:675:D96B:83A0:888B:12EE (talkcontribs)

I'm running MW 1.26.3 and PHP 7.0.32 and am trying to follow the instructions here. I have shell access and did the git clone command. After adding in the LocalSetting stuff I get error code 500. Doing php maintenance before was fine, but after adding it in I get this error:

  1. PHP Fatal error: Uncaught exception 'Exception' with message '/SNIP/extensions/CheckUser/extension.json: unsupported manifest_version: 2' in /SNIP/includes/registration/ExtensionRegistry.php:184

Asked in the IRC channel and they were saying the instructions are not correct and that install.php should not be used here for any version, then said it should be but that an older version of CheckUser needs to be obtained. They told me to run git checkout origin/REL1_26 but that did nothing.

Please fix the instructions for MW 1.26

星耀晨曦 (talkcontribs)

Please run git checkout REL1_26, it will checkout the code to version 1.26. By default, the cloned code is the latest code and is probably not compatible with your MW version. Note: Your MW version is very old and unsupported, I recommend you to upgrade to 1.31.

Reply to "Instructions are wrong"
Summary by 机智的小鱼君


机智的小鱼君 (talkcontribs)
[6e1c670f739f92204931b713] 2018-10-12 19:35:37: 类型“Wikimedia\Rdbms\DBQueryError”的致命错误

What is that mean , I feel very confused……

Ciencia Al Poder (talkcontribs)

See Manual:How to debug to enable the display of exception details and have a more meaningful error message. Maybe you forgot to run update.php after installing the extension?

机智的小鱼君 (talkcontribs)

THX,I forgot run update.php!

Does not log x-forwarded-for(xff) any more, why?

Summary by Deletedaccount4567435

x-forwarded-for(xff) only show if you choice "Get edits from IP".

Deletedaccount4567435 (talkcontribs)

Wiki is placed behind Cloudflare for Dos protection. I am very sure that I have set varnish/nginx correctly. I can see the x-forwarded-for value in debug log to be:

X-FORWARDED-FOR my-ip, cloudflare-ip,

However, checkuser page only show the cloudflare ip, without any xff logged.

I tried to modify the x-forwarded-for log to be my-ip, However, checkuser still show the cloudflare ip.

$wgUsePrivateIPs = true; and $wgSquidServersNoPurge added for sure.

How can I get the real IP? or at least enable the xff logged? (talkcontribs)

For some reasons all users (as it seems) are making all changes from the server IP, like in logs all users have the same adress, and thats actually my server IP address. Don't really understand, why.

/xff works fine, but still thats does not seems right

Ciencia Al Poder (talkcontribs)
Reply to "All the same IPs"

I can't install this extension...

Guycn2 (talkcontribs)

I've added the following code to the LocalSettings.php file:

wfLoadExtension( 'CheckUser' );

But yet, the checkuser extension is not being installed!

What can I do?

Clarkcj12 (talkcontribs)

If that does not try if you are running nginx I would recommend clearing your php-fpm. As well as sometimes it hasn't cleared the cache for it. (talkcontribs)

you need to run update.php to generate the sql tables

Reply to "I can't install this extension..."
Summary by 윈도우맨

I updated mediawiki. It solved

윈도우맨 (talkcontribs)

I installed CheckUser with

wfLoadExtension( 'CheckUser' );

and I tested checking user's IP. But then It says:

[e0eb3a86552656b533d4c0e5] /wiki/index.php/%ED%8A%B9%EC%88%98:%EC%82%AC%EC%9A%A9%EC%9E%90%EA%B2%80%EC%82%AC DBQueryError from line 1054 of /Volumes/WindowsMan/WebServer/Documents/wiki/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? 
Query: SELECT cuc_ip,cuc_ip_hex,COUNT(*) AS count,MIN(cuc_timestamp) AS first,MAX(cuc_timestamp) AS last FROM `cu_changes` FORCE INDEX (cuc_user_ip_time) WHERE cuc_user = '1' AND (1 = 1) GROUP BY cuc_ip,cuc_ip_hex ORDER BY last DESC LIMIT 5001 
Function: CheckUser::doUserIPsRequest
Error: 1146 Table 'thwiki.cu_changes' doesn't exist (localhost)

#0 /Volumes/WindowsMan/WebServer/Documents/wiki/includes/libs/rdbms/database/Database.php(912): Database->reportQueryError(string, integer, string, string, boolean)
#1 /Volumes/WindowsMan/WebServer/Documents/wiki/includes/libs/rdbms/database/Database.php(1254): Database->query(string, string)
#2 /Volumes/WindowsMan/WebServer/Documents/wiki/extensions/CheckUser/specials/SpecialCheckUser.php(492): Database->select(string, array, array, string, array)
#3 /Volumes/WindowsMan/WebServer/Documents/wiki/extensions/CheckUser/specials/SpecialCheckUser.php(79): CheckUser->doUserIPsRequest(string, string, integer)
#4 /Volumes/WindowsMan/WebServer/Documents/wiki/includes/specialpage/SpecialPage.php(522): CheckUser->execute(NULL)
#5 /Volumes/WindowsMan/WebServer/Documents/wiki/includes/specialpage/SpecialPageFactory.php(577): SpecialPage->run(NULL)
#6 /Volumes/WindowsMan/WebServer/Documents/wiki/includes/MediaWiki.php(283): SpecialPageFactory::executePath(Title, RequestContext)
#7 /Volumes/WindowsMan/WebServer/Documents/wiki/includes/MediaWiki.php(851): MediaWiki->performRequest()
#8 /Volumes/WindowsMan/WebServer/Documents/wiki/includes/MediaWiki.php(512): MediaWiki->main()
#9 /Volumes/WindowsMan/WebServer/Documents/wiki/index.php(43): MediaWiki->run()
#10 {main}

What could I do?

Wargo (talkcontribs)
윈도우맨 (talkcontribs)

Thank you. It works!!

Cats legs (talkcontribs)

Are there plans to implement a global CheckUser feature? I've seen previous discussion of the topic, but it's now 4 years old and there's been no progress. The value of a global CheckUser feature is immense, both for non-WMF sites and the WMF itself.

Often abuse isn't limited to a single site, especially if it's part of a larger farm or WMF project. Being able to see all accounts using a specific IP across all projects should help in mitigating abuse on the smaller projects where it would otherwise go unnoticed. Spammers using bots and other automated can hit several projects at once, and it would be difficult to detect the spam on smaller projects without many active users.

The more subtler spammers are difficult to catch too - those who insert external links to their own websites on multiple projects. While individually it may not be obvious, taken across all WMF projects it can be more easily spotted and removed.

Reply to "Global CheckUser"

I fonud error with mw 1.28.0

Summary by Ciencia Al Poder
Tunglinwu (talkcontribs)

This extension will let RecentChanges can't record.

Papamanman2 (talkcontribs)

Same problem had occured in my instance.

When uninstalled CheckUser Extension, Recent Changes records.

Albert Ke (talkcontribs)

Had the same problem, RecentChanges won't record anymore when this the CheckUser extension is loaded in LocalSettings.php for MW 1.28.0. To get it working I did the following:

  1. instead of using MW auto download I actually went to the repository and cloned the right 1.28.0 version;
  2. ran in MW/maintenance the php ./update.php command before adding the CheckUser line to my LocalSettings.php;
  3. included the extension in LocalSettings.php and ran MW/maintenance update.php again;
  4. in the Extension/CheckUseer folder did composer install;
  5. in CheckUser/maintenance did: php ./populateCheckUserTable.php.

RecentChanges does afterwards record the edits so maybe not all above actions are needed but somehow got it to work. Hope that helps other people,

--Albert Ke (talk) 03:04, 12 January 2017 (UTC)

Reply to "I fonud error with mw 1.28.0"