From 193de54b6dd03df3f2e6384ded9b31bb47e3adc9 Mon Sep 17 00:00:00 2001 From: Pallavi Kathait Date: Sun, 29 Sep 2024 21:31:19 +0530 Subject: [PATCH 01/17] Update site-list.py These changes improve readability and maintain the functionality of the original code. --- devel/site-list.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/devel/site-list.py b/devel/site-list.py index 047b2264f..4a3ecb6df 100644 --- a/devel/site-list.py +++ b/devel/site-list.py @@ -8,11 +8,11 @@ DATA_REL_URI: str = "sherlock_project/resources/data.json" # Read the data.json file -with open(DATA_REL_URI, "r", encoding="utf-8") as data_file: +with open(DATA_REL_URI, "r") as data_file: data: dict = json.load(data_file) # Removes schema-specific keywords for proper processing -social_networks: dict = dict(data) +social_networks: dict = data.copy() social_networks.pop('$schema', None) # Sort the social networks in alphanumeric order @@ -21,9 +21,15 @@ # Make output dir where the site list will be written os.mkdir("output") -# Write the list of supported sites to sites.md +# Write the list of supported sites to sites.mdx with open("output/sites.mdx", "w") as site_file: - site_file.write("---\ntitle: 'List of supported sites'\nsidebarTitle: 'Supported sites'\nicon: 'globe'\ndescription: 'Sherlock currently supports **400+** sites'\n---\n\n") + site_file.write("---\n") + site_file.write("title: 'List of supported sites'\n") + site_file.write("sidebarTitle: 'Supported sites'\n") + site_file.write("icon: 'globe'\n") + site_file.write("description: 'Sherlock currently supports **400+** sites'\n") + site_file.write("---\n\n") + for social_network, info in social_networks: url_main = info["urlMain"] is_nsfw = "**(NSFW)**" if info.get("isNSFW") else "" @@ -33,7 +39,6 @@ with open(DATA_REL_URI, "w") as data_file: sorted_data = json.dumps(data, indent=2, sort_keys=True) data_file.write(sorted_data) - data_file.write("\n") + data_file.write("\n") # Keep the newline after writing data print("Finished updating supported site listing!") - From 017c08a45d80178243be6ae9aeb273937aac9f70 Mon Sep 17 00:00:00 2001 From: Fandroid745 Date: Sun, 5 Oct 2025 10:53:59 +0530 Subject: [PATCH 02/17] fix: Add error messages to BabyRu to prevent false positives --- sherlock_project/resources/data.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index 1f0e34225..46ebe5396 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2879,5 +2879,16 @@ "urlMain": "https://platzi.com/", "username_claimed": "freddier", "request_method": "GET" - } + }, + "BabyRu": { + "url": "https://www.baby.ru/u/{}", + "urlMain": "https://www.baby.ru/", + "errorType": "message", + "errorMsg": [ + "Страница, которую вы искали, не найдена", + "Доступ с вашего IP-адреса временно ограничен" + ], + "regexCheck": false +} + } From e3066a1d7a440411f9c4774dfa20ec09a7b27af7 Mon Sep 17 00:00:00 2001 From: Fandroid745 Date: Sun, 5 Oct 2025 18:59:04 +0530 Subject: [PATCH 03/17] fix:added the username_claimed field --- sherlock_project/resources/data.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index 46ebe5396..2200957ad 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2880,7 +2880,7 @@ "username_claimed": "freddier", "request_method": "GET" }, - "BabyRu": { + "BabyRu": { "url": "https://www.baby.ru/u/{}", "urlMain": "https://www.baby.ru/", "errorType": "message", @@ -2888,7 +2888,8 @@ "Страница, которую вы искали, не найдена", "Доступ с вашего IP-адреса временно ограничен" ], - "regexCheck": false + "regexCheck": false, + "username_claimed": null } } From 4010a58dde6dee49c4a225ad5190e899a90ba0cf Mon Sep 17 00:00:00 2001 From: Fandroid745 Date: Sun, 5 Oct 2025 22:23:17 +0530 Subject: [PATCH 04/17] fix: changed the username_claimed to example placeholder --- sherlock_project/resources/data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index 2200957ad..a120ff9c5 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2889,7 +2889,7 @@ "Доступ с вашего IP-адреса временно ограничен" ], "regexCheck": false, - "username_claimed": null + "username_claimed": "example" } } From 01bca6b39f7c1bc70c6e0a4203ba82807f4b438d Mon Sep 17 00:00:00 2001 From: Fandroid745 Date: Mon, 6 Oct 2025 08:57:11 +0530 Subject: [PATCH 05/17] fix: corrected the regexCheck field value to an empty string --- sherlock_project/resources/data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index a120ff9c5..b16f2a552 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2888,7 +2888,7 @@ "Страница, которую вы искали, не найдена", "Доступ с вашего IP-адреса временно ограничен" ], - "regexCheck": false, + "regexCheck": "", "username_claimed": "example" } From 068fff871103eb03f669c2aecf1eb5867636574b Mon Sep 17 00:00:00 2001 From: Fandroid745 Date: Tue, 7 Oct 2025 14:33:32 +0530 Subject: [PATCH 06/17] fix:Remove regexCheck field and changed encoding to UTF-8 --- sherlock_project/resources/data.json | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index b16f2a552..a117740cf 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2865,13 +2865,6 @@ "urlMain": "https://znanylekarz.pl", "username_claimed": "janusz-nowak" }, - "Bluesky": { - "errorType": "status_code", - "url": "https://bsky.app/profile/{}.bsky.social", - "urlProbe": "https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor={}.bsky.social", - "urlMain": "https://bsky.app/", - "username_claimed": "mcuban" - }, "Platzi": { "errorType": "status_code", "errorCode": 404, @@ -2888,8 +2881,6 @@ "Страница, которую вы искали, не найдена", "Доступ с вашего IP-адреса временно ограничен" ], - "regexCheck": "", "username_claimed": "example" -} - -} + } + } From 3e4d9bcd85b74f42ec6337846816d8508f7b8242 Mon Sep 17 00:00:00 2001 From: vivekgaddam Date: Thu, 9 Oct 2025 17:57:15 +0530 Subject: [PATCH 07/17] Add TikTok support to Sherlock --- sherlock_project/resources/data.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index e653a7c51..6b820e3d3 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2145,6 +2145,14 @@ "urlProbe": "https://ch.tetr.io/api/users/{}", "username_claimed": "osk" }, + + "TikTok": { + "url": "https://www.tiktok.com/@{}", + "urlMain": "https://www.tiktok.com", + "errorMsg": "User not found", + "errorType": "message", + "username_claimed": "charlidamelio" + }, "Tiendanube": { "url": "https://{}.mitiendanube.com/", "urlMain": "https://www.tiendanube.com/", From 659bf92d99b75799356a4cbe95b65c98b228fd16 Mon Sep 17 00:00:00 2001 From: vivekgaddam Date: Thu, 9 Oct 2025 19:50:43 +0530 Subject: [PATCH 08/17] corrected the errorMsg --- sherlock_project/resources/data.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index 6b820e3d3..d53151b0d 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2146,13 +2146,15 @@ "username_claimed": "osk" }, - "TikTok": { +"TikTok": { "url": "https://www.tiktok.com/@{}", "urlMain": "https://www.tiktok.com", - "errorMsg": "User not found", "errorType": "message", + "errorMsg": "\"statusCode\":10221", "username_claimed": "charlidamelio" - }, +}, + + "Tiendanube": { "url": "https://{}.mitiendanube.com/", "urlMain": "https://www.tiendanube.com/", From 70b50556313de5e6c7d675b0fba1919059e094d9 Mon Sep 17 00:00:00 2001 From: vivekgaddam Date: Sat, 11 Oct 2025 08:54:40 +0530 Subject: [PATCH 09/17] corrected india F+ prevent --- sherlock_project/resources/data.json | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index d53151b0d..74cca3a27 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2146,13 +2146,14 @@ "username_claimed": "osk" }, -"TikTok": { - "url": "https://www.tiktok.com/@{}", - "urlMain": "https://www.tiktok.com", - "errorType": "message", - "errorMsg": "\"statusCode\":10221", - "username_claimed": "charlidamelio" -}, + "TikTok": { + "url": "https://www.tiktok.com/@{}", + "urlMain": "https://www.tiktok.com", + "errorType": "message", + "errorMsg": ["\"statusCode\":10221","Govt. of India decided to block 59 apps"], + "username_claimed": "charlidamelio" + }, + "Tiendanube": { From 99067b2e5981989fd2d65cf4ac968c1ae2799165 Mon Sep 17 00:00:00 2001 From: Matheus Felipe Date: Sat, 11 Oct 2025 09:23:52 -0300 Subject: [PATCH 10/17] Add imood.com support resolve #2646 --- sherlock_project/resources/data.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index de90d6eac..2f1511cf4 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -1191,6 +1191,12 @@ "urlProbe": "https://api.imgur.com/account/v1/accounts/{}?client_id=546c25a59c58ad7", "username_claimed": "blue" }, + "imood": { + "errorType": "status_code", + "url": "https://www.imood.com/users/{}", + "urlMain": "https://www.imood.com/", + "username_claimed": "blue" + }, "Instagram": { "errorType": "status_code", "url": "https://instagram.com/{}", From 16458285272d2d9e33bad7a2355e9a9838411949 Mon Sep 17 00:00:00 2001 From: Aryan Jain Date: Sat, 11 Oct 2025 09:25:00 -0400 Subject: [PATCH 11/17] Add TikTok site support --- sherlock_project/resources/data.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index 3cc812a9f..95635c5f8 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2175,6 +2175,13 @@ "errorType": "status_code", "username_claimed": "blue" }, + "TikTok": { + "errorMsg": "Page Not Found", + "errorType": "message", + "url": "https://www.tiktok.com/@{}", + "urlMain": "https://www.tiktok.com/", + "username_claimed": "blue" + }, "Topcoder": { "errorType": "status_code", "url": "https://profiles.topcoder.com/{}/", From d6256e9fc6eb6dd23a04315cd6e1666578133cff Mon Sep 17 00:00:00 2001 From: Nirjas Jakilim Date: Sat, 11 Oct 2025 20:27:27 +0600 Subject: [PATCH 12/17] classifiers for supported python version --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 45dc683d6..2ebad0640 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,10 @@ classifiers = [ "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Security" ] homepage = "https://sherlockproject.xyz/" From dc307fc0fd8e0ec84846505a252aef7d2d51bf72 Mon Sep 17 00:00:00 2001 From: Aryan Jain Date: Sat, 11 Oct 2025 10:34:48 -0400 Subject: [PATCH 13/17] feat: add TikTok and Pinterest site detection support --- sherlock_project/resources/data.json | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index 95635c5f8..988d09ae9 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2176,10 +2176,10 @@ "username_claimed": "blue" }, "TikTok": { - "errorMsg": "Page Not Found", - "errorType": "message", "url": "https://www.tiktok.com/@{}", "urlMain": "https://www.tiktok.com/", + "errorMsg": "\"statusCode\":10221", + "errorType": "message", "username_claimed": "blue" }, "Topcoder": { @@ -2873,6 +2873,14 @@ "urlMain": "https://pikabu.ru/", "username_claimed": "blue" }, + "Pinterest": { + "errorType": "status_code", + "errorUrl": "https://www.pinterest.com/", + "url": "https://www.pinterest.com/{}/", + "urlProbe": "https://www.pinterest.com/oembed.json?url=https://www.pinterest.com/{}/", + "urlMain": "https://www.pinterest.com/", + "username_claimed": "blue" +}, "pr0gramm": { "errorType": "status_code", "url": "https://pr0gramm.com/user/{}", From d2072e2caca05c37edb721a89682d0433849977f Mon Sep 17 00:00:00 2001 From: Paul Pfeister Date: Sat, 11 Oct 2025 13:32:51 -0400 Subject: [PATCH 14/17] chore: rem tiktok for improved rev --- sherlock_project/resources/data.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index dee4f74ad..7e760fa81 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2194,13 +2194,6 @@ "errorType": "status_code", "username_claimed": "blue" }, - "TikTok": { - "url": "https://www.tiktok.com/@{}", - "urlMain": "https://www.tiktok.com/", - "errorMsg": "\"statusCode\":10221", - "errorType": "message", - "username_claimed": "blue" - }, "Topcoder": { "errorType": "status_code", "url": "https://profiles.topcoder.com/{}/", From ef55f7ddd3204080e2af9079483790ca45fc7fb8 Mon Sep 17 00:00:00 2001 From: Paul Pfeister Date: Sat, 11 Oct 2025 13:34:45 -0400 Subject: [PATCH 15/17] chore: reformat json --- sherlock_project/resources/data.json | 68 ++++++++++++---------------- 1 file changed, 29 insertions(+), 39 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index ecfcfd516..43c99a7f0 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -671,10 +671,7 @@ "url": "https://discord.com", "urlMain": "https://discord.com/", "urlProbe": "https://discord.com/api/v9/unique-username/username-attempt-unauthed", - "errorMsg": [ - "{\"taken\":false}", - "The resource is being rate limited" - ], + "errorMsg": ["{\"taken\":false}", "The resource is being rate limited"], "request_method": "POST", "request_payload": { "username": "{}" @@ -1049,10 +1046,7 @@ }, "HackerNews": { "__comment__": "First errMsg invalid, second errMsg rate limited. Not ideal. Adjust for better rate limit filtering.", - "errorMsg": [ - "No such user.", - "Sorry." - ], + "errorMsg": ["No such user.", "Sorry."], "errorType": "message", "url": "https://news.ycombinator.com/user?id={}", "urlMain": "https://news.ycombinator.com/", @@ -1152,10 +1146,10 @@ "username_claimed": "blue" }, "Ifunny": { - "errorType":"status_code", - "url":"https://ifunny.co/user/{}", - "urlMain":"https://ifunny.co/", - "username_claimed":"agua" + "errorType": "status_code", + "url": "https://ifunny.co/user/{}", + "urlMain": "https://ifunny.co/", + "username_claimed": "agua" }, "IRC-Galleria": { "errorType": "response_url", @@ -1498,14 +1492,13 @@ "urlMain": "https://www.motorradfrage.net/", "username_claimed": "gutefrage" }, - "MuseScore": { - "errorType": "status_code", - "url": "https://musescore.com/{}", - "urlMain": "https://musescore.com/", - "username_claimed": "arrangeme", - "request_method": "GET" - }, - + "MuseScore": { + "errorType": "status_code", + "url": "https://musescore.com/{}", + "urlMain": "https://musescore.com/", + "username_claimed": "arrangeme", + "request_method": "GET" + }, "MyAnimeList": { "errorType": "status_code", @@ -2188,17 +2181,16 @@ "urlProbe": "https://ch.tetr.io/api/users/{}", "username_claimed": "osk" }, - "TikTok": { - "url": "https://www.tiktok.com/@{}", - "urlMain": "https://www.tiktok.com", - "errorType": "message", - "errorMsg": ["\"statusCode\":10221","Govt. of India decided to block 59 apps"], - "username_claimed": "charlidamelio" + "url": "https://www.tiktok.com/@{}", + "urlMain": "https://www.tiktok.com", + "errorType": "message", + "errorMsg": [ + "\"statusCode\":10221", + "Govt. of India decided to block 59 apps" + ], + "username_claimed": "charlidamelio" }, - - - "Tiendanube": { "url": "https://{}.mitiendanube.com/", "urlMain": "https://www.tiendanube.com/", @@ -2391,9 +2383,7 @@ "username_claimed": "red" }, "Venmo": { - "errorMsg": [ - "Venmo | Page Not Found" - ], + "errorMsg": ["Venmo | Page Not Found"], "errorType": "message", "headers": { "Host": "account.venmo.com" @@ -2897,13 +2887,13 @@ "username_claimed": "blue" }, "Pinterest": { - "errorType": "status_code", - "errorUrl": "https://www.pinterest.com/", - "url": "https://www.pinterest.com/{}/", - "urlProbe": "https://www.pinterest.com/oembed.json?url=https://www.pinterest.com/{}/", - "urlMain": "https://www.pinterest.com/", - "username_claimed": "blue" -}, + "errorType": "status_code", + "errorUrl": "https://www.pinterest.com/", + "url": "https://www.pinterest.com/{}/", + "urlProbe": "https://www.pinterest.com/oembed.json?url=https://www.pinterest.com/{}/", + "urlMain": "https://www.pinterest.com/", + "username_claimed": "blue" + }, "pr0gramm": { "errorType": "status_code", "url": "https://pr0gramm.com/user/{}", From b9a72b55cae5d9cddd194c1375c0cbf468b61ee3 Mon Sep 17 00:00:00 2001 From: Fandroid745 Date: Sat, 11 Oct 2025 23:14:43 +0530 Subject: [PATCH 16/17] fix: use Unicode escape sequences for BabyRu error messages --- sherlock_project/resources/data.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sherlock_project/resources/data.json b/sherlock_project/resources/data.json index 93aaa9ca7..090b44b29 100644 --- a/sherlock_project/resources/data.json +++ b/sherlock_project/resources/data.json @@ -2985,14 +2985,15 @@ "username_claimed": "freddier", "request_method": "GET" }, - "BabyRu": { +"BabyRu": { "url": "https://www.baby.ru/u/{}", "urlMain": "https://www.baby.ru/", "errorType": "message", "errorMsg": [ - "Страница, которую вы искали, не найдена", - "Доступ с вашего IP-адреса временно ограничен" + "\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b \u0438\u0441\u043a\u0430\u043b\u0438, \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430", + "\u0414\u043e\u0441\u0442\u0443\u043f \u0441 \u0432\u0430\u0448\u0435\u0433\u043e IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d" ], + "regexCheck": "", "username_claimed": "example" - } - } + } + } \ No newline at end of file From 79973a58eae2d09a570602986fc5b35a166bf693 Mon Sep 17 00:00:00 2001 From: Matheus Felipe Date: Sat, 11 Oct 2025 15:21:36 -0300 Subject: [PATCH 17/17] Update file handling to include encoding and correct comments --- devel/site-list.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/devel/site-list.py b/devel/site-list.py index 4a3ecb6df..e0fd21d53 100644 --- a/devel/site-list.py +++ b/devel/site-list.py @@ -1,28 +1,29 @@ #!/usr/bin/env python # This module generates the listing of supported sites which can be found in -# sites.md. It also organizes all the sites in alphanumeric order +# sites.mdx. It also organizes all the sites in alphanumeric order import json import os - DATA_REL_URI: str = "sherlock_project/resources/data.json" +DEFAULT_ENCODING = "utf-8" + # Read the data.json file -with open(DATA_REL_URI, "r") as data_file: +with open(DATA_REL_URI, "r", encoding=DEFAULT_ENCODING) as data_file: data: dict = json.load(data_file) # Removes schema-specific keywords for proper processing -social_networks: dict = data.copy() +social_networks = data.copy() social_networks.pop('$schema', None) # Sort the social networks in alphanumeric order -social_networks: list = sorted(social_networks.items()) +social_networks = sorted(social_networks.items()) # Make output dir where the site list will be written os.mkdir("output") # Write the list of supported sites to sites.mdx -with open("output/sites.mdx", "w") as site_file: +with open("output/sites.mdx", "w", encoding=DEFAULT_ENCODING) as site_file: site_file.write("---\n") site_file.write("title: 'List of supported sites'\n") site_file.write("sidebarTitle: 'Supported sites'\n") @@ -36,7 +37,7 @@ site_file.write(f"1. [{social_network}]({url_main}) {is_nsfw}\n") # Overwrite the data.json file with sorted data -with open(DATA_REL_URI, "w") as data_file: +with open(DATA_REL_URI, "w", encoding=DEFAULT_ENCODING) as data_file: sorted_data = json.dumps(data, indent=2, sort_keys=True) data_file.write(sorted_data) data_file.write("\n") # Keep the newline after writing data