From ed73b175d758c29c846fe72a9c01b352092800d5 Mon Sep 17 00:00:00 2001 From: Siddharth Dushantha <27065646+sdushantha@users.noreply.github.com> Date: Sun, 12 Apr 2026 16:49:37 +0200 Subject: [PATCH 1/7] Use data.sherlockproject.xyz I've created data.sherlockproject.xyz so that it will be eaiser for people use Sherlock's data in other projects if needed. --- sherlock_project/sites.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sherlock_project/sites.py b/sherlock_project/sites.py index b7aaf4c5..3ca21cff 100644 --- a/sherlock_project/sites.py +++ b/sherlock_project/sites.py @@ -8,7 +8,7 @@ import requests import secrets -MANIFEST_URL = "https://raw.githubusercontent.com/sherlock-project/sherlock/master/sherlock_project/resources/data.json" +MANIFEST_URL = "https://data.sherlockproject.xyz" EXCLUSIONS_URL = "https://raw.githubusercontent.com/sherlock-project/sherlock/refs/heads/exclusions/false_positive_exclusions.txt" class SiteInformation: @@ -121,10 +121,6 @@ class SitesInformation: # users from creating issue about false positives which has already been fixed or having outdated data data_file_path = MANIFEST_URL - # Ensure that specified data file has correct extension. - if not data_file_path.lower().endswith(".json"): - raise FileNotFoundError(f"Incorrect JSON file extension for data file '{data_file_path}'.") - # if "http://" == data_file_path[:7].lower() or "https://" == data_file_path[:8].lower(): if data_file_path.lower().startswith("http"): # Reference is to a URL. From a68ea46fb4ab4200c8546e942c9d3dbbd5d125c2 Mon Sep 17 00:00:00 2001 From: Siddharth Dushantha <27065646+sdushantha@users.noreply.github.com> Date: Sun, 12 Apr 2026 16:54:42 +0200 Subject: [PATCH 2/7] Removed unesseary unnecessary returns --- sherlock_project/notify.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/sherlock_project/notify.py b/sherlock_project/notify.py index f6c785d6..31f4dd5e 100644 --- a/sherlock_project/notify.py +++ b/sherlock_project/notify.py @@ -37,7 +37,6 @@ class QueryNotify: self.result = result - # return def start(self, message=None): """Notify Start. @@ -56,7 +55,6 @@ class QueryNotify: Nothing. """ - # return def update(self, result): """Notify Update. @@ -75,7 +73,6 @@ class QueryNotify: self.result = result - # return def finish(self, message=None): """Notify Finish. @@ -94,7 +91,6 @@ class QueryNotify: Nothing. """ - # return def __str__(self): """Convert Object To String. @@ -137,7 +133,6 @@ class QueryNotifyPrint(QueryNotify): self.print_all = print_all self.browse = browse - return def start(self, message): """Notify Start. @@ -163,7 +158,6 @@ class QueryNotifyPrint(QueryNotify): # An empty line between first line and the result(more clear output) print('\r') - return def countResults(self): """This function counts the number of results. Every time the function is called, @@ -238,7 +232,7 @@ class QueryNotifyPrint(QueryNotify): Fore.WHITE + "]" + Fore.GREEN + f" {self.result.site_name}:" + Fore.YELLOW + f" {msg}") - + elif result.status == QueryStatus.WAF: if self.print_all: print(Style.BRIGHT + Fore.WHITE + "[" + @@ -254,7 +248,6 @@ class QueryNotifyPrint(QueryNotify): f"Unknown Query Status '{result.status}' for site '{self.result.site_name}'" ) - return def finish(self, message="The processing has been finished."): """Notify Start. From ed883ad7c88a7869076c1425401a379a511e7095 Mon Sep 17 00:00:00 2001 From: Siddharth Dushantha <27065646+sdushantha@users.noreply.github.com> Date: Sun, 12 Apr 2026 16:55:54 +0200 Subject: [PATCH 3/7] fix copy paste error --- sherlock_project/notify.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sherlock_project/notify.py b/sherlock_project/notify.py index 31f4dd5e..ab6f5a38 100644 --- a/sherlock_project/notify.py +++ b/sherlock_project/notify.py @@ -250,7 +250,7 @@ class QueryNotifyPrint(QueryNotify): def finish(self, message="The processing has been finished."): - """Notify Start. + """Notify Finish. Will print the last line to the standard output. Keyword Arguments: self -- This object. From dcb935337c6bea88dce5e9a33bab140ff9f3ba3d Mon Sep 17 00:00:00 2001 From: Siddharth Dushantha <27065646+sdushantha@users.noreply.github.com> Date: Sun, 12 Apr 2026 17:32:35 +0200 Subject: [PATCH 4/7] Remove --no-txt It was removed a long time ago but the argumenet still exists. --- sherlock_project/sherlock.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/sherlock_project/sherlock.py b/sherlock_project/sherlock.py index f78d4b8c..a284f47a 100644 --- a/sherlock_project/sherlock.py +++ b/sherlock_project/sherlock.py @@ -675,16 +675,6 @@ def main(): help="Include checking of NSFW sites from default list.", ) - # TODO deprecated in favor of --txt, retained for workflow compatibility, to be removed - # in future release - parser.add_argument( - "--no-txt", - action="store_true", - dest="no_txt", - default=False, - help="Disable creation of a txt file - WILL BE DEPRECATED", - ) - parser.add_argument( "--txt", action="store_true", From 173ae5b824fa93cd707810e03bb180fe7a3c1e12 Mon Sep 17 00:00:00 2001 From: Siddharth Dushantha <27065646+sdushantha@users.noreply.github.com> Date: Sun, 12 Apr 2026 17:35:14 +0200 Subject: [PATCH 5/7] Update usage --- docs/README.md | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/docs/README.md b/docs/README.md index dda36076..56167fd1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -51,51 +51,41 @@ Accounts found will be stored in an individual text file with the corresponding ```console $ sherlock --help -usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT] - [--output OUTPUT] [--tor] [--unique-tor] [--csv] [--xlsx] - [--site SITE_NAME] [--proxy PROXY_URL] [--json JSON_FILE] - [--timeout TIMEOUT] [--print-all] [--print-found] [--no-color] - [--browse] [--local] [--nsfw] +usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT] [--output OUTPUT] [--csv] [--xlsx] [--site SITE_NAME] [--proxy PROXY_URL] [--dump-response] + [--json JSON_FILE] [--timeout TIMEOUT] [--print-all] [--print-found] [--no-color] [--browse] [--local] [--nsfw] [--txt] [--ignore-exclusions] USERNAMES [USERNAMES ...] -Sherlock: Find Usernames Across Social Networks (Version 0.14.3) +Sherlock: Find Usernames Across Social Networks (Version 0.16.0) positional arguments: - USERNAMES One or more usernames to check with social networks. - Check similar usernames using {?} (replace to '_', '-', '.'). + USERNAMES One or more usernames to check with social networks. Check similar usernames using {?} (replace to '_', '-', '.'). -optional arguments: +options: -h, --help show this help message and exit --version Display version information and dependencies. --verbose, -v, -d, --debug Display extra debugging information and metrics. --folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT - If using multiple usernames, the output of the results will be - saved to this folder. + If using multiple usernames, the output of the results will be saved to this folder. --output OUTPUT, -o OUTPUT - If using single username, the output of the result will be saved - to this file. - --tor, -t Make requests over Tor; increases runtime; requires Tor to be - installed and in system path. - --unique-tor, -u Make requests over Tor with new Tor circuit after each request; - increases runtime; requires Tor to be installed and in system - path. + If using single username, the output of the result will be saved to this file. --csv Create Comma-Separated Values (CSV) File. - --xlsx Create the standard file for the modern Microsoft Excel - spreadsheet (xlsx). - --site SITE_NAME Limit analysis to just the listed sites. Add multiple options to - specify more than one site. + --xlsx Create the standard file for the modern Microsoft Excel spreadsheet (xlsx). + --site SITE_NAME Limit analysis to just the listed sites. Add multiple options to specify more than one site. --proxy PROXY_URL, -p PROXY_URL Make requests over a proxy. e.g. socks5://127.0.0.1:1080 + --dump-response Dump the HTTP response to stdout for targeted debugging. --json JSON_FILE, -j JSON_FILE - Load data from a JSON file or an online, valid, JSON file. + Load data from a JSON file or an online, valid, JSON file. Upstream PR numbers also accepted. --timeout TIMEOUT Time (in seconds) to wait for response to requests (Default: 60) --print-all Output sites where the username was not found. - --print-found Output sites where the username was found. + --print-found Output sites where the username was found (also if exported as file). --no-color Don't color terminal output --browse, -b Browse to all results on default browser. --local, -l Force the use of the local data.json file. --nsfw Include checking of NSFW sites from default list. + --txt Enable creation of a txt file + --ignore-exclusions Ignore upstream exclusions (may return more false positives) ``` ## Credits From e2a225697f63776bf6317fea48bd44dcb2edfda3 Mon Sep 17 00:00:00 2001 From: Siddharth Dushantha <27065646+sdushantha@users.noreply.github.com> Date: Sun, 12 Apr 2026 17:38:01 +0200 Subject: [PATCH 6/7] Fix missing punctuation --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 56167fd1..a0ef0951 100644 --- a/docs/README.md +++ b/docs/README.md @@ -33,7 +33,7 @@ Community-maintained packages are available for Debian (>= 13), Ubuntu (>= 22.10), Homebrew, Kali, and BlackArch. These packages are not directly supported or maintained by the Sherlock Project. -See all alternative installation methods [here](https://sherlockproject.xyz/installation) +See all alternative installation methods [here](https://sherlockproject.xyz/installation). ## General usage From eb79980c33922974b38abcba6fc9344331faa2f9 Mon Sep 17 00:00:00 2001 From: Siddharth Dushantha <27065646+sdushantha@users.noreply.github.com> Date: Sun, 12 Apr 2026 17:48:42 +0200 Subject: [PATCH 7/7] Remove unused line of code --- sherlock_project/sites.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sherlock_project/sites.py b/sherlock_project/sites.py index 3ca21cff..c42554ba 100644 --- a/sherlock_project/sites.py +++ b/sherlock_project/sites.py @@ -121,7 +121,6 @@ class SitesInformation: # users from creating issue about false positives which has already been fixed or having outdated data data_file_path = MANIFEST_URL - # if "http://" == data_file_path[:7].lower() or "https://" == data_file_path[:8].lower(): if data_file_path.lower().startswith("http"): # Reference is to a URL. try: