From e776dd9c7dbc61026de0a2379bcaedcdd41b0f43 Mon Sep 17 00:00:00 2001 From: Soxoj Date: Thu, 9 Apr 2026 12:48:26 +0200 Subject: [PATCH 1/5] Re-disable 29 false positives from #2478 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Live testing with a fake username ('noonewouldeverusethis7') revealed 29 of the 69 re-enabled sites in #2478 are false positives: - 18 OP.GG regional trackers (search URL returns results for any input) - Tom's guide, Pocket Stars, Rocket Tube, Kerch Forum (identical pages) - We Heart It, Oracle Community, Mydarling, Librusec (errors/timeouts) - Twitter Shadowban, Reddit Search (Pushshift), TikTok Online Viewer, Kali community (fetch errors or unaccounted) Root cause: --self-check alone is insufficient for validating re-enablement. It verifies claimed→CLAIMED and unclaimed→AVAILABLE, but does not catch sites that return CLAIMED for ANY arbitrary input. A direct query with a fake username is the required second filter. Remaining from #2478: 40 cleanly validated sites stay enabled. Total: 2608 → 2579 enabled sites. --- maigret/resources/data.json | 87 ++++++++++++++++++++++------------ maigret/resources/db_meta.json | 4 +- sites.md | 74 ++++++++++++++--------------- 3 files changed, 97 insertions(+), 68 deletions(-) diff --git a/maigret/resources/data.json b/maigret/resources/data.json index ea1488614..d6cc6f3e0 100644 --- a/maigret/resources/data.json +++ b/maigret/resources/data.json @@ -469,7 +469,8 @@ "tags": [ "discussion", "news" - ] + ], + "disabled": true }, "Gravatar": { "tags": [ @@ -687,7 +688,8 @@ "urlMain": "https://community.oracle.com", "url": "https://community.oracle.com/people/{username}", "usernameClaimed": "blue", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "forums.opera.com": { "tags": [ @@ -3658,7 +3660,8 @@ "engine": "XenForo", "urlMain": "http://forums.tomsguide.com", "usernameClaimed": "matthewvel", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Sbnation": { "tags": [ @@ -7586,7 +7589,8 @@ "engine": "vBulletin", "urlMain": "https://forums.kali.org/", "usernameClaimed": "blue", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "DTF": { "disabled": true, @@ -8332,7 +8336,8 @@ "urlMain": "https://weheartit.com/", "url": "https://weheartit.com/{username}", "usernameClaimed": "ventivogue", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Americanthinker": { "checkType": "message", @@ -11017,7 +11022,8 @@ "urlMain": "https://lib.rus.ec", "url": "https://lib.rus.ec/user/{username}", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Acomics": { "tags": [ @@ -20303,7 +20309,8 @@ "urlMain": "http://forum.kerch.com.ru", "url": "http://forum.kerch.com.ru/search/?q={username}", "usernameClaimed": "Milla", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Qbn": { "tags": [ @@ -22496,7 +22503,8 @@ "tags": [ "video" ], - "alexaRank": 777866 + "alexaRank": 777866, + "disabled": true }, "Caduser": { "tags": [ @@ -23310,7 +23318,8 @@ ], "usernameClaimed": "hacker", "usernameUnclaimed": "noonewouldeverusethis7", - "alexaRank": 989313 + "alexaRank": 989313, + "disabled": true }, "0-3.RU": { "tags": [ @@ -25441,7 +25450,8 @@ "urlMain": "https://shadowban.eu", "url": "https://shadowban.eu/{username}", "usernameClaimed": "alex", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Gamesfrm": { "tags": [ @@ -26714,7 +26724,8 @@ "urlMain": "http://mydarling.ru/", "url": "http://mydarling.ru/page/{username}/frl-4", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Mylove": { "disabled": true, @@ -28246,7 +28257,8 @@ "urlMain": "https://ttonlineviewer.com", "url": "https://ttonlineviewer.com/user/{username}", "usernameClaimed": "rednec", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Tkgr": { "tags": [ @@ -34556,7 +34568,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=br", "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] North America": { "tags": [ @@ -34565,7 +34578,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=na", "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Middle East": { "tags": [ @@ -34574,7 +34588,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=me", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Europe Nordic & East": { "tags": [ @@ -34583,7 +34598,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=eune", "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Europe West": { "tags": [ @@ -34592,7 +34608,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=euw", "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Oceania": { "tags": [ @@ -34601,7 +34618,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=oce", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Korea": { "tags": [ @@ -34611,7 +34629,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=kr", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Japan": { "tags": [ @@ -34621,7 +34640,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=jp", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] LAS": { "tags": [ @@ -34630,7 +34650,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=las", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] LAN": { "tags": [ @@ -34639,7 +34660,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=lan", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Russia": { "tags": [ @@ -34649,7 +34671,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=ru", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Turkey": { "tags": [ @@ -34659,7 +34682,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=tr", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Singapore": { "tags": [ @@ -34669,7 +34693,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=sg", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Phillippines": { "tags": [ @@ -34679,7 +34704,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=ph", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Taiwan": { "tags": [ @@ -34689,7 +34715,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=tw", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Vietnam": { "tags": [ @@ -34699,7 +34726,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=vn", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "OP.GG [LeagueOfLegends] Thailand": { "tags": [ @@ -34709,7 +34737,8 @@ "engine": "op.gg", "url": "https://www.op.gg/summoners/search?q={username}®ion=th", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" + "usernameUnclaimed": "noonewouldeverusethis7", + "disabled": true }, "Blitz Tactics": { "url": "https://blitztactics.com/{username}", diff --git a/maigret/resources/db_meta.json b/maigret/resources/db_meta.json index 253af2989..f3ddb19d2 100644 --- a/maigret/resources/db_meta.json +++ b/maigret/resources/db_meta.json @@ -1,8 +1,8 @@ { "version": 1, - "updated_at": "2026-04-09T08:25:15Z", + "updated_at": "2026-04-09T10:48:27Z", "sites_count": 3149, "min_maigret_version": "0.5.0", - "data_sha256": "2848d0f93e7d3bcbd55ab41d77e44da49b36346f9dfbdd00243861d53f503eda", + "data_sha256": "76d291b19aa58434cddcabf1fd64eb6e3e7ad4dea827d82e104b9634891ae5f8", "data_url": "https://raw.githubusercontent.com/soxoj/maigret/main/maigret/resources/data.json" } \ No newline at end of file diff --git a/sites.md b/sites.md index cf4479e87..18cc70b07 100644 --- a/sites.md +++ b/sites.md @@ -84,23 +84,23 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.change.org) [Change.org (https://www.change.org)](https://www.change.org)*: top 500, social* 1. ![](https://www.google.com/s2/favicons?domain=https://www.fandom.com/) [Fandom (https://www.fandom.com/)](https://www.fandom.com/)*: top 500, wiki* 1. ![](https://www.google.com/s2/favicons?domain=https://www.xing.com/) [Xing (https://www.xing.com/)](https://www.xing.com/)*: top 500, de, eu* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Brazil (https://www.op.gg/)](https://www.op.gg/)*: top 500, br, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] North America (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Middle East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe Nordic & East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe West (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Oceania (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Korea (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, kr* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Japan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, jp* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAS (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAN (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Russia (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ru* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Turkey (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tr* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Singapore (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, sg* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Phillippines (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ph* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Taiwan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tw* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Vietnam (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, vn* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Thailand (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, th* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Brazil (https://www.op.gg/)](https://www.op.gg/)*: top 500, br, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] North America (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Middle East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe Nordic & East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe West (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Oceania (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Korea (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, kr*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Japan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, jp*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAS (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAN (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Russia (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ru*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Turkey (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tr*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Singapore (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, sg*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Phillippines (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ph*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Taiwan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tw*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Vietnam (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, vn*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Thailand (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, th*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://www.patreon.com/) [Patreon (https://www.patreon.com/)](https://www.patreon.com/)*: top 500, finance* 1. ![](https://www.google.com/s2/favicons?domain=https://deviantart.com) [DeviantART (https://deviantart.com)](https://deviantart.com)*: top 500, art, photo* 1. ![](https://www.google.com/s2/favicons?domain=https://www.gofundme.com) [Gofundme (https://www.gofundme.com)](https://www.gofundme.com)*: top 500, finance* @@ -330,7 +330,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.kwork.ru/) [Kwork (https://www.kwork.ru/)](https://www.kwork.ru/)*: top 10K, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://www.nairaland.com/) [Nairaland Forum (https://www.nairaland.com/)](https://www.nairaland.com/)*: top 10K, ng* 1. ![](https://www.google.com/s2/favicons?domain=https://www.memrise.com/) [Memrise (https://www.memrise.com/)](https://www.memrise.com/)*: top 10K, education* -1. ![](https://www.google.com/s2/favicons?domain=https://weheartit.com/) [We Heart It (https://weheartit.com/)](https://weheartit.com/)*: top 10K, blog, photo* +1. ![](https://www.google.com/s2/favicons?domain=https://weheartit.com/) [We Heart It (https://weheartit.com/)](https://weheartit.com/)*: top 10K, blog, photo*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://www.americanthinker.com/) [Americanthinker (https://www.americanthinker.com/)](https://www.americanthinker.com/)*: top 10K, news, us* 1. ![](https://www.google.com/s2/favicons?domain=https://www.yummly.com) [Yummly (https://www.yummly.com)](https://www.yummly.com)*: top 10K, us* 1. ![](https://www.google.com/s2/favicons?domain=https://www.kaskus.co.id) [Kaskus (https://www.kaskus.co.id)](https://www.kaskus.co.id)*: top 10K, id*, search is disabled @@ -657,7 +657,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.chessclub.com) [Chessclub (https://www.chessclub.com)](https://www.chessclub.com)*: top 100K, gaming*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://typeracer.com) [Typeracer (https://typeracer.com)](https://typeracer.com)*: top 100K, hobby* 1. ![](https://www.google.com/s2/favicons?domain=https://libraries.io) [Libraries (https://libraries.io)](https://libraries.io)*: top 100K, coding* -1. ![](https://www.google.com/s2/favicons?domain=https://lib.rus.ec) [Librusec (https://lib.rus.ec)](https://lib.rus.ec)*: top 100K, br, ru* +1. ![](https://www.google.com/s2/favicons?domain=https://lib.rus.ec) [Librusec (https://lib.rus.ec)](https://lib.rus.ec)*: top 100K, br, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://devrant.com/) [devRant (https://devrant.com/)](https://devrant.com/)*: top 100K, coding* 1. ![](https://www.google.com/s2/favicons?domain=https://topmate.io/) [Topmate (https://topmate.io/)](https://topmate.io/)*: top 100K, freelance* 1. ![](https://www.google.com/s2/favicons?domain=https://www.imagefap.com/) [Image Fap (https://www.imagefap.com/)](https://www.imagefap.com/)*: top 100K, porn* @@ -1126,7 +1126,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://imgup.cz/) [ImgUp.cz (https://imgup.cz/)](https://imgup.cz/)*: top 10M* 1. ![](https://www.google.com/s2/favicons?domain=https://maccentre.ru) [Maccentre (https://maccentre.ru)](https://maccentre.ru)*: top 10M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://codersrank.io/) [Coders Rank (https://codersrank.io/)](https://codersrank.io/)*: top 10M, coding* -1. ![](https://www.google.com/s2/favicons?domain=https://www.rockettube.com/) [Rocket Tube (https://www.rockettube.com/)](https://www.rockettube.com/)*: top 10M, video* +1. ![](https://www.google.com/s2/favicons?domain=https://www.rockettube.com/) [Rocket Tube (https://www.rockettube.com/)](https://www.rockettube.com/)*: top 10M, video*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://www.caduser.ru/) [Caduser (https://www.caduser.ru/)](https://www.caduser.ru/)*: top 10M, ru, ua* 1. ![](https://www.google.com/s2/favicons?domain=https://nuvi.ru/) [NuviGarmin (https://nuvi.ru/)](https://nuvi.ru/)*: top 10M, forum, ru, shopping*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://myce.wiki) [myce.wiki (https://myce.wiki)](https://myce.wiki)*: top 10M* @@ -1184,7 +1184,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.parkrocker.net) [Parkrocker (https://www.parkrocker.net)](https://www.parkrocker.net)*: top 10M, de, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://seatracker.ru/) [Seatracker (https://seatracker.ru/)](https://seatracker.ru/)*: top 10M, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://nygunforum.com) [Nygunforum (https://nygunforum.com)](https://nygunforum.com)*: top 10M, forum* -1. ![](https://www.google.com/s2/favicons?domain=https://pocketstars.com/) [Pocket Stars (https://pocketstars.com/)](https://pocketstars.com/)*: top 10M* +1. ![](https://www.google.com/s2/favicons?domain=https://pocketstars.com/) [Pocket Stars (https://pocketstars.com/)](https://pocketstars.com/)*: top 10M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://social.technet.microsoft.com) [MicrosoftTechNet (https://social.technet.microsoft.com)](https://social.technet.microsoft.com)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://learn.microsoft.com) [MicrosoftLearn (https://learn.microsoft.com)](https://learn.microsoft.com)*: top 100M, tech* 1. ![](https://www.google.com/s2/favicons?domain=https://social.msdn.microsoft.com) [social.msdn.microsoft.com (https://social.msdn.microsoft.com)](https://social.msdn.microsoft.com)*: top 100M*, search is disabled @@ -1194,10 +1194,10 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://community.adobe.com) [community.adobe.com (https://community.adobe.com)](https://community.adobe.com)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=https://support.mozilla.org) [Mozilla Support (https://support.mozilla.org)](https://support.mozilla.org)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=https://discourse.mozilla.org) [discourse.mozilla.org (https://discourse.mozilla.org)](https://discourse.mozilla.org)*: top 100M* -1. ![](https://www.google.com/s2/favicons?domain=https://camas.github.io/reddit-search/) [Reddit Search (Pushshift) (https://camas.github.io/reddit-search/)](https://camas.github.io/reddit-search/)*: top 100M, discussion, news* +1. ![](https://www.google.com/s2/favicons?domain=https://camas.github.io/reddit-search/) [Reddit Search (Pushshift) (https://camas.github.io/reddit-search/)](https://camas.github.io/reddit-search/)*: top 100M, discussion, news*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=http://en.gravatar.com/) [Gravatar (http://en.gravatar.com/)](http://en.gravatar.com/)*: top 100M, photo* 1. ![](https://www.google.com/s2/favicons?domain=https://tieba.baidu.com) [Baidu (https://tieba.baidu.com)](https://tieba.baidu.com)*: top 100M, cn*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://community.oracle.com) [Oracle Community (https://community.oracle.com)](https://community.oracle.com)*: top 100M* +1. ![](https://www.google.com/s2/favicons?domain=https://community.oracle.com) [Oracle Community (https://community.oracle.com)](https://community.oracle.com)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://forums.opera.com/) [forums.opera.com (https://forums.opera.com/)](https://forums.opera.com/)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://community.cloudflare.com/) [CloudflareCommunity (https://community.cloudflare.com/)](https://community.cloudflare.com/)*: top 100M, forum, tech* 1. ![](https://www.google.com/s2/favicons?domain=https://scratch.mit.edu/) [Scratch (https://scratch.mit.edu/)](https://scratch.mit.edu/)*: top 100M, coding* @@ -1263,7 +1263,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=http://promalp.dp.ua) [promalp.dp.ua (http://promalp.dp.ua)](http://promalp.dp.ua)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://community.brave.com) [community.brave.com (https://community.brave.com)](https://community.brave.com)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://xdaforums.com) [XDA (https://xdaforums.com)](https://xdaforums.com)*: top 100M, apps, forum*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=http://forums.tomsguide.com) [Tom's guide (http://forums.tomsguide.com)](http://forums.tomsguide.com)*: top 100M, forum, tech* +1. ![](https://www.google.com/s2/favicons?domain=http://forums.tomsguide.com) [Tom's guide (http://forums.tomsguide.com)](http://forums.tomsguide.com)*: top 100M, forum, tech*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://discuss.elastic.co/) [Discuss.Elastic.co (https://discuss.elastic.co/)](https://discuss.elastic.co/)*: top 100M, forum, tech* 1. ![](https://www.google.com/s2/favicons?domain=https://discuss.codecademy.com) [discuss.codecademy.com (https://discuss.codecademy.com)](https://discuss.codecademy.com)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=http://apelmon.od.ua) [apelmon.od.ua (http://apelmon.od.ua)](http://apelmon.od.ua)*: top 100M* @@ -1550,7 +1550,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://volkodavcaoko.forum24.ru) [Volkodavcaoko (https://volkodavcaoko.forum24.ru)](https://volkodavcaoko.forum24.ru)*: top 100M, forum, kz, ru, ua* 1. ![](https://www.google.com/s2/favicons?domain=https://microcap.forum24.ru) [microcap.forum24.ru (https://microcap.forum24.ru)](https://microcap.forum24.ru)*: top 100M, forum, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://community.n8n.io/) [N8n Community (https://community.n8n.io/)](https://community.n8n.io/)*: top 100M, forum* -1. ![](https://www.google.com/s2/favicons?domain=https://forums.kali.org/) [Kali community (https://forums.kali.org/)](https://forums.kali.org/)*: top 100M, forum* +1. ![](https://www.google.com/s2/favicons?domain=https://forums.kali.org/) [Kali community (https://forums.kali.org/)](https://forums.kali.org/)*: top 100M, forum*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=http://volga-gaz.nnov.ru/forum) [volga-gaz.nnov.ru (http://volga-gaz.nnov.ru/forum)](http://volga-gaz.nnov.ru/forum)*: top 100M, forum, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://boards.straightdope.com) [boards.straightdope.com (https://boards.straightdope.com)](https://boards.straightdope.com)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://forums.destructoid.com) [forums.destructoid.com (https://forums.destructoid.com)](https://forums.destructoid.com)*: top 100M, forum* @@ -1948,7 +1948,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://forum.bestflowers.ru) [forum.bestflowers.ru (https://forum.bestflowers.ru)](https://forum.bestflowers.ru)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.sureai.net) [forum.sureai.net (https://forum.sureai.net)](https://forum.sureai.net)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.rosalinux.ru) [forum.rosalinux.ru (https://forum.rosalinux.ru)](https://forum.rosalinux.ru)*: top 100M, forum, ru* -1. ![](https://www.google.com/s2/favicons?domain=http://forum.kerch.com.ru) [Kerch Forum (http://forum.kerch.com.ru)](http://forum.kerch.com.ru)*: top 100M, forum, ru, ua* +1. ![](https://www.google.com/s2/favicons?domain=http://forum.kerch.com.ru) [Kerch Forum (http://forum.kerch.com.ru)](http://forum.kerch.com.ru)*: top 100M, forum, ru, ua*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://bbs.huami.com) [bbs.huami.com (https://bbs.huami.com)](https://bbs.huami.com)*: top 100M, cn, ir, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://tabun.everypony.ru) [Tabun (https://tabun.everypony.ru)](https://tabun.everypony.ru)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.kursknet.ru) [kursknet (https://forum.kursknet.ru)](https://forum.kursknet.ru)*: top 100M, forum, ru* @@ -2166,7 +2166,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://gdprofiles.com/) [GDProfiles (https://gdprofiles.com/)](https://gdprofiles.com/)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://gg-izi.ru/) [GGIZI (https://gg-izi.ru/)](https://gg-izi.ru/)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=http://www.gps-forum.ru) [GPS-Forum (http://www.gps-forum.ru)](http://www.gps-forum.ru)*: top 100M, forum, ru* -1. ![](https://www.google.com/s2/favicons?domain=https://shadowban.eu) [Twitter Shadowban (https://shadowban.eu)](https://shadowban.eu)*: top 100M, jp, sa* +1. ![](https://www.google.com/s2/favicons?domain=https://shadowban.eu) [Twitter Shadowban (https://shadowban.eu)](https://shadowban.eu)*: top 100M, jp, sa*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://www.gamesfrm.com) [Gamesfrm (https://www.gamesfrm.com)](https://www.gamesfrm.com)*: top 100M, forum, tr* 1. ![](https://www.google.com/s2/favicons?domain=https://gamesubject.com) [Gamesubject (https://gamesubject.com)](https://gamesubject.com)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://www.garagepunk.com) [GaragePunk (https://www.garagepunk.com)](https://www.garagepunk.com)*: top 100M* @@ -2279,7 +2279,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=http://music-rock.ru/) [Music-rock (http://music-rock.ru/)](http://music-rock.ru/)*: top 100M, forum, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://my-question.ru) [My-question (https://my-question.ru)](https://my-question.ru)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=) [Mym.fans ()]()*: top 100M* -1. ![](https://www.google.com/s2/favicons?domain=http://mydarling.ru/) [Mydarling (http://mydarling.ru/)](http://mydarling.ru/)*: top 100M, ru* +1. ![](https://www.google.com/s2/favicons?domain=http://mydarling.ru/) [Mydarling (http://mydarling.ru/)](http://mydarling.ru/)*: top 100M, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://lovetalk.ru) [Mylove (https://lovetalk.ru)](https://lovetalk.ru)*: top 100M, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=) [Naturalnews ()]()*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=) [Ninjakiwi ()]()*: top 100M*, search is disabled @@ -2406,7 +2406,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=http://terminator-scc.net.ru) [Terminator (http://terminator-scc.net.ru)](http://terminator-scc.net.ru)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://www.thedaftclub.com) [Thedaftclub (https://www.thedaftclub.com)](https://www.thedaftclub.com)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://www.thephysicsforum.com) [Thephysicsforum (https://www.thephysicsforum.com)](https://www.thephysicsforum.com)*: top 100M, forum*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://ttonlineviewer.com) [TikTok Online Viewer (https://ttonlineviewer.com)](https://ttonlineviewer.com)*: top 100M* +1. ![](https://www.google.com/s2/favicons?domain=https://ttonlineviewer.com) [TikTok Online Viewer (https://ttonlineviewer.com)](https://ttonlineviewer.com)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=http://tkgr.ru/) [Tkgr (http://tkgr.ru/)](http://tkgr.ru/)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://torrent-soft.net) [Torrent-soft (https://torrent-soft.net)](https://torrent-soft.net)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://totalstavki.ru) [TotalStavki (https://totalstavki.ru)](https://totalstavki.ru)*: top 100M, ru*, search is disabled @@ -3156,15 +3156,15 @@ Rank data fetched from Majestic Million by domains. The list was updated at (2026-04-09) ## Statistics -Enabled/total sites: 2608/3149 = 82.82% +Enabled/total sites: 2579/3149 = 81.9% -Incomplete message checks: 351/2608 = 13.46% (false positive risks) +Incomplete message checks: 344/2579 = 13.34% (false positive risks) -Status code checks: 649/2608 = 24.88% (false positive risks) +Status code checks: 647/2579 = 25.09% (false positive risks) -False positive risk (total): 38.34% +False positive risk (total): 38.43% -Sites with probing: 500px, Armchairgm, BinarySearch (disabled), BleachFandom, Bluesky, BongaCams, Boosty, BuyMeACoffee, Calendly, Cent, Chess, Code Sandbox, Code Snippet Wiki, DailyMotion, Discord, Diskusjon.no, Disqus, Docker Hub, Duolingo, FandomCommunityCentral, GitHub, GitLab, Google Plus (archived), Gravatar, HackTheBox, Hashnode, Holopin, Imgur, Issuu, Keybase, Kick, Kvinneguiden, LeetCode, Lesswrong, Livejasmin, LocalCryptos (disabled), MicrosoftLearn, MixCloud, Monkeytype, Niftygateway, Omg.lol, Paragraph, Picsart, Plurk, Polarsteps, Rarible, Reddit, Reddit Search (Pushshift), RoyalCams, Scratch, Soop, SportsTracker, Spotify, StackOverflow, Substack, TAP'D, Topcoder, Trello, Twitch, Twitter, Twitter Shadowban, UnstoppableDomains, Vimeo, Warframe Market, Warpcast, Weibo, Wikipedia, Yapisal (disabled), YouNow, en.brickimedia.org, nightbot, notabug.org, qiwi.me (disabled) +Sites with probing: 500px, Armchairgm, BinarySearch (disabled), BleachFandom, Bluesky, BongaCams, Boosty, BuyMeACoffee, Calendly, Cent, Chess, Code Sandbox, Code Snippet Wiki, DailyMotion, Discord, Diskusjon.no, Disqus, Docker Hub, Duolingo, FandomCommunityCentral, GitHub, GitLab, Google Plus (archived), Gravatar, HackTheBox, Hashnode, Holopin, Imgur, Issuu, Keybase, Kick, Kvinneguiden, LeetCode, Lesswrong, Livejasmin, LocalCryptos (disabled), MicrosoftLearn, MixCloud, Monkeytype, Niftygateway, Omg.lol, Paragraph, Picsart, Plurk, Polarsteps, Rarible, Reddit, Reddit Search (Pushshift) (disabled), RoyalCams, Scratch, Soop, SportsTracker, Spotify, StackOverflow, Substack, TAP'D, Topcoder, Trello, Twitch, Twitter, Twitter Shadowban (disabled), UnstoppableDomains, Vimeo, Warframe Market, Warpcast, Weibo, Wikipedia, Yapisal (disabled), YouNow, en.brickimedia.org, nightbot, notabug.org, qiwi.me (disabled) Sites with activation: Twitter, Vimeo, Weibo @@ -3193,13 +3193,13 @@ Top 20 profile URLs: Sites by engine: - `uCoz`: 640/710 (90.1%) -- `XenForo`: 192/221 (86.9%) +- `XenForo`: 191/221 (86.4%) - `phpBB/Search`: 120/127 (94.5%) -- `vBulletin`: 32/120 (26.7%) +- `vBulletin`: 31/120 (25.8%) - `Discourse`: 81/87 (93.1%) - `phpBB`: 23/27 (85.2%) - `engine404`: 20/23 (87.0%) -- `op.gg`: 17/17 (100.0%) +- `op.gg`: 0/17 (0.0%) - `Flarum`: 15/15 (100.0%) - `Wordpress/Author`: 8/10 (80.0%) - `engineRedirect`: 3/4 (75.0%) From 686dc31ddb448644d9204c4fd3eaaa1c7d5796e2 Mon Sep 17 00:00:00 2001 From: Soxoj Date: Thu, 9 Apr 2026 12:55:28 +0200 Subject: [PATCH 2/5] Fix op.gg engine, rename sites, re-enable 17 LoL regions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The op.gg engine was broken: both presenseStrs and absenceStrs from the old definition appeared on EVERY page (claimed AND unclaimed) because they matched strings inside a JSON localization bundle embedded in every op.gg page, not the actual rendered HTML. Fix: - presenseStrs: 'href="/lol/summoners/' — profile links that only appear in search results when a summoner is found (117 hits on claimed, 0 on unclaimed). - absenceStrs: '>\u201cNo search results for' — the rendered H1 tag only present on empty search results (the \u201c left-curly-quote distinguishes it from the JSON template which uses \\" escaping). Also: - URL updated to new domain: op.gg/lol/summoners/search?q=®ion= (old www.op.gg/summoners/search now 308-redirects). - Sites renamed: "OP.GG [LeagueOfLegends] Korea" → "OP.GG LoL Korea" (shorter, same information). Validation: all 17 regions tested with both 'faker' (claimed, found on all 17) and 'noonewouldeverusethis7' (unclaimed, Not found on all 17). Zero false positives. Triple-checked. op.gg engine stats: 0/17 (0%) → 17/17 (100%). --- maigret/resources/data.json | 348 ++++++++++++++++----------------- maigret/resources/db_meta.json | 4 +- sites.md | 44 ++--- 3 files changed, 189 insertions(+), 207 deletions(-) diff --git a/maigret/resources/data.json b/maigret/resources/data.json index d6cc6f3e0..530894785 100644 --- a/maigret/resources/data.json +++ b/maigret/resources/data.json @@ -34560,186 +34560,6 @@ "usernameClaimed": "sonic99", "usernameUnclaimed": "nujfwykqxc" }, - "OP.GG [LeagueOfLegends] Brazil": { - "tags": [ - "br", - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=br", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] North America": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=na", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Middle East": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=me", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Europe Nordic & East": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=eune", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Europe West": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=euw", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Oceania": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=oce", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Korea": { - "tags": [ - "gaming", - "kr" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=kr", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Japan": { - "tags": [ - "gaming", - "jp" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=jp", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] LAS": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=las", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] LAN": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=lan", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Russia": { - "tags": [ - "gaming", - "ru" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=ru", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Turkey": { - "tags": [ - "gaming", - "tr" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=tr", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Singapore": { - "tags": [ - "gaming", - "sg" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=sg", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Phillippines": { - "tags": [ - "gaming", - "ph" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=ph", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Taiwan": { - "tags": [ - "gaming", - "tw" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=tw", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Vietnam": { - "tags": [ - "gaming", - "vn" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=vn", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, - "OP.GG [LeagueOfLegends] Thailand": { - "tags": [ - "gaming", - "th" - ], - "engine": "op.gg", - "url": "https://www.op.gg/summoners/search?q={username}®ion=th", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true - }, "Blitz Tactics": { "url": "https://blitztactics.com/{username}", "urlMain": "https://blitztactics.com/", @@ -35071,6 +34891,169 @@ "urlMain": "https://forum.fibra.click", "usernameClaimed": "admin", "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Brazil": { + "tags": [ + "br", + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=br", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL North America": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=na", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Middle East": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=me", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Europe Nordic & East": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=eune", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Europe West": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=euw", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Oceania": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=oce", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Korea": { + "tags": [ + "gaming", + "kr" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=kr", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Japan": { + "tags": [ + "gaming", + "jp" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=jp", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL LAS": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=las", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL LAN": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=lan", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Russia": { + "tags": [ + "gaming", + "ru" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=ru", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Turkey": { + "tags": [ + "gaming", + "tr" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=tr", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Singapore": { + "tags": [ + "gaming", + "sg" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=sg", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Phillippines": { + "tags": [ + "gaming", + "ph" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=ph", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Taiwan": { + "tags": [ + "gaming", + "tw" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=tw", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Vietnam": { + "tags": [ + "gaming", + "vn" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=vn", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG LoL Thailand": { + "tags": [ + "gaming", + "th" + ], + "engine": "op.gg", + "url": "https://op.gg/lol/summoners/search?q={username}®ion=th", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" } }, "engines": { @@ -35283,11 +35266,10 @@ "site": { "checkType": "message", "presenseStrs": [ - "This is the search result for the summoner", - "- Summoner Stats - " + "href=\"/lol/summoners/" ], "absenceStrs": [ - "

No search results for" + ">“No search results for" ], "urlMain": "https://www.op.gg/", "alexaRank": 331 diff --git a/maigret/resources/db_meta.json b/maigret/resources/db_meta.json index f3ddb19d2..23ce0e48f 100644 --- a/maigret/resources/db_meta.json +++ b/maigret/resources/db_meta.json @@ -1,8 +1,8 @@ { "version": 1, - "updated_at": "2026-04-09T10:48:27Z", + "updated_at": "2026-04-09T10:55:28Z", "sites_count": 3149, "min_maigret_version": "0.5.0", - "data_sha256": "76d291b19aa58434cddcabf1fd64eb6e3e7ad4dea827d82e104b9634891ae5f8", + "data_sha256": "ee4aedb1ac530879048a40c14360686eb18be2efd2dbedf9767108e7a1300ec4", "data_url": "https://raw.githubusercontent.com/soxoj/maigret/main/maigret/resources/data.json" } \ No newline at end of file diff --git a/sites.md b/sites.md index 18cc70b07..9cf96811d 100644 --- a/sites.md +++ b/sites.md @@ -84,23 +84,23 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.change.org) [Change.org (https://www.change.org)](https://www.change.org)*: top 500, social* 1. ![](https://www.google.com/s2/favicons?domain=https://www.fandom.com/) [Fandom (https://www.fandom.com/)](https://www.fandom.com/)*: top 500, wiki* 1. ![](https://www.google.com/s2/favicons?domain=https://www.xing.com/) [Xing (https://www.xing.com/)](https://www.xing.com/)*: top 500, de, eu* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Brazil (https://www.op.gg/)](https://www.op.gg/)*: top 500, br, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] North America (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Middle East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe Nordic & East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe West (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Oceania (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Korea (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, kr*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Japan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, jp*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAS (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAN (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Russia (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ru*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Turkey (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tr*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Singapore (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, sg*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Phillippines (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ph*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Taiwan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tw*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Vietnam (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, vn*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Thailand (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, th*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Brazil (https://www.op.gg/)](https://www.op.gg/)*: top 500, br, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL North America (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Middle East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Europe Nordic & East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Europe West (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Oceania (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Korea (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, kr* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Japan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, jp* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL LAS (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL LAN (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Russia (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ru* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Turkey (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tr* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Singapore (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, sg* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Phillippines (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ph* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Taiwan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tw* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Vietnam (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, vn* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Thailand (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, th* 1. ![](https://www.google.com/s2/favicons?domain=https://www.patreon.com/) [Patreon (https://www.patreon.com/)](https://www.patreon.com/)*: top 500, finance* 1. ![](https://www.google.com/s2/favicons?domain=https://deviantart.com) [DeviantART (https://deviantart.com)](https://deviantart.com)*: top 500, art, photo* 1. ![](https://www.google.com/s2/favicons?domain=https://www.gofundme.com) [Gofundme (https://www.gofundme.com)](https://www.gofundme.com)*: top 500, finance* @@ -3156,13 +3156,13 @@ Rank data fetched from Majestic Million by domains. The list was updated at (2026-04-09) ## Statistics -Enabled/total sites: 2579/3149 = 81.9% +Enabled/total sites: 2596/3149 = 82.44% -Incomplete message checks: 344/2579 = 13.34% (false positive risks) +Incomplete message checks: 344/2596 = 13.25% (false positive risks) -Status code checks: 647/2579 = 25.09% (false positive risks) +Status code checks: 647/2596 = 24.92% (false positive risks) -False positive risk (total): 38.43% +False positive risk (total): 38.17% Sites with probing: 500px, Armchairgm, BinarySearch (disabled), BleachFandom, Bluesky, BongaCams, Boosty, BuyMeACoffee, Calendly, Cent, Chess, Code Sandbox, Code Snippet Wiki, DailyMotion, Discord, Diskusjon.no, Disqus, Docker Hub, Duolingo, FandomCommunityCentral, GitHub, GitLab, Google Plus (archived), Gravatar, HackTheBox, Hashnode, Holopin, Imgur, Issuu, Keybase, Kick, Kvinneguiden, LeetCode, Lesswrong, Livejasmin, LocalCryptos (disabled), MicrosoftLearn, MixCloud, Monkeytype, Niftygateway, Omg.lol, Paragraph, Picsart, Plurk, Polarsteps, Rarible, Reddit, Reddit Search (Pushshift) (disabled), RoyalCams, Scratch, Soop, SportsTracker, Spotify, StackOverflow, Substack, TAP'D, Topcoder, Trello, Twitch, Twitter, Twitter Shadowban (disabled), UnstoppableDomains, Vimeo, Warframe Market, Warpcast, Weibo, Wikipedia, Yapisal (disabled), YouNow, en.brickimedia.org, nightbot, notabug.org, qiwi.me (disabled) @@ -3199,7 +3199,7 @@ Sites by engine: - `Discourse`: 81/87 (93.1%) - `phpBB`: 23/27 (85.2%) - `engine404`: 20/23 (87.0%) -- `op.gg`: 0/17 (0.0%) +- `op.gg`: 17/17 (100.0%) - `Flarum`: 15/15 (100.0%) - `Wordpress/Author`: 8/10 (80.0%) - `engineRedirect`: 3/4 (75.0%) From 048bf78c75a21352f8df5eb02060cb67e7d1ac23 Mon Sep 17 00:00:00 2001 From: Soxoj Date: Fri, 10 Apr 2026 11:24:25 +0200 Subject: [PATCH 3/5] Add AI mode --- maigret/ai.py | 158 ++++++++++++++++++++++++++++++++ maigret/maigret.py | 90 +++++++++++++++--- maigret/notify.py | 8 ++ maigret/report.py | 9 +- maigret/resources/db_meta.json | 2 +- maigret/resources/settings.json | 3 + sites.md | 2 +- tests/test_cli.py | 2 + 8 files changed, 256 insertions(+), 18 deletions(-) create mode 100644 maigret/ai.py diff --git a/maigret/ai.py b/maigret/ai.py new file mode 100644 index 000000000..b4d0a7a32 --- /dev/null +++ b/maigret/ai.py @@ -0,0 +1,158 @@ +"""Maigret AI Analysis Module + +Provides AI-powered analysis of search results using OpenAI-compatible APIs. +""" + +import asyncio +import json +import os +import sys +import threading + +import aiohttp + + +def load_ai_prompt() -> str: + """Load the AI system prompt from the resources directory.""" + maigret_path = os.path.dirname(os.path.realpath(__file__)) + prompt_path = os.path.join(maigret_path, "resources", "ai_prompt.txt") + with open(prompt_path, "r", encoding="utf-8") as f: + return f.read() + + +def resolve_api_key(settings) -> str | None: + """Resolve OpenAI API key from settings or environment variable. + + Priority: settings.openai_api_key > OPENAI_API_KEY env var. + """ + key = getattr(settings, "openai_api_key", None) + if key: + return key + return os.environ.get("OPENAI_API_KEY") + + +class _Spinner: + """Simple animated spinner for terminal output.""" + + FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"] + + def __init__(self, text=""): + self.text = text + self._stop = threading.Event() + self._thread = None + + def start(self): + self._thread = threading.Thread(target=self._spin, daemon=True) + self._thread.start() + + def _spin(self): + i = 0 + while not self._stop.is_set(): + frame = self.FRAMES[i % len(self.FRAMES)] + sys.stderr.write(f"\r{frame} {self.text}") + sys.stderr.flush() + i += 1 + self._stop.wait(0.08) + + def stop(self): + self._stop.set() + if self._thread: + self._thread.join() + sys.stderr.write("\r\033[2K") + sys.stderr.flush() + + +async def print_streaming(text: str, delay: float = 0.04): + """Print text word by word with a delay, simulating streaming LLM output.""" + words = text.split(" ") + for i, word in enumerate(words): + if i > 0: + sys.stdout.write(" ") + sys.stdout.write(word) + sys.stdout.flush() + await asyncio.sleep(delay) + sys.stdout.write("\n") + sys.stdout.flush() + + +async def get_ai_analysis( + api_key: str, + markdown_report: str, + model: str = "gpt-4o", + api_base_url: str = "https://api.openai.com/v1", +) -> str: + """Send the markdown report to an OpenAI-compatible API and return the analysis. + + Uses streaming to display tokens as they arrive. + Raises on HTTP errors with descriptive messages. + """ + system_prompt = load_ai_prompt() + + url = f"{api_base_url.rstrip('/')}/chat/completions" + headers = { + "Authorization": f"Bearer {api_key}", + "Content-Type": "application/json", + } + payload = { + "model": model, + "stream": True, + "messages": [ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": markdown_report}, + ], + } + + spinner = _Spinner("Analysing the data with AI...") + spinner.start() + first_token = True + full_response = [] + + try: + async with aiohttp.ClientSession() as session: + async with session.post(url, json=payload, headers=headers) as resp: + if resp.status == 401: + raise RuntimeError("Invalid OpenAI API key (HTTP 401)") + if resp.status == 429: + raise RuntimeError("OpenAI API rate limit exceeded (HTTP 429)") + if resp.status != 200: + body = await resp.text() + raise RuntimeError( + f"OpenAI API error (HTTP {resp.status}): {body[:500]}" + ) + + async for line in resp.content: + decoded = line.decode("utf-8").strip() + if not decoded or not decoded.startswith("data: "): + continue + + data_str = decoded[len("data: "):] + if data_str == "[DONE]": + break + + try: + chunk = json.loads(data_str) + except json.JSONDecodeError: + continue + + delta = chunk.get("choices", [{}])[0].get("delta", {}) + content = delta.get("content", "") + if not content: + continue + + if first_token: + spinner.stop() + print() + first_token = False + + sys.stdout.write(content) + sys.stdout.flush() + except Exception: + spinner.stop() + raise + + if first_token: + # No tokens received — stop spinner anyway + spinner.stop() + + print() + return "".join(full_response) diff --git a/maigret/maigret.py b/maigret/maigret.py index cead5a013..b0580305c 100755 --- a/maigret/maigret.py +++ b/maigret/maigret.py @@ -494,6 +494,21 @@ def setup_arguments_parser(settings: Settings): " (one report per username).", ) + report_group.add_argument( + "--ai", + action="store_true", + dest="ai", + default=False, + help="Generate an AI-powered analysis of the search results using OpenAI API. " + "Requires OPENAI_API_KEY env var or openai_api_key in settings.", + ) + report_group.add_argument( + "--ai-model", + dest="ai_model", + default=settings.openai_model, + help="OpenAI model to use for AI analysis (default: gpt-4o).", + ) + parser.add_argument( "--reports-sorting", default=settings.report_sorting, @@ -596,6 +611,7 @@ async def main(): print_found_only=not args.print_not_found, skip_check_errors=not args.print_check_errors, color=not args.no_color, + silent=args.ai, ) # Create object with all information about sites we are aware of. @@ -711,17 +727,29 @@ async def main(): + get_dict_ascii_tree(usernames, prepend="\t") ) + if args.ai: + from .ai import resolve_api_key + + if not resolve_api_key(settings): + query_notify.warning( + 'AI analysis requires an OpenAI API key. ' + 'Set OPENAI_API_KEY environment variable or add ' + 'openai_api_key to settings.json.' + ) + sys.exit(1) + if not site_data: query_notify.warning('No sites to check, exiting!') sys.exit(2) - query_notify.warning( - f'Starting a search on top {len(site_data)} sites from the Maigret database...' - ) - if not args.all_sites: + if not args.ai: query_notify.warning( - 'You can run search by full list of sites with flag `-a`', '!' + f'Starting a search on top {len(site_data)} sites from the Maigret database...' ) + if not args.all_sites: + query_notify.warning( + 'You can run search by full list of sites with flag `-a`', '!' + ) already_checked = set() general_results = [] @@ -774,11 +802,12 @@ async def main(): check_domains=args.with_domains, ) - errs = errors.notify_about_errors( - results, query_notify, show_statistics=args.verbose - ) - for e in errs: - query_notify.warning(*e) + if not args.ai: + errs = errors.notify_about_errors( + results, query_notify, show_statistics=args.verbose + ) + for e in errs: + query_notify.warning(*e) if args.reports_sorting == "data": results = sort_report_by_data_points(results) @@ -867,10 +896,43 @@ async def main(): save_graph_report(filename, general_results, db) query_notify.warning(f'Graph report on all usernames saved in {filename}') - text_report = get_plaintext_report(report_context) - if text_report: - query_notify.info('Short text report:') - print(text_report) + if not args.ai: + text_report = get_plaintext_report(report_context) + if text_report: + query_notify.info('Short text report:') + print(text_report) + + if args.ai: + from .ai import get_ai_analysis, resolve_api_key + from .report import generate_markdown_report + + api_key = resolve_api_key(settings) + + run_flags = [] + if args.tags: + run_flags.append(f"--tags {args.tags}") + if args.site_list: + run_flags.append(f"--site {','.join(args.site_list)}") + if args.all_sites: + run_flags.append("--all-sites") + run_info = { + "sites_count": sum(len(d) for _, _, d in general_results), + "flags": " ".join(run_flags) if run_flags else None, + } + + md_report = generate_markdown_report(report_context, run_info=run_info) + + try: + await get_ai_analysis( + api_key=api_key, + markdown_report=md_report, + model=args.ai_model, + api_base_url=getattr( + settings, 'openai_api_base_url', 'https://api.openai.com/v1' + ), + ) + except Exception as e: + query_notify.warning(f'AI analysis failed: {e}') # update database db.save_to_file(db_file) diff --git a/maigret/notify.py b/maigret/notify.py index 216d9b2e5..473553753 100644 --- a/maigret/notify.py +++ b/maigret/notify.py @@ -124,6 +124,7 @@ def __init__( print_found_only=False, skip_check_errors=False, color=True, + silent=False, ): """Create Query Notify Print Object. @@ -150,6 +151,7 @@ def __init__( self.print_found_only = print_found_only self.skip_check_errors = skip_check_errors self.color = color + self.silent = silent return @@ -188,6 +190,9 @@ def start(self, message=None, id_type="username"): Nothing. """ + if self.silent: + return + title = f"Checking {id_type}" if self.color: print( @@ -237,6 +242,9 @@ def update(self, result, is_similar=False): Return Value: Nothing. """ + if self.silent: + return + notify = None self.result = result diff --git a/maigret/report.py b/maigret/report.py index 2b6648c10..4e75be61a 100644 --- a/maigret/report.py +++ b/maigret/report.py @@ -267,7 +267,7 @@ def _md_format_value(value) -> str: return s -def save_markdown_report(filename: str, context: dict, run_info: dict = None): +def generate_markdown_report(context: dict, run_info: dict = None) -> str: username = context.get("username", "unknown") generated_at = context.get("generated_at", "") brief = context.get("brief", "") @@ -391,8 +391,13 @@ def save_markdown_report(filename: str, context: dict, run_info: dict = None): "CCPA, and similar).\n" ) + return "\n".join(lines) + + +def save_markdown_report(filename: str, context: dict, run_info: dict = None): + content = generate_markdown_report(context, run_info) with open(filename, "w", encoding="utf-8") as f: - f.write("\n".join(lines)) + f.write(content) """ diff --git a/maigret/resources/db_meta.json b/maigret/resources/db_meta.json index 23ce0e48f..eb44cfbb5 100644 --- a/maigret/resources/db_meta.json +++ b/maigret/resources/db_meta.json @@ -1,6 +1,6 @@ { "version": 1, - "updated_at": "2026-04-09T10:55:28Z", + "updated_at": "2026-04-10T09:24:27Z", "sites_count": 3149, "min_maigret_version": "0.5.0", "data_sha256": "ee4aedb1ac530879048a40c14360686eb18be2efd2dbedf9767108e7a1300ec4", diff --git a/maigret/resources/settings.json b/maigret/resources/settings.json index c28d19cf0..b5b4ebad7 100644 --- a/maigret/resources/settings.json +++ b/maigret/resources/settings.json @@ -55,6 +55,9 @@ "pdf_report": false, "html_report": false, "md_report": false, + "openai_api_key": "", + "openai_model": "gpt-4o", + "openai_api_base_url": "https://api.openai.com/v1", "web_interface_port": 5000, "no_autoupdate": false, "db_update_meta_url": "https://raw.githubusercontent.com/soxoj/maigret/main/maigret/resources/db_meta.json", diff --git a/sites.md b/sites.md index 9cf96811d..7edcc21e5 100644 --- a/sites.md +++ b/sites.md @@ -3153,7 +3153,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://flarum.es) [flarum.es (https://flarum.es)](https://flarum.es)*: top 100M, es, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.fibra.click) [forum.fibra.click (https://forum.fibra.click)](https://forum.fibra.click)*: top 100M, forum, it* -The list was updated at (2026-04-09) +The list was updated at (2026-04-10) ## Statistics Enabled/total sites: 2596/3149 = 82.44% diff --git a/tests/test_cli.py b/tests/test_cli.py index e4f7d7776..6871d49d6 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -49,6 +49,8 @@ 'with_domains': False, 'xmind': False, 'md': False, + 'ai': False, + 'ai_model': 'gpt-4o', 'no_autoupdate': False, 'force_update': False, } From fbe49d8a9365f17857717d8da205770bc333c24b Mon Sep 17 00:00:00 2001 From: Soxoj Date: Fri, 17 Apr 2026 16:22:30 +0200 Subject: [PATCH 4/5] Prompt update --- maigret/maigret.py | 6 +++- maigret/resources/ai_prompt.txt | 62 +++++++++++++++++++++++++++++++++ maigret/resources/db_meta.json | 2 +- sites.md | 2 +- 4 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 maigret/resources/ai_prompt.txt diff --git a/maigret/maigret.py b/maigret/maigret.py index b0580305c..c33277e95 100755 --- a/maigret/maigret.py +++ b/maigret/maigret.py @@ -742,7 +742,11 @@ async def main(): query_notify.warning('No sites to check, exiting!') sys.exit(2) - if not args.ai: + if args.ai: + query_notify.warning( + f'Starting AI-assisted search on top {len(site_data)} sites from the Maigret database...' + ) + else: query_notify.warning( f'Starting a search on top {len(site_data)} sites from the Maigret database...' ) diff --git a/maigret/resources/ai_prompt.txt b/maigret/resources/ai_prompt.txt new file mode 100644 index 000000000..ab41d6c11 --- /dev/null +++ b/maigret/resources/ai_prompt.txt @@ -0,0 +1,62 @@ +You are an OSINT analyst that converts raw username-investigation reports into a short, clean human-readable summary. + +Your task: +Read the attached account-discovery report and produce a concise report in exactly this style: + +# Investigation Summary + +Name: +Location: +Occupation: +Interests: <3–6 broad interests inferred from platform types, bios, and activity> +Languages: +Website:
+Username:
(variant: ) +Platforms: profiles, active from to +Confidence: + +# Other leads + +- +- +- + +Rules: +1. Use only information supported by the report. +2. Resolve identity using consistency of username, full name, bio, links, company, and location. +3. Prefer strong repeated signals over one-off weak signals. +4. If one profile clearly conflicts with the rest, mention it in "Other leads" as a likely false positive instead of mixing it into the main identity. +5. Keep the tone analytical and neutral. +6. Do not mention every platform individually. +7. Do not include raw URLs except for the main website. +8. Do not mention NSFW/adult platforms in the main summary unless they are the only source for a critical lead; if such a profile looks inconsistent, mention it only as a likely false positive. +9. "Occupation" should be a compact merged description, for example: "Chief Product Officer (CPO) at ..., entrepreneur, OSINT community founder". +10. "Interests" should be broad categories, not noisy tags. Convert raw platform/tag evidence into natural categories like OSINT, software development, blogging, gaming, streaming, etc. +11. "Languages" should only include languages clearly supported by bios, texts, country tags, or profile content. +12. For "Platforms", count the profiles reported as found by the report summary, not manually deduplicated. +13. For active years, use the earliest and latest reliable dates from the consistent identity cluster. Ignore obvious outlier dates if they belong to likely false positives or weak profiles. +14. For confidence: + - High = strong consistency across username, name, bio, links, location, and/or company + - Medium = partial consistency with some gaps + - Low = mostly username-only matches +15. If some field is not reliably known, omit speculation and use the best cautious wording possible. +16. For "Name", output only the most likely real personal name in clean canonical form. + - Remove nicknames, handles, aliases, or bracketed parts such as "(Soxoj)". + - Example: "Dmitriy (Soxoj) Danilov" -> "Dmitriy Danilov". +17. For "Website", output only the plain domain or URL as text, not a markdown hyperlink. +18. In "Other leads", do not label conflicting profiles as "false positive", "likely unrelated", or "potentially a false positive". + - Instead, use neutral intelligence wording such as: + "Accounts were found that are most likely unrelated to the main identity, but may indicate possible cross-border activity and should be verified." +19. When describing anomalies in "Other leads", prefer cautious investigative phrasing: + - "may be unrelated" + - "requires verification" + - "could indicate separate activity" + - "should be checked manually" +20. Do not include nicknames or aliases inside the Name field unless they are clearly part of the legal or real-world name. + +Output requirements: +- Return only the final formatted text. +- Keep it short. +- No preamble, no explanations. + +Now analyze the following report diff --git a/maigret/resources/db_meta.json b/maigret/resources/db_meta.json index eb44cfbb5..416471c85 100644 --- a/maigret/resources/db_meta.json +++ b/maigret/resources/db_meta.json @@ -1,6 +1,6 @@ { "version": 1, - "updated_at": "2026-04-10T09:24:27Z", + "updated_at": "2026-04-17T14:22:32Z", "sites_count": 3149, "min_maigret_version": "0.5.0", "data_sha256": "ee4aedb1ac530879048a40c14360686eb18be2efd2dbedf9767108e7a1300ec4", diff --git a/sites.md b/sites.md index 7edcc21e5..cd9547694 100644 --- a/sites.md +++ b/sites.md @@ -3153,7 +3153,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://flarum.es) [flarum.es (https://flarum.es)](https://flarum.es)*: top 100M, es, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.fibra.click) [forum.fibra.click (https://forum.fibra.click)](https://forum.fibra.click)*: top 100M, forum, it* -The list was updated at (2026-04-10) +The list was updated at (2026-04-17) ## Statistics Enabled/total sites: 2596/3149 = 82.44% From a27b6569c6ff6f23b85d59e59be884d71f041c5a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Apr 2026 15:14:13 +0000 Subject: [PATCH 5/5] Revert e776dd9 and 686dc31: remove site database changes Remove site database changes that don't belong in the AI mode branch: - Revert 'Re-disable 29 false positives from #2478' (e776dd9) - Revert 'Fix op.gg engine, rename sites, re-enable 17 LoL regions' (686dc31) Restore data.json and sites.md to the state of 777e503 (Re-enable 69 stale-disabled sites validated via self-check #2478). Update the date in sites.md and data_sha256 in db_meta.json to match the restored data. Co-authored-by: soxoj <31013580+soxoj@users.noreply.github.com> --- maigret/resources/data.json | 367 ++++++++++++++++----------------- maigret/resources/db_meta.json | 2 +- sites.md | 72 +++---- 3 files changed, 215 insertions(+), 226 deletions(-) diff --git a/maigret/resources/data.json b/maigret/resources/data.json index 530894785..ea1488614 100644 --- a/maigret/resources/data.json +++ b/maigret/resources/data.json @@ -469,8 +469,7 @@ "tags": [ "discussion", "news" - ], - "disabled": true + ] }, "Gravatar": { "tags": [ @@ -688,8 +687,7 @@ "urlMain": "https://community.oracle.com", "url": "https://community.oracle.com/people/{username}", "usernameClaimed": "blue", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "forums.opera.com": { "tags": [ @@ -3660,8 +3658,7 @@ "engine": "XenForo", "urlMain": "http://forums.tomsguide.com", "usernameClaimed": "matthewvel", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "Sbnation": { "tags": [ @@ -7589,8 +7586,7 @@ "engine": "vBulletin", "urlMain": "https://forums.kali.org/", "usernameClaimed": "blue", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "DTF": { "disabled": true, @@ -8336,8 +8332,7 @@ "urlMain": "https://weheartit.com/", "url": "https://weheartit.com/{username}", "usernameClaimed": "ventivogue", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "Americanthinker": { "checkType": "message", @@ -11022,8 +11017,7 @@ "urlMain": "https://lib.rus.ec", "url": "https://lib.rus.ec/user/{username}", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "Acomics": { "tags": [ @@ -20309,8 +20303,7 @@ "urlMain": "http://forum.kerch.com.ru", "url": "http://forum.kerch.com.ru/search/?q={username}", "usernameClaimed": "Milla", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "Qbn": { "tags": [ @@ -22503,8 +22496,7 @@ "tags": [ "video" ], - "alexaRank": 777866, - "disabled": true + "alexaRank": 777866 }, "Caduser": { "tags": [ @@ -23318,8 +23310,7 @@ ], "usernameClaimed": "hacker", "usernameUnclaimed": "noonewouldeverusethis7", - "alexaRank": 989313, - "disabled": true + "alexaRank": 989313 }, "0-3.RU": { "tags": [ @@ -25450,8 +25441,7 @@ "urlMain": "https://shadowban.eu", "url": "https://shadowban.eu/{username}", "usernameClaimed": "alex", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "Gamesfrm": { "tags": [ @@ -26724,8 +26714,7 @@ "urlMain": "http://mydarling.ru/", "url": "http://mydarling.ru/page/{username}/frl-4", "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "Mylove": { "disabled": true, @@ -28257,8 +28246,7 @@ "urlMain": "https://ttonlineviewer.com", "url": "https://ttonlineviewer.com/user/{username}", "usernameClaimed": "rednec", - "usernameUnclaimed": "noonewouldeverusethis7", - "disabled": true + "usernameUnclaimed": "noonewouldeverusethis7" }, "Tkgr": { "tags": [ @@ -34560,6 +34548,169 @@ "usernameClaimed": "sonic99", "usernameUnclaimed": "nujfwykqxc" }, + "OP.GG [LeagueOfLegends] Brazil": { + "tags": [ + "br", + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=br", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] North America": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=na", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Middle East": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=me", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Europe Nordic & East": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=eune", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Europe West": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=euw", + "usernameClaimed": "Blaze51", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Oceania": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=oce", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Korea": { + "tags": [ + "gaming", + "kr" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=kr", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Japan": { + "tags": [ + "gaming", + "jp" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=jp", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] LAS": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=las", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] LAN": { + "tags": [ + "gaming" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=lan", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Russia": { + "tags": [ + "gaming", + "ru" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=ru", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Turkey": { + "tags": [ + "gaming", + "tr" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=tr", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Singapore": { + "tags": [ + "gaming", + "sg" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=sg", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Phillippines": { + "tags": [ + "gaming", + "ph" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=ph", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Taiwan": { + "tags": [ + "gaming", + "tw" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=tw", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Vietnam": { + "tags": [ + "gaming", + "vn" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=vn", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, + "OP.GG [LeagueOfLegends] Thailand": { + "tags": [ + "gaming", + "th" + ], + "engine": "op.gg", + "url": "https://www.op.gg/summoners/search?q={username}®ion=th", + "usernameClaimed": "adam", + "usernameUnclaimed": "noonewouldeverusethis7" + }, "Blitz Tactics": { "url": "https://blitztactics.com/{username}", "urlMain": "https://blitztactics.com/", @@ -34891,169 +35042,6 @@ "urlMain": "https://forum.fibra.click", "usernameClaimed": "admin", "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Brazil": { - "tags": [ - "br", - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=br", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL North America": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=na", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Middle East": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=me", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Europe Nordic & East": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=eune", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Europe West": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=euw", - "usernameClaimed": "Blaze51", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Oceania": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=oce", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Korea": { - "tags": [ - "gaming", - "kr" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=kr", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Japan": { - "tags": [ - "gaming", - "jp" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=jp", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL LAS": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=las", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL LAN": { - "tags": [ - "gaming" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=lan", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Russia": { - "tags": [ - "gaming", - "ru" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=ru", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Turkey": { - "tags": [ - "gaming", - "tr" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=tr", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Singapore": { - "tags": [ - "gaming", - "sg" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=sg", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Phillippines": { - "tags": [ - "gaming", - "ph" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=ph", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Taiwan": { - "tags": [ - "gaming", - "tw" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=tw", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Vietnam": { - "tags": [ - "gaming", - "vn" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=vn", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" - }, - "OP.GG LoL Thailand": { - "tags": [ - "gaming", - "th" - ], - "engine": "op.gg", - "url": "https://op.gg/lol/summoners/search?q={username}®ion=th", - "usernameClaimed": "adam", - "usernameUnclaimed": "noonewouldeverusethis7" } }, "engines": { @@ -35266,10 +35254,11 @@ "site": { "checkType": "message", "presenseStrs": [ - "href=\"/lol/summoners/" + "This is the search result for the summoner", + "- Summoner Stats - " ], "absenceStrs": [ - ">“No search results for" + "

No search results for" ], "urlMain": "https://www.op.gg/", "alexaRank": 331 diff --git a/maigret/resources/db_meta.json b/maigret/resources/db_meta.json index 416471c85..d5e5ccf4c 100644 --- a/maigret/resources/db_meta.json +++ b/maigret/resources/db_meta.json @@ -3,6 +3,6 @@ "updated_at": "2026-04-17T14:22:32Z", "sites_count": 3149, "min_maigret_version": "0.5.0", - "data_sha256": "ee4aedb1ac530879048a40c14360686eb18be2efd2dbedf9767108e7a1300ec4", + "data_sha256": "2848d0f93e7d3bcbd55ab41d77e44da49b36346f9dfbdd00243861d53f503eda", "data_url": "https://raw.githubusercontent.com/soxoj/maigret/main/maigret/resources/data.json" } \ No newline at end of file diff --git a/sites.md b/sites.md index cd9547694..202520bda 100644 --- a/sites.md +++ b/sites.md @@ -84,23 +84,23 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.change.org) [Change.org (https://www.change.org)](https://www.change.org)*: top 500, social* 1. ![](https://www.google.com/s2/favicons?domain=https://www.fandom.com/) [Fandom (https://www.fandom.com/)](https://www.fandom.com/)*: top 500, wiki* 1. ![](https://www.google.com/s2/favicons?domain=https://www.xing.com/) [Xing (https://www.xing.com/)](https://www.xing.com/)*: top 500, de, eu* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Brazil (https://www.op.gg/)](https://www.op.gg/)*: top 500, br, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL North America (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Middle East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Europe Nordic & East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Europe West (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Oceania (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Korea (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, kr* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Japan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, jp* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL LAS (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL LAN (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Russia (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ru* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Turkey (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tr* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Singapore (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, sg* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Phillippines (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ph* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Taiwan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tw* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Vietnam (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, vn* -1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG LoL Thailand (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, th* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Brazil (https://www.op.gg/)](https://www.op.gg/)*: top 500, br, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] North America (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Middle East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe Nordic & East (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Europe West (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Oceania (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Korea (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, kr* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Japan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, jp* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAS (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] LAN (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Russia (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ru* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Turkey (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tr* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Singapore (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, sg* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Phillippines (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, ph* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Taiwan (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, tw* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Vietnam (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, vn* +1. ![](https://www.google.com/s2/favicons?domain=https://www.op.gg/) [OP.GG [LeagueOfLegends] Thailand (https://www.op.gg/)](https://www.op.gg/)*: top 500, gaming, th* 1. ![](https://www.google.com/s2/favicons?domain=https://www.patreon.com/) [Patreon (https://www.patreon.com/)](https://www.patreon.com/)*: top 500, finance* 1. ![](https://www.google.com/s2/favicons?domain=https://deviantart.com) [DeviantART (https://deviantart.com)](https://deviantart.com)*: top 500, art, photo* 1. ![](https://www.google.com/s2/favicons?domain=https://www.gofundme.com) [Gofundme (https://www.gofundme.com)](https://www.gofundme.com)*: top 500, finance* @@ -330,7 +330,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.kwork.ru/) [Kwork (https://www.kwork.ru/)](https://www.kwork.ru/)*: top 10K, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://www.nairaland.com/) [Nairaland Forum (https://www.nairaland.com/)](https://www.nairaland.com/)*: top 10K, ng* 1. ![](https://www.google.com/s2/favicons?domain=https://www.memrise.com/) [Memrise (https://www.memrise.com/)](https://www.memrise.com/)*: top 10K, education* -1. ![](https://www.google.com/s2/favicons?domain=https://weheartit.com/) [We Heart It (https://weheartit.com/)](https://weheartit.com/)*: top 10K, blog, photo*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://weheartit.com/) [We Heart It (https://weheartit.com/)](https://weheartit.com/)*: top 10K, blog, photo* 1. ![](https://www.google.com/s2/favicons?domain=https://www.americanthinker.com/) [Americanthinker (https://www.americanthinker.com/)](https://www.americanthinker.com/)*: top 10K, news, us* 1. ![](https://www.google.com/s2/favicons?domain=https://www.yummly.com) [Yummly (https://www.yummly.com)](https://www.yummly.com)*: top 10K, us* 1. ![](https://www.google.com/s2/favicons?domain=https://www.kaskus.co.id) [Kaskus (https://www.kaskus.co.id)](https://www.kaskus.co.id)*: top 10K, id*, search is disabled @@ -657,7 +657,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.chessclub.com) [Chessclub (https://www.chessclub.com)](https://www.chessclub.com)*: top 100K, gaming*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://typeracer.com) [Typeracer (https://typeracer.com)](https://typeracer.com)*: top 100K, hobby* 1. ![](https://www.google.com/s2/favicons?domain=https://libraries.io) [Libraries (https://libraries.io)](https://libraries.io)*: top 100K, coding* -1. ![](https://www.google.com/s2/favicons?domain=https://lib.rus.ec) [Librusec (https://lib.rus.ec)](https://lib.rus.ec)*: top 100K, br, ru*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://lib.rus.ec) [Librusec (https://lib.rus.ec)](https://lib.rus.ec)*: top 100K, br, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://devrant.com/) [devRant (https://devrant.com/)](https://devrant.com/)*: top 100K, coding* 1. ![](https://www.google.com/s2/favicons?domain=https://topmate.io/) [Topmate (https://topmate.io/)](https://topmate.io/)*: top 100K, freelance* 1. ![](https://www.google.com/s2/favicons?domain=https://www.imagefap.com/) [Image Fap (https://www.imagefap.com/)](https://www.imagefap.com/)*: top 100K, porn* @@ -1126,7 +1126,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://imgup.cz/) [ImgUp.cz (https://imgup.cz/)](https://imgup.cz/)*: top 10M* 1. ![](https://www.google.com/s2/favicons?domain=https://maccentre.ru) [Maccentre (https://maccentre.ru)](https://maccentre.ru)*: top 10M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://codersrank.io/) [Coders Rank (https://codersrank.io/)](https://codersrank.io/)*: top 10M, coding* -1. ![](https://www.google.com/s2/favicons?domain=https://www.rockettube.com/) [Rocket Tube (https://www.rockettube.com/)](https://www.rockettube.com/)*: top 10M, video*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://www.rockettube.com/) [Rocket Tube (https://www.rockettube.com/)](https://www.rockettube.com/)*: top 10M, video* 1. ![](https://www.google.com/s2/favicons?domain=https://www.caduser.ru/) [Caduser (https://www.caduser.ru/)](https://www.caduser.ru/)*: top 10M, ru, ua* 1. ![](https://www.google.com/s2/favicons?domain=https://nuvi.ru/) [NuviGarmin (https://nuvi.ru/)](https://nuvi.ru/)*: top 10M, forum, ru, shopping*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://myce.wiki) [myce.wiki (https://myce.wiki)](https://myce.wiki)*: top 10M* @@ -1184,7 +1184,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://www.parkrocker.net) [Parkrocker (https://www.parkrocker.net)](https://www.parkrocker.net)*: top 10M, de, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://seatracker.ru/) [Seatracker (https://seatracker.ru/)](https://seatracker.ru/)*: top 10M, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://nygunforum.com) [Nygunforum (https://nygunforum.com)](https://nygunforum.com)*: top 10M, forum* -1. ![](https://www.google.com/s2/favicons?domain=https://pocketstars.com/) [Pocket Stars (https://pocketstars.com/)](https://pocketstars.com/)*: top 10M*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://pocketstars.com/) [Pocket Stars (https://pocketstars.com/)](https://pocketstars.com/)*: top 10M* 1. ![](https://www.google.com/s2/favicons?domain=https://social.technet.microsoft.com) [MicrosoftTechNet (https://social.technet.microsoft.com)](https://social.technet.microsoft.com)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://learn.microsoft.com) [MicrosoftLearn (https://learn.microsoft.com)](https://learn.microsoft.com)*: top 100M, tech* 1. ![](https://www.google.com/s2/favicons?domain=https://social.msdn.microsoft.com) [social.msdn.microsoft.com (https://social.msdn.microsoft.com)](https://social.msdn.microsoft.com)*: top 100M*, search is disabled @@ -1194,10 +1194,10 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://community.adobe.com) [community.adobe.com (https://community.adobe.com)](https://community.adobe.com)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=https://support.mozilla.org) [Mozilla Support (https://support.mozilla.org)](https://support.mozilla.org)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=https://discourse.mozilla.org) [discourse.mozilla.org (https://discourse.mozilla.org)](https://discourse.mozilla.org)*: top 100M* -1. ![](https://www.google.com/s2/favicons?domain=https://camas.github.io/reddit-search/) [Reddit Search (Pushshift) (https://camas.github.io/reddit-search/)](https://camas.github.io/reddit-search/)*: top 100M, discussion, news*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://camas.github.io/reddit-search/) [Reddit Search (Pushshift) (https://camas.github.io/reddit-search/)](https://camas.github.io/reddit-search/)*: top 100M, discussion, news* 1. ![](https://www.google.com/s2/favicons?domain=http://en.gravatar.com/) [Gravatar (http://en.gravatar.com/)](http://en.gravatar.com/)*: top 100M, photo* 1. ![](https://www.google.com/s2/favicons?domain=https://tieba.baidu.com) [Baidu (https://tieba.baidu.com)](https://tieba.baidu.com)*: top 100M, cn*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://community.oracle.com) [Oracle Community (https://community.oracle.com)](https://community.oracle.com)*: top 100M*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://community.oracle.com) [Oracle Community (https://community.oracle.com)](https://community.oracle.com)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=https://forums.opera.com/) [forums.opera.com (https://forums.opera.com/)](https://forums.opera.com/)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://community.cloudflare.com/) [CloudflareCommunity (https://community.cloudflare.com/)](https://community.cloudflare.com/)*: top 100M, forum, tech* 1. ![](https://www.google.com/s2/favicons?domain=https://scratch.mit.edu/) [Scratch (https://scratch.mit.edu/)](https://scratch.mit.edu/)*: top 100M, coding* @@ -1263,7 +1263,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=http://promalp.dp.ua) [promalp.dp.ua (http://promalp.dp.ua)](http://promalp.dp.ua)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://community.brave.com) [community.brave.com (https://community.brave.com)](https://community.brave.com)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://xdaforums.com) [XDA (https://xdaforums.com)](https://xdaforums.com)*: top 100M, apps, forum*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=http://forums.tomsguide.com) [Tom's guide (http://forums.tomsguide.com)](http://forums.tomsguide.com)*: top 100M, forum, tech*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=http://forums.tomsguide.com) [Tom's guide (http://forums.tomsguide.com)](http://forums.tomsguide.com)*: top 100M, forum, tech* 1. ![](https://www.google.com/s2/favicons?domain=https://discuss.elastic.co/) [Discuss.Elastic.co (https://discuss.elastic.co/)](https://discuss.elastic.co/)*: top 100M, forum, tech* 1. ![](https://www.google.com/s2/favicons?domain=https://discuss.codecademy.com) [discuss.codecademy.com (https://discuss.codecademy.com)](https://discuss.codecademy.com)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=http://apelmon.od.ua) [apelmon.od.ua (http://apelmon.od.ua)](http://apelmon.od.ua)*: top 100M* @@ -1550,7 +1550,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://volkodavcaoko.forum24.ru) [Volkodavcaoko (https://volkodavcaoko.forum24.ru)](https://volkodavcaoko.forum24.ru)*: top 100M, forum, kz, ru, ua* 1. ![](https://www.google.com/s2/favicons?domain=https://microcap.forum24.ru) [microcap.forum24.ru (https://microcap.forum24.ru)](https://microcap.forum24.ru)*: top 100M, forum, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://community.n8n.io/) [N8n Community (https://community.n8n.io/)](https://community.n8n.io/)*: top 100M, forum* -1. ![](https://www.google.com/s2/favicons?domain=https://forums.kali.org/) [Kali community (https://forums.kali.org/)](https://forums.kali.org/)*: top 100M, forum*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://forums.kali.org/) [Kali community (https://forums.kali.org/)](https://forums.kali.org/)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=http://volga-gaz.nnov.ru/forum) [volga-gaz.nnov.ru (http://volga-gaz.nnov.ru/forum)](http://volga-gaz.nnov.ru/forum)*: top 100M, forum, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://boards.straightdope.com) [boards.straightdope.com (https://boards.straightdope.com)](https://boards.straightdope.com)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://forums.destructoid.com) [forums.destructoid.com (https://forums.destructoid.com)](https://forums.destructoid.com)*: top 100M, forum* @@ -1948,7 +1948,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://forum.bestflowers.ru) [forum.bestflowers.ru (https://forum.bestflowers.ru)](https://forum.bestflowers.ru)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.sureai.net) [forum.sureai.net (https://forum.sureai.net)](https://forum.sureai.net)*: top 100M, forum* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.rosalinux.ru) [forum.rosalinux.ru (https://forum.rosalinux.ru)](https://forum.rosalinux.ru)*: top 100M, forum, ru* -1. ![](https://www.google.com/s2/favicons?domain=http://forum.kerch.com.ru) [Kerch Forum (http://forum.kerch.com.ru)](http://forum.kerch.com.ru)*: top 100M, forum, ru, ua*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=http://forum.kerch.com.ru) [Kerch Forum (http://forum.kerch.com.ru)](http://forum.kerch.com.ru)*: top 100M, forum, ru, ua* 1. ![](https://www.google.com/s2/favicons?domain=https://bbs.huami.com) [bbs.huami.com (https://bbs.huami.com)](https://bbs.huami.com)*: top 100M, cn, ir, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://tabun.everypony.ru) [Tabun (https://tabun.everypony.ru)](https://tabun.everypony.ru)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://forum.kursknet.ru) [kursknet (https://forum.kursknet.ru)](https://forum.kursknet.ru)*: top 100M, forum, ru* @@ -2166,7 +2166,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=https://gdprofiles.com/) [GDProfiles (https://gdprofiles.com/)](https://gdprofiles.com/)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://gg-izi.ru/) [GGIZI (https://gg-izi.ru/)](https://gg-izi.ru/)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=http://www.gps-forum.ru) [GPS-Forum (http://www.gps-forum.ru)](http://www.gps-forum.ru)*: top 100M, forum, ru* -1. ![](https://www.google.com/s2/favicons?domain=https://shadowban.eu) [Twitter Shadowban (https://shadowban.eu)](https://shadowban.eu)*: top 100M, jp, sa*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://shadowban.eu) [Twitter Shadowban (https://shadowban.eu)](https://shadowban.eu)*: top 100M, jp, sa* 1. ![](https://www.google.com/s2/favicons?domain=https://www.gamesfrm.com) [Gamesfrm (https://www.gamesfrm.com)](https://www.gamesfrm.com)*: top 100M, forum, tr* 1. ![](https://www.google.com/s2/favicons?domain=https://gamesubject.com) [Gamesubject (https://gamesubject.com)](https://gamesubject.com)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://www.garagepunk.com) [GaragePunk (https://www.garagepunk.com)](https://www.garagepunk.com)*: top 100M* @@ -2279,7 +2279,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=http://music-rock.ru/) [Music-rock (http://music-rock.ru/)](http://music-rock.ru/)*: top 100M, forum, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://my-question.ru) [My-question (https://my-question.ru)](https://my-question.ru)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=) [Mym.fans ()]()*: top 100M* -1. ![](https://www.google.com/s2/favicons?domain=http://mydarling.ru/) [Mydarling (http://mydarling.ru/)](http://mydarling.ru/)*: top 100M, ru*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=http://mydarling.ru/) [Mydarling (http://mydarling.ru/)](http://mydarling.ru/)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://lovetalk.ru) [Mylove (https://lovetalk.ru)](https://lovetalk.ru)*: top 100M, ru*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=) [Naturalnews ()]()*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=) [Ninjakiwi ()]()*: top 100M*, search is disabled @@ -2406,7 +2406,7 @@ Rank data fetched from Majestic Million by domains. 1. ![](https://www.google.com/s2/favicons?domain=http://terminator-scc.net.ru) [Terminator (http://terminator-scc.net.ru)](http://terminator-scc.net.ru)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://www.thedaftclub.com) [Thedaftclub (https://www.thedaftclub.com)](https://www.thedaftclub.com)*: top 100M*, search is disabled 1. ![](https://www.google.com/s2/favicons?domain=https://www.thephysicsforum.com) [Thephysicsforum (https://www.thephysicsforum.com)](https://www.thephysicsforum.com)*: top 100M, forum*, search is disabled -1. ![](https://www.google.com/s2/favicons?domain=https://ttonlineviewer.com) [TikTok Online Viewer (https://ttonlineviewer.com)](https://ttonlineviewer.com)*: top 100M*, search is disabled +1. ![](https://www.google.com/s2/favicons?domain=https://ttonlineviewer.com) [TikTok Online Viewer (https://ttonlineviewer.com)](https://ttonlineviewer.com)*: top 100M* 1. ![](https://www.google.com/s2/favicons?domain=http://tkgr.ru/) [Tkgr (http://tkgr.ru/)](http://tkgr.ru/)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://torrent-soft.net) [Torrent-soft (https://torrent-soft.net)](https://torrent-soft.net)*: top 100M, ru* 1. ![](https://www.google.com/s2/favicons?domain=https://totalstavki.ru) [TotalStavki (https://totalstavki.ru)](https://totalstavki.ru)*: top 100M, ru*, search is disabled @@ -3156,15 +3156,15 @@ Rank data fetched from Majestic Million by domains. The list was updated at (2026-04-17) ## Statistics -Enabled/total sites: 2596/3149 = 82.44% +Enabled/total sites: 2608/3149 = 82.82% -Incomplete message checks: 344/2596 = 13.25% (false positive risks) +Incomplete message checks: 351/2608 = 13.46% (false positive risks) -Status code checks: 647/2596 = 24.92% (false positive risks) +Status code checks: 649/2608 = 24.88% (false positive risks) -False positive risk (total): 38.17% +False positive risk (total): 38.34% -Sites with probing: 500px, Armchairgm, BinarySearch (disabled), BleachFandom, Bluesky, BongaCams, Boosty, BuyMeACoffee, Calendly, Cent, Chess, Code Sandbox, Code Snippet Wiki, DailyMotion, Discord, Diskusjon.no, Disqus, Docker Hub, Duolingo, FandomCommunityCentral, GitHub, GitLab, Google Plus (archived), Gravatar, HackTheBox, Hashnode, Holopin, Imgur, Issuu, Keybase, Kick, Kvinneguiden, LeetCode, Lesswrong, Livejasmin, LocalCryptos (disabled), MicrosoftLearn, MixCloud, Monkeytype, Niftygateway, Omg.lol, Paragraph, Picsart, Plurk, Polarsteps, Rarible, Reddit, Reddit Search (Pushshift) (disabled), RoyalCams, Scratch, Soop, SportsTracker, Spotify, StackOverflow, Substack, TAP'D, Topcoder, Trello, Twitch, Twitter, Twitter Shadowban (disabled), UnstoppableDomains, Vimeo, Warframe Market, Warpcast, Weibo, Wikipedia, Yapisal (disabled), YouNow, en.brickimedia.org, nightbot, notabug.org, qiwi.me (disabled) +Sites with probing: 500px, Armchairgm, BinarySearch (disabled), BleachFandom, Bluesky, BongaCams, Boosty, BuyMeACoffee, Calendly, Cent, Chess, Code Sandbox, Code Snippet Wiki, DailyMotion, Discord, Diskusjon.no, Disqus, Docker Hub, Duolingo, FandomCommunityCentral, GitHub, GitLab, Google Plus (archived), Gravatar, HackTheBox, Hashnode, Holopin, Imgur, Issuu, Keybase, Kick, Kvinneguiden, LeetCode, Lesswrong, Livejasmin, LocalCryptos (disabled), MicrosoftLearn, MixCloud, Monkeytype, Niftygateway, Omg.lol, Paragraph, Picsart, Plurk, Polarsteps, Rarible, Reddit, Reddit Search (Pushshift), RoyalCams, Scratch, Soop, SportsTracker, Spotify, StackOverflow, Substack, TAP'D, Topcoder, Trello, Twitch, Twitter, Twitter Shadowban, UnstoppableDomains, Vimeo, Warframe Market, Warpcast, Weibo, Wikipedia, Yapisal (disabled), YouNow, en.brickimedia.org, nightbot, notabug.org, qiwi.me (disabled) Sites with activation: Twitter, Vimeo, Weibo @@ -3193,9 +3193,9 @@ Top 20 profile URLs: Sites by engine: - `uCoz`: 640/710 (90.1%) -- `XenForo`: 191/221 (86.4%) +- `XenForo`: 192/221 (86.9%) - `phpBB/Search`: 120/127 (94.5%) -- `vBulletin`: 31/120 (25.8%) +- `vBulletin`: 32/120 (26.7%) - `Discourse`: 81/87 (93.1%) - `phpBB`: 23/27 (85.2%) - `engine404`: 20/23 (87.0%)