From 8fb0a525805b3ea91ded7c3b2216f5067ca9e771 Mon Sep 17 00:00:00 2001 From: Nicolas Germain Date: Fri, 27 Aug 2021 20:27:15 +0200 Subject: [PATCH 01/25] skyrock website added --- sherlock/resources/data.json | 9 ++++++++- sites.md | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 84135fe..36aeefc 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -2141,6 +2141,13 @@ "username_claimed": "red", "username_unclaimed": "noonewouldeverusethis7" }, + "skyrock": { + "errorType": "status_code", + "url": "https://{}.skyrock.com/", + "urlMain": "https://skyrock.com/", + "username_claimed": "red", + "username_unclaimed": "noonewouldeverusethis7" + }, "social.tchncs.de": { "errorType": "status_code", "url": "https://social.tchncs.de/@{}", @@ -2176,4 +2183,4 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" } -} \ No newline at end of file +} diff --git a/sites.md b/sites.md index 98e89f5..39c1028 100644 --- a/sites.md +++ b/sites.md @@ -1,4 +1,4 @@ -## List Of Supported Sites (287 Sites In Total!) +## List Of Supported Sites (288 Sites In Total!) 1. [2Dimensions](https://2Dimensions.com/) 1. [3dnews](http://forum.3dnews.ru/) 1. [7Cups](https://www.7cups.com/) @@ -169,6 +169,7 @@ 1. [Scribd](https://www.scribd.com/) 1. [ShitpostBot5000](https://www.shitpostbot.com/) 1. [Signal](https://community.signalusers.org) +1. [Skyrock](https://skyrock.com/) 1. [Slack](https://slack.com) 1. [Slashdot](https://slashdot.org) 1. [SlideShare](https://slideshare.net/) From 3681e2b4da71bd977dbcef4ff5f763708af7b0d7 Mon Sep 17 00:00:00 2001 From: mk00pl <83863599+mk00pl@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:12:03 +0200 Subject: [PATCH 02/25] added bezuzyteczna --- sherlock/resources/data.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 03a5405..dff9cce 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -151,7 +151,14 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, - "BinarySearch": { + "Bezuzyteczna": { + "errorType": "status_code", + "url": "https://bezuzyteczna.pl/uzytkownicy/{}", + "urlMain": "https://bezuzyteczna.pl", + "username_claimed": "Jackson", + "username_unclaimed": "ktobysietaknazwalnawb69" + }, +"BinarySearch": { "errorMsg": "{}", "errorType": "message", "regexCheck": "^[a-zA-Z0-9-_]{1,15}$", @@ -2155,4 +2162,4 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" } -} \ No newline at end of file +} From a28454ae2f23fa8d5ce1717d8dd2c724f4283004 Mon Sep 17 00:00:00 2001 From: dorp007 <77176615+dorp007@users.noreply.github.com> Date: Mon, 18 Oct 2021 18:11:28 +0300 Subject: [PATCH 03/25] Update to data.jason Added dangerousthings.com as a part of the list so that you are able to see if a "user" is interested in Biohacking. Just in case the forum is a tight community and very few people have interest in the site's offerings so I think it's a good thing to know about your target in an OSINT investigation of some sort. --- sherlock/resources/data.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 03a5405..3668b4d 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -2155,4 +2155,11 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" } -} \ No newline at end of file +}, + "BioHacking": { + "errorType": "status_code", + "url": "https://forum.dangerousthings.com/u/{}", + "urlMain": "https://forum.dangerousthings.com/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, From 312fe0c3102cf640fa563fc4321457bdafc9d589 Mon Sep 17 00:00:00 2001 From: mk00pl <83863599+mk00pl@users.noreply.github.com> Date: Thu, 21 Oct 2021 17:21:26 +0200 Subject: [PATCH 04/25] added znanylekarz.pl --- sherlock/resources/data.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index dff9cce..dd7ca54 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -2155,6 +2155,13 @@ "username_claimed": "adam", "username_unclaimed": "noonewouldeverusethis7" }, + "znanylekarz.pl": { + "errorType": "status_code", + "url": "https://www.znanylekarz.pl/{}", + "urlMain": "https://znanylekarz.pl", + "username_claimed": "janusz-nowak", + "username_unclaimed": "kto-by-sie-tak-nazwal-69" + }, "uid": { "errorType": "status_code", "url": "http://uid.me/{}", From f4673cc13c276ef288300ab3753cc96c8f53faa0 Mon Sep 17 00:00:00 2001 From: benni347 Date: Mon, 31 Jan 2022 11:06:29 +0100 Subject: [PATCH 05/25] Refractored sites.py, sherlock.py and notify.py. --- sherlock/notify.py | 59 ++++++++++++++--------------- sherlock/sherlock.py | 79 +++++++++++++++++--------------------- sherlock/sites.py | 90 ++++++++++++++++++++++---------------------- site_list.py | 3 +- 4 files changed, 110 insertions(+), 121 deletions(-) diff --git a/sherlock/notify.py b/sherlock/notify.py index e3e4abb..79dc9b0 100644 --- a/sherlock/notify.py +++ b/sherlock/notify.py @@ -7,7 +7,7 @@ from result import QueryStatus from colorama import Fore, Style, init -class QueryNotify(): +class QueryNotify: """Query Notify Object. Base class that describes methods available to notify the results of @@ -15,6 +15,7 @@ class QueryNotify(): It is intended that other classes inherit from this base class and override the methods to implement specific functionality. """ + def __init__(self, result=None): """Create Query Notify Object. @@ -32,7 +33,7 @@ class QueryNotify(): self.result = result - return + # return def start(self, message=None): """Notify Start. @@ -51,7 +52,7 @@ class QueryNotify(): Nothing. """ - return + # return def update(self, result): """Notify Update. @@ -70,7 +71,7 @@ class QueryNotify(): self.result = result - return + # return def finish(self, message=None): """Notify Finish. @@ -89,7 +90,7 @@ class QueryNotify(): Nothing. """ - return + # return def __str__(self): """Convert Object To String. @@ -100,9 +101,7 @@ class QueryNotify(): Return Value: Nicely formatted string to get information about this object. """ - result = str(self.result) - - return result + return str(self.result) class QueryNotifyPrint(QueryNotify): @@ -110,6 +109,7 @@ class QueryNotifyPrint(QueryNotify): Query notify class that prints results. """ + def __init__(self, result=None, verbose=False, color=True, print_all=False): """Create Query Notify Print Object. @@ -155,14 +155,14 @@ class QueryNotifyPrint(QueryNotify): title = "Checking username" if self.color: print(Style.BRIGHT + Fore.GREEN + "[" + - Fore.YELLOW + "*" + - Fore.GREEN + f"] {title}" + - Fore.WHITE + f" {message}" + - Fore.GREEN + " on:") + Fore.YELLOW + "*" + + Fore.GREEN + f"] {title}" + + Fore.WHITE + f" {message}" + + Fore.GREEN + " on:") else: print(f"[*] {title} {message} on:") - return + # return def update(self, result): """Notify Update. @@ -179,7 +179,7 @@ class QueryNotifyPrint(QueryNotify): """ self.result = result - if self.verbose == False or self.result.query_time is None: + if self.verbose is False or self.result.query_time is None: response_time_text = "" else: response_time_text = f" [{round(self.result.query_time * 1000)} ms]" @@ -202,23 +202,23 @@ class QueryNotifyPrint(QueryNotify): if self.print_all: if self.color: print((Style.BRIGHT + Fore.WHITE + "[" + - Fore.RED + "-" + - Fore.WHITE + "]" + - response_time_text + - Fore.GREEN + f" {self.result.site_name}:" + - Fore.YELLOW + " Not Found!")) + Fore.RED + "-" + + Fore.WHITE + "]" + + response_time_text + + Fore.GREEN + f" {self.result.site_name}:" + + Fore.YELLOW + " Not Found!")) else: print(f"[-]{response_time_text} {self.result.site_name}: Not Found!") elif result.status == QueryStatus.UNKNOWN: if self.print_all: if self.color: - print(Style.BRIGHT + Fore.WHITE + "[" + - Fore.RED + "-" + - Fore.WHITE + "]" + - Fore.GREEN + f" {self.result.site_name}:" + - Fore.RED + f" {self.result.context}" + - Fore.YELLOW + f" ") + print((Style.BRIGHT + Fore.WHITE + "[" + + Fore.RED + "-" + + Fore.WHITE + "]" + + Fore.GREEN + f" {self.result.site_name}:" + + Fore.RED + f" {self.result.context}" + + Fore.YELLOW + ' ')) else: print(f"[-] {self.result.site_name}: {self.result.context} ") @@ -236,8 +236,9 @@ class QueryNotifyPrint(QueryNotify): else: # It should be impossible to ever get here... - raise ValueError(f"Unknown Query Status '{str(result.status)}' for " - f"site '{self.result.site_name}'") + raise ValueError( + f"Unknown Query Status '{result.status}' for site '{self.result.site_name}'" + ) return @@ -250,6 +251,4 @@ class QueryNotifyPrint(QueryNotify): Return Value: Nicely formatted string to get information about this object. """ - result = str(self.result) - - return result + return str(self.result) diff --git a/sherlock/sherlock.py b/sherlock/sherlock.py index e29a56a..57ca80c 100644 --- a/sherlock/sherlock.py +++ b/sherlock/sherlock.py @@ -22,16 +22,14 @@ from torrequest import TorRequest from result import QueryStatus from result import QueryResult from notify import QueryNotifyPrint -from sites import SitesInformation +from sites import SitesInformation module_name = "Sherlock: Find Usernames Across Social Networks" __version__ = "0.14.0" - - class SherlockFuturesSession(FuturesSession): - def request(self, method, url, hooks={}, *args, **kwargs): + def request(self, method, url, hooks=None, *args, **kwargs): """Request URL. This extends the FuturesSession request method to calculate a response @@ -53,6 +51,8 @@ class SherlockFuturesSession(FuturesSession): Request object. """ # Record the start time for the request. + if hooks is None: + hooks = {} start = monotonic() def response_time(resp, *args, **kwargs): @@ -95,12 +95,11 @@ class SherlockFuturesSession(FuturesSession): def get_response(request_future, error_type, social_network): - # Default for Response object if some failure occurs. response = None error_context = "General Unknown Error" - expection_text = None + exception_text = None try: response = request_future.result() if response.status_code: @@ -108,21 +107,21 @@ def get_response(request_future, error_type, social_network): error_context = None except requests.exceptions.HTTPError as errh: error_context = "HTTP Error" - expection_text = str(errh) + exception_text = str(errh) except requests.exceptions.ProxyError as errp: error_context = "Proxy Error" - expection_text = str(errp) + exception_text = str(errp) except requests.exceptions.ConnectionError as errc: error_context = "Error Connecting" - expection_text = str(errc) + exception_text = str(errc) except requests.exceptions.Timeout as errt: error_context = "Timeout Error" - expection_text = str(errt) + exception_text = str(errt) except requests.exceptions.RequestException as err: error_context = "Unknown Error" - expection_text = str(err) + exception_text = str(err) - return response, error_context, expection_text + return response, error_context, exception_text def interpolate_string(object, username): @@ -190,15 +189,14 @@ def sherlock(username, site_data, query_notify, # Limit number of workers to 20. # This is probably vastly overkill. if len(site_data) >= 20: - max_workers=20 + max_workers = 20 else: - max_workers=len(site_data) + max_workers = len(site_data) # Create multi-threaded session for all requests. session = SherlockFuturesSession(max_workers=max_workers, session=underlying_session) - # Results from analysis of all sites results_total = {} @@ -206,10 +204,9 @@ def sherlock(username, site_data, query_notify, for social_network, net_info in site_data.items(): # Results from analysis of this specific site - results_site = {} + results_site = {"url_main": net_info.get("urlMain")} # Record URL of main site - results_site["url_main"] = net_info.get("urlMain") # A user agent is needed because some sites don't return the correct # information since they think that we are bots (Which we actually are...) @@ -227,7 +224,7 @@ def sherlock(username, site_data, query_notify, # Don't make request if username is invalid for the site regex_check = net_info.get("regexCheck") if regex_check and re.search(regex_check, username) is None: - # No need to do the check at the site: this user name is not allowed. + # No need to do the check at the site: this username is not allowed. results_site["status"] = QueryResult(username, social_network, url, @@ -254,7 +251,7 @@ def sherlock(username, site_data, query_notify, elif request_method == "PUT": request = session.put else: - raise RuntimeError( f"Unsupported request_method for {url}") + raise RuntimeError(f"Unsupported request_method for {url}") if request_payload is not None: request_payload = interpolate_string(request_payload, username) @@ -300,10 +297,10 @@ def sherlock(username, site_data, query_notify, ) else: future = request(url=url_probe, headers=headers, - allow_redirects=allow_redirects, - timeout=timeout, - json=request_payload - ) + allow_redirects=allow_redirects, + timeout=timeout, + json=request_payload + ) # Store future in data for access later net_info["request_future"] = future @@ -312,7 +309,7 @@ def sherlock(username, site_data, query_notify, if unique_tor: underlying_request.reset_identity() - # Add this site's results into final dictionary with all of the other results. + # Add this site's results into final dictionary with all the other results. results_total[social_network] = results_site # Open the file containing account links @@ -334,7 +331,7 @@ def sherlock(username, site_data, query_notify, # Retrieve future and ensure it has finished future = net_info["request_future"] - r, error_text, expection_text = get_response(request_future=future, + r, error_text, exception_text = get_response(request_future=future, error_type=error_type, social_network=social_network) @@ -365,13 +362,13 @@ def sherlock(username, site_data, query_notify, # error_flag True denotes no error found in the HTML # error_flag False denotes error found in the HTML error_flag = True - errors=net_info.get("errorMsg") + errors = net_info.get("errorMsg") # errors will hold the error message # it can be string or list - # by insinstance method we can detect that + # by isinstance method we can detect that # and handle the case for strings as normal procedure # and if its list we can iterate the errors - if isinstance(errors,str): + if isinstance(errors, str): # Checks if the error message is in the HTML # if error is present we will set flag to False if errors in r.text: @@ -431,7 +428,6 @@ def sherlock(username, site_data, query_notify, raise ValueError(f"Unknown Error Type '{error_type}' for " f"site '{social_network}'") - # Notify caller about results of query. query_notify.update(result) @@ -477,8 +473,7 @@ def timeout_check(value): def main(): - - version_string = f"%(prog)s {__version__}\n" + \ + version_string = f"%(prog)s {__version__}\n" + \ f"{requests.__description__}: {requests.__version__}\n" + \ f"Python: {platform.python_version()}" @@ -486,11 +481,11 @@ def main(): description=f"{module_name} (Version {__version__})" ) parser.add_argument("--version", - action="version", version=version_string, + action="version", version=version_string, help="Display version information and dependencies." ) parser.add_argument("--verbose", "-v", "-d", "--debug", - action="store_true", dest="verbose", default=False, + action="store_true", dest="verbose", default=False, help="Display extra debugging information and metrics." ) parser.add_argument("--folderoutput", "-fo", dest="folderoutput", @@ -506,7 +501,7 @@ def main(): action="store_true", dest="unique_tor", default=False, help="Make requests over Tor with new Tor circuit after each request; increases runtime; requires Tor to be installed and in system path.") parser.add_argument("--csv", - action="store_true", dest="csv", default=False, + action="store_true", dest="csv", default=False, help="Create Comma-Separated Values (CSV) File." ) parser.add_argument("--site", @@ -528,15 +523,15 @@ def main(): "Default timeout is infinity. " "A longer timeout will be more likely to get results from slow sites. " "On the other hand, this may cause a long delay to gather all results." - ) + ) parser.add_argument("--print-all", action="store_true", dest="print_all", help="Output sites where the username was not found." - ) + ) parser.add_argument("--print-found", action="store_false", dest="print_all", default=False, help="Output sites where the username was found." - ) + ) parser.add_argument("--no-color", action="store_true", dest="no_color", default=False, help="Don't color terminal output" @@ -570,7 +565,6 @@ def main(): except Exception as error: print(f"A problem occurred while checking for an update: {error}") - # Argument check # TODO regex check on args.proxy if args.tor and (args.proxy is not None): @@ -582,7 +576,8 @@ def main(): if args.tor or args.unique_tor: print("Using Tor to make requests") - print("Warning: some websites might refuse connecting over Tor, so note that using this option might increase connection errors.") + print( + "Warning: some websites might refuse connecting over Tor, so note that using this option might increase connection errors.") # Check if both output methods are entered as input. if args.output is not None and args.folderoutput is not None: @@ -594,7 +589,6 @@ def main(): print("You can only use --output with a single username") sys.exit(1) - # Create object with all information about sites we are aware of. try: if args.local: @@ -608,10 +602,7 @@ def main(): # Create original dictionary from SitesInformation() object. # Eventually, the rest of the code will be updated to use the new object # directly, but this will glue the two pieces together. - site_data_all = {} - for site in sites: - site_data_all[site.name] = site.information - + site_data_all = {site.name: site.information for site in sites} if args.site_list is None: # Not desired to look at a sub-set of sites site_data = site_data_all diff --git a/sherlock/sites.py b/sherlock/sites.py index de8eeec..c706110 100644 --- a/sherlock/sites.py +++ b/sherlock/sites.py @@ -1,21 +1,18 @@ """Sherlock Sites Information Module -This module supports storing information about web sites. +This module supports storing information about websites. This is the raw data that will be used to search for usernames. """ -import os import json -import operator import requests -import sys -class SiteInformation(): +class SiteInformation: def __init__(self, name, url_home, url_username_format, username_claimed, username_unclaimed, information): """Create Site Information Object. - Contains information about a specific web site. + Contains information about a specific website. Keyword Arguments: self -- This object. @@ -30,13 +27,13 @@ class SiteInformation(): indicates that the individual usernames would show up under the "https://somesite.com/users/" area of - the web site. + the website. username_claimed -- String containing username which is known - to be claimed on web site. + to be claimed on website. username_unclaimed -- String containing username which is known - to be unclaimed on web site. + to be unclaimed on website. information -- Dictionary containing all known information - about web site. + about website. NOTE: Custom information about how to actually detect the existence of the username will be included in this @@ -49,13 +46,13 @@ class SiteInformation(): Nothing. """ - self.name = name - self.url_home = url_home + self.name = name + self.url_home = url_home self.url_username_format = url_username_format - self.username_claimed = username_claimed - self.username_unclaimed = username_unclaimed - self.information = information + self.username_claimed = username_claimed + self.username_unclaimed = username_unclaimed + self.information = information return @@ -72,11 +69,11 @@ class SiteInformation(): return f"{self.name} ({self.url_home})" -class SitesInformation(): +class SitesInformation: def __init__(self, data_file_path=None): """Create Sites Information Object. - Contains information about all supported web sites. + Contains information about all supported websites. Keyword Arguments: self -- This object. @@ -109,7 +106,7 @@ class SitesInformation(): if data_file_path is None: # The default data file is the live data.json which is in the GitHub repo. The reason why we are using - # this instead of the local one is so that the user has the most up to date data. This prevents + # this instead of the local one is so that the user has the most up-to-date data. This prevents # users from creating issue about false positives which has already been fixed or having outdated data data_file_path = "https://raw.githubusercontent.com/sherlock-project/sherlock/master/sherlock/resources/data.json" @@ -117,26 +114,29 @@ class SitesInformation(): 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[:7].lower() == "http://" + or data_file_path[:8].lower() == "https://" + ): # Reference is to a URL. try: response = requests.get(url=data_file_path) except Exception as error: - raise FileNotFoundError(f"Problem while attempting to access " - f"data file URL '{data_file_path}': " - f"{str(error)}" - ) - if response.status_code == 200: - try: - site_data = response.json() - except Exception as error: - raise ValueError(f"Problem parsing json contents at " - f"'{data_file_path}': {str(error)}." - ) - else: + raise FileNotFoundError( + f"Problem while attempting to access data file URL '{data_file_path}': {error}" + ) + + if response.status_code != 200: raise FileNotFoundError(f"Bad response while accessing " f"data file URL '{data_file_path}'." - ) + ) + try: + site_data = response.json() + except Exception as error: + raise ValueError( + f"Problem parsing json contents at '{data_file_path}': {error}." + ) + else: # Reference is to a file. try: @@ -144,17 +144,18 @@ class SitesInformation(): try: site_data = json.load(file) except Exception as error: - raise ValueError(f"Problem parsing json contents at " - f"'{data_file_path}': {str(error)}." - ) - except FileNotFoundError as error: + raise ValueError( + f"Problem parsing json contents at '{data_file_path}': {error}." + ) + + except FileNotFoundError: raise FileNotFoundError(f"Problem while attempting to access " f"data file '{data_file_path}'." - ) + ) self.sites = {} - # Add all of site information from the json file to internal site list. + # Add all site information from the json file to internal site list. for site_name in site_data: try: @@ -165,12 +166,11 @@ class SitesInformation(): site_data[site_name]["username_claimed"], site_data[site_name]["username_unclaimed"], site_data[site_name] - ) + ) except KeyError as error: - raise ValueError(f"Problem parsing json contents at " - f"'{data_file_path}': " - f"Missing attribute {str(error)}." - ) + raise ValueError( + f"Problem parsing json contents at '{data_file_path}': Missing attribute {error}." + ) return @@ -184,9 +184,7 @@ class SitesInformation(): List of strings containing names of sites. """ - site_names = sorted([site.name for site in self], key=str.lower) - - return site_names + return sorted([site.name for site in self], key=str.lower) def __iter__(self): """Iterator For Object. diff --git a/site_list.py b/site_list.py index 339f729..7ba267a 100644 --- a/site_list.py +++ b/site_list.py @@ -3,9 +3,10 @@ This module generates the listing of supported sites which can be found in sites.md It also organizes all the sites in alphanumeric order """ + import json -pool = list() +pool = [] with open("sherlock/resources/data.json", "r", encoding="utf-8") as data_file: data = json.load(data_file) From d77a0fb63e0f21ee6f3e5bf0f70a1e429afc1775 Mon Sep 17 00:00:00 2001 From: Nikodem Domaracki <56053287+Nikkoro@users.noreply.github.com> Date: Wed, 2 Feb 2022 23:36:46 +0100 Subject: [PATCH 06/25] Added site to data.json --- sherlock/resources/data.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 763b198..c8d1599 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -1994,6 +1994,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Wykop": { + "errorType": "status_code", + "url": "https://www.wykop.pl/ludzie/{}", + "urlMain": "https://www.wykop.pl", + "username_claimed": "blue", + "username_unclaimed": "bumpewastaken" + }, "Xbox Gamertag": { "errorType": "status_code", "url": "https://xboxgamertag.com/search/{}", From 4251b00ff83735331c901d05e107242fb2c336d2 Mon Sep 17 00:00:00 2001 From: kustermariocoding Date: Fri, 25 Feb 2022 11:01:35 +0100 Subject: [PATCH 07/25] fixed false-positives for Smule - switched errorType to message --- sherlock/resources/data.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index e2fd6a4..9c77fdf 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -1558,7 +1558,8 @@ "username_unclaimed": "noonewouldeverusethis7" }, "Smule": { - "errorType": "status_code", + "errorType": "message", + "errorMsg": "Smule | Page Not Found (404)", "url": "https://www.smule.com/{}", "urlMain": "https://www.smule.com/", "username_claimed": "blue", From eeda6645d7f7a2662f4b1b7d28be7c47eea09ae3 Mon Sep 17 00:00:00 2001 From: kustermariocoding Date: Fri, 25 Feb 2022 11:19:59 +0100 Subject: [PATCH 08/25] fixed errorMsg for Gumroad --- sherlock/resources/data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 9c77fdf..8505bd2 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -787,8 +787,8 @@ "username_unclaimed": "noonewouldeverusethis7" }, "Gumroad": { - "errorMsg": "Page not found.", "errorType": "message", + "errorMsg": "Page not found (404) - Gumroad", "url": "https://www.gumroad.com/{}", "urlMain": "https://www.gumroad.com/", "username_claimed": "blue", From a18d7c79124d614fc427d501854e20eb19aa1e4d Mon Sep 17 00:00:00 2001 From: craciu25yt <48807342+craciu25yt@users.noreply.github.com> Date: Fri, 11 Mar 2022 22:16:35 +1000 Subject: [PATCH 09/25] Update data.json --- sherlock/resources/data.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 6808e24..273551e 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -1358,6 +1358,14 @@ "username_claimed": "swiftstickler", "username_unclaimed": "noonewouldeverusethis7" }, + "Polymart": { + "errorMsg": "Looks like we couldn't find this user. Sorry!", + "errorType": "message", + "url": "https://polymart.org/user/{}", + "urlMain": "https://polymart.org/", + "username_claimed": "craciu25yt", + "username_unclaimed": "noonewouldeverusethis7" + }, "Pornhub": { "errorType": "status_code", "url": "https://pornhub.com/users/{}", From f4da365bb415b46f415d842fa074593417ada73f Mon Sep 17 00:00:00 2001 From: Athar Wani <83573286+WaniAthar@users.noreply.github.com> Date: Tue, 22 Mar 2022 16:12:00 +0530 Subject: [PATCH 10/25] Updated sites.json added a new social media website "clubhouse" --- sherlock/resources/data.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 6808e24..d54cc9c 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -926,6 +926,14 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Clubhouse":{ + "errorMsg":"Nothing found!", + "errorType":"message", + "url":"https://www.clubhouse.com/@{}", + "urlMain":"https://www.clubhouse.com", + "username_claimed":"waniathar", + "username_unclaimed":"noonewouldeverusethis7" + }, "Instructables": { "errorType": "status_code", "url": "https://www.instructables.com/member/{}", From 780395c030ceaace8ea6ba679811530e737985bb Mon Sep 17 00:00:00 2001 From: aristotelis gkithkopoulos Date: Wed, 23 Mar 2022 22:40:00 +0200 Subject: [PATCH 11/25] Small output changes --- sherlock/__init__.py | 3 ++- sherlock/notify.py | 27 +++++++++++++++++++++++++++ sherlock/sites.py | 2 +- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/sherlock/__init__.py b/sherlock/__init__.py index b0894c8..219dcae 100644 --- a/sherlock/__init__.py +++ b/sherlock/__init__.py @@ -1,5 +1,6 @@ -"""Sherlock Module +""" Sherlock Module This module contains the main logic to search for usernames at social networks. + """ diff --git a/sherlock/notify.py b/sherlock/notify.py index 90ed681..e684ec7 100644 --- a/sherlock/notify.py +++ b/sherlock/notify.py @@ -155,6 +155,33 @@ class QueryNotifyPrint(QueryNotify): Fore.GREEN + f"] {title}" + Fore.WHITE + f" {message}" + Fore.GREEN + " on:") + # An empty line between first line and the result(more clear output) + print('\r') + + return + + def finish(self, message="Results have been uploaded"): + """Notify Start. + + Will print the last line to the standard output. + + Keyword Arguments: + self -- This object. + message -- The last phrase. + + Return Value: + Nothing. + """ + + title = "Finish" + print('\r') # An empty line between last line of main output and last line(more clear output) + print(Style.BRIGHT + Fore.GREEN + "[" + + Fore.YELLOW + "!" + + Fore.GREEN + f"] {title}" + + Fore.GREEN + ": " + + Fore.WHITE + f" {message}" ) + + # An empty line between first line and the result(more clear output) return diff --git a/sherlock/sites.py b/sherlock/sites.py index de8eeec..75089d4 100644 --- a/sherlock/sites.py +++ b/sherlock/sites.py @@ -68,7 +68,7 @@ class SiteInformation(): Return Value: Nicely formatted string to get information about this object. """ - + return f"{self.name} ({self.url_home})" From ee77a9ec90cbff167dc52c5b6c4068c2da7f466a Mon Sep 17 00:00:00 2001 From: aristotelis gkithkopoulos Date: Wed, 23 Mar 2022 23:22:01 +0200 Subject: [PATCH 12/25] Small output changes --- sherlock/__main__.py | 3 ++- sherlock/sherlock.py | 51 ++++++++++++++++++++++---------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/sherlock/__main__.py b/sherlock/__main__.py index 91140be..c66a533 100644 --- a/sherlock/__main__.py +++ b/sherlock/__main__.py @@ -20,7 +20,8 @@ if __name__ == "__main__": major = sys.version_info[0] minor = sys.version_info[1] - python_version = str(sys.version_info[0])+"."+str(sys.version_info[1])+"."+str(sys.version_info[2]) + python_version = str( + sys.version_info[0])+"."+str(sys.version_info[1])+"."+str(sys.version_info[2]) if major != 3 or major == 3 and minor < 6: print("Sherlock requires Python 3.6+\nYou are using Python %s, which is not supported by Sherlock" % (python_version)) diff --git a/sherlock/sherlock.py b/sherlock/sherlock.py index 495e593..2641724 100644 --- a/sherlock/sherlock.py +++ b/sherlock/sherlock.py @@ -22,15 +22,13 @@ from torrequest import TorRequest from result import QueryStatus from result import QueryResult from notify import QueryNotifyPrint -from sites import SitesInformation +from sites import SitesInformation from colorama import init module_name = "Sherlock: Find Usernames Across Social Networks" __version__ = "0.14.0" - - class SherlockFuturesSession(FuturesSession): def request(self, method, url, hooks={}, *args, **kwargs): """Request URL. @@ -191,15 +189,14 @@ def sherlock(username, site_data, query_notify, # Limit number of workers to 20. # This is probably vastly overkill. if len(site_data) >= 20: - max_workers=20 + max_workers = 20 else: - max_workers=len(site_data) + max_workers = len(site_data) # Create multi-threaded session for all requests. session = SherlockFuturesSession(max_workers=max_workers, session=underlying_session) - # Results from analysis of all sites results_total = {} @@ -255,7 +252,7 @@ def sherlock(username, site_data, query_notify, elif request_method == "PUT": request = session.put else: - raise RuntimeError( f"Unsupported request_method for {url}") + raise RuntimeError(f"Unsupported request_method for {url}") if request_payload is not None: request_payload = interpolate_string(request_payload, username) @@ -301,10 +298,10 @@ def sherlock(username, site_data, query_notify, ) else: future = request(url=url_probe, headers=headers, - allow_redirects=allow_redirects, - timeout=timeout, - json=request_payload - ) + allow_redirects=allow_redirects, + timeout=timeout, + json=request_payload + ) # Store future in data for access later net_info["request_future"] = future @@ -367,13 +364,13 @@ def sherlock(username, site_data, query_notify, # error_flag True denotes no error found in the HTML # error_flag False denotes error found in the HTML error_flag = True - errors=net_info.get("errorMsg") + errors = net_info.get("errorMsg") # errors will hold the error message # it can be string or list # by insinstance method we can detect that # and handle the case for strings as normal procedure # and if its list we can iterate the errors - if isinstance(errors,str): + if isinstance(errors, str): # Checks if the error message is in the HTML # if error is present we will set flag to False if errors in r.text: @@ -440,7 +437,6 @@ def sherlock(username, site_data, query_notify, raise ValueError(f"Unknown Error Type '{error_type}' for " f"site '{social_network}'") - # Notify caller about results of query. query_notify.update(result) @@ -481,7 +477,8 @@ def timeout_check(value): except: raise ArgumentTypeError(f"Timeout '{value}' must be a number.") if timeout <= 0: - raise ArgumentTypeError(f"Timeout '{value}' must be greater than 0.0s.") + raise ArgumentTypeError( + f"Timeout '{value}' must be greater than 0.0s.") return timeout @@ -537,15 +534,15 @@ def main(): "Default timeout is infinity. " "A longer timeout will be more likely to get results from slow sites. " "On the other hand, this may cause a long delay to gather all results." - ) + ) parser.add_argument("--print-all", action="store_true", dest="print_all", help="Output sites where the username was not found." - ) + ) parser.add_argument("--print-found", action="store_false", dest="print_all", default=False, help="Output sites where the username was found." - ) + ) parser.add_argument("--no-color", action="store_true", dest="no_color", default=False, help="Don't color terminal output" @@ -567,7 +564,8 @@ def main(): # Check for newer version of Sherlock. If it exists, let the user know about it try: - r = requests.get("https://raw.githubusercontent.com/sherlock-project/sherlock/master/sherlock/sherlock.py") + r = requests.get( + "https://raw.githubusercontent.com/sherlock-project/sherlock/master/sherlock/sherlock.py") remote_version = str(re.findall('__version__ = "(.*)"', r.text)[0]) local_version = __version__ @@ -579,7 +577,6 @@ def main(): except Exception as error: print(f"A problem occurred while checking for an update: {error}") - # Argument check # TODO regex check on args.proxy if args.tor and (args.proxy is not None): @@ -592,14 +589,14 @@ def main(): if args.tor or args.unique_tor: print("Using Tor to make requests") print("Warning: some websites might refuse connecting over Tor, so note that using this option might increase connection errors.") - + if args.no_color: # Disable color output. init(strip=True, convert=False) else: # Enable color output. init(autoreset=True) - + # Check if both output methods are entered as input. if args.output is not None and args.folderoutput is not None: print("You can only use one of the output methods.") @@ -610,11 +607,11 @@ def main(): print("You can only use --output with a single username") sys.exit(1) - # Create object with all information about sites we are aware of. try: if args.local: - sites = SitesInformation(os.path.join(os.path.dirname(__file__), "resources/data.json")) + sites = SitesInformation(os.path.join( + os.path.dirname(__file__), "resources/data.json")) else: sites = SitesInformation(args.json_file) except Exception as error: @@ -648,7 +645,8 @@ def main(): site_missing.append(f"'{site}'") if site_missing: - print(f"Error: Desired sites not found: {', '.join(site_missing)}.") + print( + f"Error: Desired sites not found: {', '.join(site_missing)}.") if not site_data: sys.exit(1) @@ -685,7 +683,8 @@ def main(): if dictionary.get("status").status == QueryStatus.CLAIMED: exists_counter += 1 file.write(dictionary["url_user"] + "\n") - file.write(f"Total Websites Username Detected On : {exists_counter}\n") + file.write( + f"Total Websites Username Detected On : {exists_counter}\n") if args.csv: result_file = f"{username}.csv" From 9c979b787115ad020c0f753a503de409b2cc1bf5 Mon Sep 17 00:00:00 2001 From: Taha Alikhani <31014328+Taha-Alikhani@users.noreply.github.com> Date: Fri, 25 Mar 2022 16:11:38 +0430 Subject: [PATCH 13/25] Added site: codeforces Added https://www.codeforces.com/ using response_URL method --- sherlock/resources/data.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 6808e24..a082cc0 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -379,6 +379,14 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Codeforces": { + "errorType": "response_url", + "errorUrl": "https://codeforces.com/", + "url": "https://codeforces.com/profile/{}", + "urlMain": "https://www.codeforces.com/", + "username_claimed": "tourist", + "username_unclaimed": "noonewouldeverusethis789" + }, "Codepen": { "errorType": "status_code", "url": "https://codepen.io/{}", From d5f31037ec6bebae6588768d2d3cc7f751495dde Mon Sep 17 00:00:00 2001 From: aristotelis gkithkopoulos Date: Sun, 27 Mar 2022 15:36:40 +0300 Subject: [PATCH 14/25] Change final outputsentence --- sherlock/notify.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sherlock/notify.py b/sherlock/notify.py index e684ec7..0d023d5 100644 --- a/sherlock/notify.py +++ b/sherlock/notify.py @@ -160,7 +160,7 @@ class QueryNotifyPrint(QueryNotify): return - def finish(self, message="Results have been uploaded"): + def finish(self, message="The processing has been finished."): """Notify Start. Will print the last line to the standard output. @@ -173,7 +173,7 @@ class QueryNotifyPrint(QueryNotify): Nothing. """ - title = "Finish" + title = "End" print('\r') # An empty line between last line of main output and last line(more clear output) print(Style.BRIGHT + Fore.GREEN + "[" + Fore.YELLOW + "!" + From d4368a695d1d3dcbddf076051de3d465cbfb1b12 Mon Sep 17 00:00:00 2001 From: aristotelis gkithkopoulos Date: Sun, 27 Mar 2022 15:40:45 +0300 Subject: [PATCH 15/25] Change final output sentence --- sherlock/notify.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sherlock/notify.py b/sherlock/notify.py index 0d023d5..70b301a 100644 --- a/sherlock/notify.py +++ b/sherlock/notify.py @@ -174,6 +174,7 @@ class QueryNotifyPrint(QueryNotify): """ title = "End" + print('\r') # An empty line between last line of main output and last line(more clear output) print(Style.BRIGHT + Fore.GREEN + "[" + Fore.YELLOW + "!" + From 04fa3bca285c0415d7ca2c022de2dad3459258ee Mon Sep 17 00:00:00 2001 From: akashhansda <99724223+akashhansda@users.noreply.github.com> Date: Sun, 27 Mar 2022 20:32:57 -0700 Subject: [PATCH 16/25] Update README.md Remove extra line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c6fc11f..57068d3 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,6 @@ Here are some things we would appreciate your help on: - Addition of new site support ¹ - Bringing back site support of [sites that have been removed](removed_sites.md) in the past due to false positives - [1] Please look at the Wiki entry on [adding new sites](https://github.com/sherlock-project/sherlock/wiki/Adding-Sites-To-Sherlock) to understand the issues. From 04ace466fc4ed6dd469b3f49df13676b7e6f87ed Mon Sep 17 00:00:00 2001 From: Matej Plavevski Date: Wed, 30 Mar 2022 22:50:37 +0200 Subject: [PATCH 17/25] Add LessWrong --- sherlock/resources/data.json | 7 +++++++ sites.md | 1 + 2 files changed, 8 insertions(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 6808e24..d48c5e4 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -1025,6 +1025,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "LessWrong": { + "errorType": "status_code", + "url": "https://www.lesswrong.com/users/@{}", + "urlMain": "https://www.lesswrong.com/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7why" + }, "Letterboxd": { "errorMsg": "Sorry, we can\u2019t find the page you\u2019ve requested.", "errorType": "message", diff --git a/sites.md b/sites.md index 47efb76..6662f5f 100644 --- a/sites.md +++ b/sites.md @@ -130,6 +130,7 @@ 1. [LOR](https://linux.org.ru/) 1. [Launchpad](https://launchpad.net/) 1. [LeetCode](https://leetcode.com/) +1. [LessWrong](https://lesswrong.com/) 1. [Letterboxd](https://letterboxd.com/) 1. [Lichess](https://lichess.org) 1. [Linktree](https://linktr.ee/) From 4ee17bce911f33815768e0c36906765dd62002d3 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 2 Apr 2022 07:28:52 +0000 Subject: [PATCH 18/25] add gab --- sherlock/resources/data.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 6808e24..a299b02 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -695,6 +695,14 @@ "username_claimed": "adam", "username_unclaimed": "noonewouldeverusethis7" }, + "Gab": { + "errorMsg": "The page you are looking for isn't here.", + "errorType": "message", + "url": "https://gab.com/{}", + "urlMain": "https://gab.com", + "username_claimed": "a", + "username_unclaimed": "noonewouldeverusethis" + } "GaiaOnline": { "errorMsg": "No user ID specified or user does not exist", "errorType": "message", From 230103e73ab2a216391ebfa0f563a8bd92f80630 Mon Sep 17 00:00:00 2001 From: nickspring Date: Sun, 3 Apr 2022 19:44:08 +0200 Subject: [PATCH 19/25] TradingView resource data has been fixed (request_method has been specified) --- sherlock/resources/data.json | 1 + 1 file changed, 1 insertion(+) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 6808e24..0be57cc 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -1743,6 +1743,7 @@ "username_unclaimed": "noonewouldeverusethis7" }, "TradingView": { + "request_method": "GET", "errorType": "status_code", "url": "https://www.tradingview.com/u/{}/", "urlMain": "https://www.tradingview.com/", From a9c3b980fd6369fef628ccd7098fce136fde8099 Mon Sep 17 00:00:00 2001 From: merganon Date: Mon, 4 Apr 2022 04:03:07 +0200 Subject: [PATCH 20/25] Add 33 sites --- removed_sites.json | 8 -- removed_sites.md | 14 -- sherlock/resources/data.json | 245 +++++++++++++++++++++++++++++++++++ 3 files changed, 245 insertions(+), 22 deletions(-) diff --git a/removed_sites.json b/removed_sites.json index 4baefbd..1070391 100644 --- a/removed_sites.json +++ b/removed_sites.json @@ -519,14 +519,6 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, - "Ebay": { - "errorMsg": "eBay Profile - error", - "errorType": "message", - "url": "https://www.ebay.com/usr/{}", - "urlMain": "https://www.ebay.com/", - "username_claimed": "blue", - "username_unclaimed": "noonewouldeverusethis7" - }, "GDProfiles": { "errorType": "status_code", "url": "https://gdprofiles.com/{}", diff --git a/removed_sites.md b/removed_sites.md index b8398eb..20283dc 100644 --- a/removed_sites.md +++ b/removed_sites.md @@ -1027,20 +1027,6 @@ As of 2021-01-13, Travellerspoint returns false positives }, ``` -## Ebay - -As of 2021-01-15, Ebay seems to be very laggy and take too long to return a response. -``` - "Ebay": { - "errorMsg": "eBay Profile - error", - "errorType": "message", - "url": "https://www.ebay.com/usr/{}", - "urlMain": "https://www.ebay.com/", - "username_claimed": "blue", - "username_unclaimed": "noonewouldeverusethis7" - }, -``` - ## GDProfiles As of 2021-06-27, GDProfiles takes way too long to respond. Must be an issue on their side. diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 6808e24..3e24ff5 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -43,6 +43,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Airbit": { + "errorType": "status_code", + "url": "https://airbit.com/{}", + "urlMain": "https://airbit.com/", + "username_claimed": "airbit", + "username_unclaimed": "noonewouldeverusethis7" + }, "Airliners": { "errorType": "status_code", "url": "https://www.airliners.net/user/{}/profile/photos", @@ -158,6 +165,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Autofrage": { + "errorType": "status_code", + "url": "https://www.autofrage.net/nutzer/{}", + "urlMain": "https://www.autofrage.net/", + "username_claimed": "autofrage", + "username_unclaimed": "noonewouldeverusethis7" + }, "Avizo": { "errorType": "response_url", "errorUrl": "https://www.avizo.cz/", @@ -204,6 +218,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Bikemap": { + "errorType": "status_code", + "url": "https://www.bikemap.net/en/u/{}/routes/created/", + "urlMain": "https://www.bikemap.net/", + "username_claimed": "bikemap", + "username_unclaimed": "noonewouldeverusethis7" + }, "BinarySearch": { "errorMsg": "{}", "errorType": "message", @@ -463,6 +484,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Cryptomator Forum": { + "errorType": "status_code", + "url": "https://community.cryptomator.org/u/{}", + "urlMain": "https://community.cryptomator.org/", + "username_claimed": "michael", + "username_unclaimed": "noonewouldeverusethis7" + }, "DEV Community": { "errorType": "status_code", "regexCheck": "^[a-zA-Z][a-zA-Z0-9_-]*$", @@ -540,6 +568,22 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "eBay.com": { + "errorMsg": "The User ID you entered was not found. Please check the User ID and try again.", + "errorType": "message", + "url": "https://www.ebay.com/usr/{}", + "urlMain": "https://www.ebay.com/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, + "eBay.de": { + "errorMsg": "Der eingegebene Nutzername wurde nicht gefunden. Bitte prüfen Sie den Nutzernamen und versuchen Sie es erneut.", + "errorType": "message", + "url": "https://www.ebay.de/usr/{}", + "urlMain": "https://www.ebay.de/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, "Ello": { "errorMsg": "We couldn't find the page you're looking for", "errorType": "message", @@ -548,6 +592,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Envato Forum": { + "errorType": "status_code", + "url": "https://forums.envato.com/u/{}", + "urlMain": "https://forums.envato.com/", + "username_claimed": "enabled", + "username_unclaimed": "noonewouldeverusethis7" + }, "Etsy": { "errorType": "status_code", "url": "https://www.etsy.com/shop/{}", @@ -586,6 +637,13 @@ "username_claimed": "hackerman", "username_unclaimed": "noonewouldeverusethis7" }, + "Fameswap": { + "errorType": "status_code", + "url": "https://fameswap.com/user/{}", + "urlMain": "https://fameswap.com/", + "username_claimed": "fameswap", + "username_unclaimed": "noonewouldeverusethis7" + }, "FanCentro": { "errorMsg": "var environment", "errorType": "message", @@ -601,6 +659,13 @@ "username_claimed": "Jungypoo", "username_unclaimed": "noonewouldeverusethis7" }, + "Finanzfrage": { + "errorType": "status_code", + "url": "https://www.finanzfrage.net/nutzer/{}", + "urlMain": "https://www.finanzfrage.net/", + "username_claimed": "finanzfrage", + "username_unclaimed": "noonewouldeverusethis7" + }, "Fiverr": { "errorMsg": "\"status\":\"success\"", "errorType": "message", @@ -686,6 +751,14 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis" }, + "G2G": { + "errorType": "response_url", + "errorUrl": "https://www.g2g.com/{}", + "url": "https://www.g2g.com/{}", + "urlMain": "https://www.g2g.com/", + "username_claimed": "user", + "username_unclaimed": "noonewouldeverusethis7" + }, "GNOME VCS": { "errorType": "response_url", "errorUrl": "https://gitlab.gnome.org/{}", @@ -717,6 +790,27 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis" }, + "Genius (Artists)": { + "errorType": "status_code", + "url": "https://genius.com/artists/{}", + "urlMain": "https://genius.com/", + "username_claimed": "genius", + "username_unclaimed": "noonewouldeverusethis7" + }, + "Genius (Users)": { + "errorType": "status_code", + "url": "https://genius.com/{}", + "urlMain": "https://genius.com/", + "username_claimed": "genius", + "username_unclaimed": "noonewouldeverusethis7" + }, + "Gesundheitsfrage": { + "errorType": "status_code", + "url": "https://www.gesundheitsfrage.net/nutzer/{}", + "urlMain": "https://www.gesundheitsfrage.net/", + "username_claimed": "gutefrage", + "username_unclaimed": "noonewouldeverusethis7" + }, "GetMyUni": { "errorType": "status_code", "url": "https://www.getmyuni.com/user/{}", @@ -724,6 +818,14 @@ "username_claimed": "Upneet.Grover17", "username_unclaimed": "noonewouldeverusethis7" }, + "Ghost": { + "errorMsg": "Domain Error", + "errorType": "message", + "url": "https://{}.ghost.io/", + "urlMain": "https://ghost.org/", + "username_claimed": "troyhunt", + "username_unclaimed": "noonewouldeverusethis7" + }, "Giphy": { "errorType": "status_code", "url": "https://giphy.com/{}", @@ -731,6 +833,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "GitBook": { + "errorType": "status_code", + "url": "https://{}.gitbook.io/", + "urlMain": "https://gitbook.com/", + "username_claimed": "gitbook", + "username_unclaimed": "noonewouldeverusethis7" + }, "GitHub": { "errorType": "status_code", "regexCheck": "^[a-zA-Z0-9](?:[a-zA-Z0-9]|-(?=[a-zA-Z0-9])){0,38}$", @@ -778,6 +887,14 @@ "username_claimed": "jetbrains", "username_unclaimed": "noonewouldeverusethis7" }, + "Grailed": { + "errorType": "response_url", + "errorUrl": "https://www.grailed.com/{}", + "url": "https://www.grailed.com/{}", + "urlMain": "https://www.grailed.com/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, "Gravatar": { "errorType": "status_code", "regexCheck": "^((?!\\.).)*$", @@ -808,6 +925,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Gutefrage": { + "errorType": "status_code", + "url": "https://www.gutefrage.net/nutzer/{}", + "urlMain": "https://www.gutefrage.net/", + "username_claimed": "gutefrage", + "username_unclaimed": "noonewouldeverusethis7" + }, "HEXRPG": { "errorMsg": "Error : User ", "errorType": "message", @@ -934,6 +1058,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Ionic Forum": { + "errorType": "status_code", + "url": "https://forum.ionicframework.com/u/{}", + "urlMain": "https://forum.ionicframework.com/", + "username_claimed": "theblue222", + "username_unclaimed": "noonewouldeverusethis7" + }, "Issuu": { "errorType": "status_code", "url": "https://issuu.com/{}", @@ -972,6 +1103,20 @@ "username_claimed": "jenny", "username_unclaimed": "noonewouldeverusethis7" }, + "Joplin Forum": { + "errorType": "status_code", + "url": "https://discourse.joplinapp.org/u/{}", + "urlMain": "https://discourse.joplinapp.org/", + "username_claimed": "laurent", + "username_unclaimed": "noonewouldeverusethis7" + }, + "KEAKR": { + "errorType": "status_code", + "url": "https://www.keakr.com/en/profile/{}", + "urlMain": "https://www.keakr.com/", + "username_claimed": "beats", + "username_unclaimed": "noonewouldeverusethis7" + }, "Kaggle": { "errorType": "status_code", "url": "https://www.kaggle.com/{}", @@ -1048,6 +1193,14 @@ "username_claimed": "anne", "username_unclaimed": "noonewouldeverusethis7" }, + "Listed": { + "errorType": "response_url", + "errorUrl": "https://listed.to/@{}", + "url": "https://listed.to/@{}", + "urlMain": "https://listed.to/", + "username_claimed": "listed", + "username_unclaimed": "noonewouldeverusethis7" + }, "LiveJournal": { "errorType": "status_code", "regexCheck": "^[a-zA-Z][a-zA-Z0-9_-]*$", @@ -1072,6 +1225,21 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "LottieFiles": { + "errorType": "status_code", + "url": "https://lottiefiles.com/{}", + "urlMain": "https://lottiefiles.com/", + "username_claimed": "lottiefiles", + "username_unclaimed": "noonewouldeverusethis7" + }, + "Mapify": { + "errorType": "response_url", + "errorUrl": "https://mapify.travel/{}", + "url": "https://mapify.travel/{}", + "urlMain": "https://mapify.travel/", + "username_claimed": "mapify", + "username_unclaimed": "noonewouldeverusethis7" + }, "Medium": { "errorMsg": "", "errorType": "message", @@ -1724,6 +1962,13 @@ "username_claimed": "red", "username_unclaimed": "impossibleusername" }, + "ThemeForest": { + "errorType": "status_code", + "url": "https://themeforest.net/user/{}", + "urlMain": "https://themeforest.net/", + "username_claimed": "user", + "username_unclaimed": "noonewouldeverusethis7" + }, "TikTok": { "errorType": "status_code", "url": "https://tiktok.com/@{}", From ebaa73822b516b903d5ed617f0049acf155a374c Mon Sep 17 00:00:00 2001 From: Yahya SayadArbabi Date: Mon, 4 Apr 2022 18:54:43 +0300 Subject: [PATCH 21/25] regenerate sites.md --- sherlock/resources/data.json | 50 ++++++++++++++++++------------------ sites.md | 40 ++++++++++++++++++++++++++--- 2 files changed, 62 insertions(+), 28 deletions(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index efdac27..122f3a9 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -568,22 +568,6 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, - "eBay.com": { - "errorMsg": "The User ID you entered was not found. Please check the User ID and try again.", - "errorType": "message", - "url": "https://www.ebay.com/usr/{}", - "urlMain": "https://www.ebay.com/", - "username_claimed": "blue", - "username_unclaimed": "noonewouldeverusethis7" - }, - "eBay.de": { - "errorMsg": "Der eingegebene Nutzername wurde nicht gefunden. Bitte prüfen Sie den Nutzernamen und versuchen Sie es erneut.", - "errorType": "message", - "url": "https://www.ebay.de/usr/{}", - "urlMain": "https://www.ebay.de/", - "username_claimed": "blue", - "username_unclaimed": "noonewouldeverusethis7" - }, "Ello": { "errorMsg": "We couldn't find the page you're looking for", "errorType": "message", @@ -1263,6 +1247,14 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Minecraft": { + "errorCode": 204, + "errorType": "status_code", + "url": "https://api.mojang.com/users/profiles/minecraft/{}", + "urlMain": "https://minecraft.net/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, "MixCloud": { "errorType": "status_code", "url": "https://www.mixcloud.com/{}/", @@ -1285,14 +1277,6 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, - "Minecraft": { - "errorType": "status_code", - "errorCode": 204, - "url": "https://api.mojang.com/users/profiles/minecraft/{}", - "urlMain": "https://minecraft.net/", - "username_claimed": "blue", - "username_unclaimed": "noonewouldeverusethis7" - }, "MyAnimeList": { "errorType": "status_code", "url": "https://myanimelist.net/profile/{}", @@ -1995,8 +1979,8 @@ "username_unclaimed": "noonewouldeverusethis7" }, "TradingView": { - "request_method": "GET", "errorType": "status_code", + "request_method": "GET", "url": "https://www.tradingview.com/u/{}/", "urlMain": "https://www.tradingview.com/", "username_claimed": "blue", @@ -2379,6 +2363,22 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "eBay.com": { + "errorMsg": "The User ID you entered was not found. Please check the User ID and try again.", + "errorType": "message", + "url": "https://www.ebay.com/usr/{}", + "urlMain": "https://www.ebay.com/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, + "eBay.de": { + "errorMsg": "Der eingegebene Nutzername wurde nicht gefunden. Bitte pr\u00fcfen Sie den Nutzernamen und versuchen Sie es erneut.", + "errorType": "message", + "url": "https://www.ebay.de/usr/{}", + "urlMain": "https://www.ebay.de/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, "eGPU": { "errorType": "status_code", "url": "https://egpu.io/forums/profile/{}/", diff --git a/sites.md b/sites.md index 6662f5f..903c458 100644 --- a/sites.md +++ b/sites.md @@ -1,10 +1,11 @@ -## List Of Supported Sites (323 Sites In Total!) +## List Of Supported Sites (359 Sites In Total!) 1. [2Dimensions](https://2Dimensions.com/) 1. [3dnews](http://forum.3dnews.ru/) 1. [7Cups](https://www.7cups.com/) 1. [9GAG](https://www.9gag.com/) 1. [About.me](https://about.me/) 1. [Academia.edu](https://www.academia.edu/) +1. [Airbit](https://airbit.com/) 1. [Airliners](https://www.airliners.net/) 1. [Alik.cz](https://www.alik.cz/) 1. [AllMyLinks](https://allmylinks.com/) @@ -19,12 +20,14 @@ 1. [AskFM](https://ask.fm/) 1. [Atom Discussions](https://discuss.atom.io) 1. [Audiojungle](https://audiojungle.net/) +1. [Autofrage](https://www.autofrage.net/) 1. [Avizo](https://www.avizo.cz/) 1. [BLIP.fm](https://blip.fm/) 1. [BOOTH](https://booth.pm/) 1. [Bandcamp](https://www.bandcamp.com/) 1. [Bazar.cz](https://www.bazar.cz/) 1. [Behance](https://www.behance.net/) +1. [Bikemap](https://www.bikemap.net/) 1. [BinarySearch](https://binarysearch.io/) 1. [BitBucket](https://bitbucket.org/) 1. [BitCoinForum](https://bitcoinforum.com) @@ -57,6 +60,7 @@ 1. [Cracked](https://www.cracked.com/) 1. [Crevado](https://crevado.com/) 1. [Crowdin](https://crowdin.com/) +1. [Cryptomator Forum](https://community.cryptomator.org/) 1. [DEV Community](https://dev.to/) 1. [DailyMotion](https://www.dailymotion.com/) 1. [Designspiration](https://www.designspiration.net/) @@ -67,15 +71,19 @@ 1. [Docker Hub](https://hub.docker.com/) 1. [Dribbble](https://dribbble.com/) 1. [Duolingo](https://duolingo.com/) +1. [eBay.com](https://www.ebay.com/) +1. [eBay.de](https://www.ebay.de/) 1. [Ello](https://ello.co/) +1. [Envato Forum](https://forums.envato.com/) 1. [Etsy](https://www.etsy.com/) 1. [Euw](https://euw.op.gg/) 1. [EyeEm](https://www.eyeem.com/) 1. [F3.cool](https://f3.cool/) 1. [Facebook](https://www.facebook.com/) -1. [Facenama](https://facenama.com/) +1. [Fameswap](https://fameswap.com/) 1. [FanCentro](https://fancentro.com/) 1. [Fandom](https://www.fandom.com/) +1. [Finanzfrage](https://www.finanzfrage.net/) 1. [Fiverr](https://www.fiverr.com/) 1. [Flickr](https://www.flickr.com/) 1. [Flightradar24](https://www.flightradar24.com/) @@ -86,22 +94,30 @@ 1. [Freelance.habr](https://freelance.habr.com/) 1. [Freelancer](https://www.freelancer.com/) 1. [Freesound](https://freesound.org/) +1. [G2G](https://www.g2g.com/) 1. [GNOME VCS](https://gitlab.gnome.org/) 1. [GaiaOnline](https://www.gaiaonline.com/) 1. [Gam1ng](https://gam1ng.com.br) 1. [Gamespot](https://www.gamespot.com/) +1. [Genius (Artists)](https://genius.com/) +1. [Genius (Users)](https://genius.com/) +1. [Gesundheitsfrage](https://www.gesundheitsfrage.net/) 1. [GetMyUni](https://getmyuni.com/) +1. [Ghost](https://ghost.org/) 1. [Giphy](https://giphy.com/) +1. [GitBook](https://gitbook.com/) 1. [GitHub](https://www.github.com/) 1. [GitHub Support Community](https://github.community) 1. [GitLab](https://gitlab.com/) 1. [Gitee](https://gitee.com/) 1. [GoodReads](https://www.goodreads.com/) 1. [Gradle](https://gradle.org/) +1. [Grailed](https://www.grailed.com/) 1. [Gravatar](http://en.gravatar.com/) 1. [Gumroad](https://www.gumroad.com/) 1. [GunsAndAmmo](https://gunsandammo.com/) 1. [GuruShots](https://gurushots.com/) +1. [Gutefrage](https://www.gutefrage.net/) 1. [HEXRPG](https://www.hexrpg.com/) 1. [HackTheBox](https://forum.hackthebox.eu/) 1. [Hackaday](https://hackaday.io/) @@ -118,11 +134,14 @@ 1. [Imgur](https://imgur.com/) 1. [Instagram](https://www.instagram.com/) 1. [Instructables](https://www.instructables.com/) +1. [Ionic Forum](https://forum.ionicframework.com/) 1. [Issuu](https://issuu.com/) 1. [Itch.io](https://itch.io/) 1. [Itemfix](https://www.itemfix.com/) 1. [Jellyfin Weblate](https://translate.jellyfin.org/) 1. [Jimdo](https://jimdosite.com/) +1. [Joplin Forum](https://discourse.joplinapp.org/) +1. [KEAKR](https://www.keakr.com/) 1. [Kaggle](https://www.kaggle.com/) 1. [Keybase](https://keybase.io/) 1. [Kik](http://kik.me/) @@ -130,17 +149,22 @@ 1. [LOR](https://linux.org.ru/) 1. [Launchpad](https://launchpad.net/) 1. [LeetCode](https://leetcode.com/) -1. [LessWrong](https://lesswrong.com/) +1. [LessWrong](https://www.lesswrong.com/) 1. [Letterboxd](https://letterboxd.com/) 1. [Lichess](https://lichess.org) 1. [Linktree](https://linktr.ee/) +1. [Listed](https://listed.to/) 1. [LiveJournal](https://www.livejournal.com/) 1. [Lobsters](https://lobste.rs/) 1. [Lolchess](https://lolchess.gg/) +1. [LottieFiles](https://lottiefiles.com/) +1. [Mapify](https://mapify.travel/) 1. [Medium](https://medium.com/) 1. [Memrise](https://www.memrise.com/) 1. [MixCloud](https://www.mixcloud.com/) +1. [Motorradfrage](https://www.motorradfrage.net/) 1. [Munzee](https://www.munzee.com/) +1. [Minecraft](https://minecraft.net/) 1. [MyAnimeList](https://myanimelist.net/) 1. [MyMiniFactory](https://www.myminifactory.com/) 1. [Myspace](https://myspace.com/) @@ -148,12 +172,14 @@ 1. [NationStates Nation](https://nationstates.net) 1. [NationStates Region](https://nationstates.net) 1. [Naver](https://naver.com) +1. [Needrom](https://www.needrom.com/) 1. [Newgrounds](https://newgrounds.com) 1. [Nextcloud Forum](https://nextcloud.com/) 1. [Nightbot](https://nightbot.tv/) 1. [Ninja Kiwi](https://ninjakiwi.com/) 1. [NotABug.org](https://notabug.org/) 1. [Nyaa.si](https://nyaa.si/) +1. [OGUsers](https://ogusers.com/) 1. [OK](https://ok.ru/) 1. [OnlyFans](https://onlyfans.com/) 1. [OpenStreetMap](https://www.openstreetmap.org/) @@ -182,8 +208,10 @@ 1. [Raidforums](https://raidforums.com/) 1. [Rajce.net](https://www.rajce.idnes.cz/) 1. [Rate Your Music](https://rateyourmusic.com/) +1. [Rclone Forum](https://forum.rclone.org/) 1. [Redbubble](https://www.redbubble.com/) 1. [Reddit](https://www.reddit.com/) +1. [Reisefrage](https://www.reisefrage.net/) 1. [Replit.com](https://replit.com/) 1. [ResearchGate](https://www.researchgate.net/) 1. [ReverbNation](https://www.reverbnation.com/) @@ -191,10 +219,12 @@ 1. [RoyalCams](https://royalcams.com) 1. [RubyGems](https://rubygems.org/) 1. [RuneScape](https://www.runescape.com/) +1. [SWAPD](https://swapd.co/) 1. [Sbazar.cz](https://www.sbazar.cz/) 1. [Scratch](https://scratch.mit.edu/) 1. [Scribd](https://www.scribd.com/) 1. [ShitpostBot5000](https://www.shitpostbot.com/) +1. [Shpock](https://www.shpock.com/) 1. [Signal](https://community.signalusers.org) 1. [Slack](https://slack.com) 1. [Slant](https://www.slant.co/) @@ -207,8 +237,10 @@ 1. [SourceForge](https://sourceforge.net/) 1. [SoylentNews](https://soylentnews.org) 1. [Speedrun.com](https://speedrun.com/) +1. [Splice](https://splice.com/) 1. [Splits.io](https://splits.io) 1. [Sporcle](https://www.sporcle.com/) +1. [Sportlerfrage](https://www.sportlerfrage.net/) 1. [SportsRU](https://www.sports.ru/) 1. [Spotify](https://open.spotify.com/) 1. [Star Citizen](https://robertsspaceindustries.com/) @@ -218,9 +250,11 @@ 1. [SublimeForum](https://forum.sublimetext.com/) 1. [TETR.IO](https://tetr.io) 1. [TLDR Legal](https://tldrlegal.com/) +1. [TRAKTRAIN](https://traktrain.com/) 1. [Telegram](https://t.me/) 1. [Tellonym.me](https://tellonym.me/) 1. [Tenor](https://tenor.com/) +1. [ThemeForest](https://themeforest.net/) 1. [TikTok](https://tiktok.com/) 1. [Tinder](https://tinder.com/) 1. [TradingView](https://www.tradingview.com/) From 3dba253dbb8d5a3f8529cdad615258fdd25e2f4d Mon Sep 17 00:00:00 2001 From: Yahya SayadArbabi Date: Mon, 4 Apr 2022 19:09:39 +0300 Subject: [PATCH 22/25] fix errorType for clubHouse --- sherlock/resources/data.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index d54cc9c..a04e7ce 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -927,8 +927,7 @@ "username_unclaimed": "noonewouldeverusethis7" }, "Clubhouse":{ - "errorMsg":"Nothing found!", - "errorType":"message", + "errorType": "status_code", "url":"https://www.clubhouse.com/@{}", "urlMain":"https://www.clubhouse.com", "username_claimed":"waniathar", From 6e46c8afca70d843269c65ed9eaa1e30ef5f9b29 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 4 Apr 2022 19:56:57 +0000 Subject: [PATCH 23/25] add missing comma --- sherlock/resources/data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index a299b02..c910749 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -702,7 +702,7 @@ "urlMain": "https://gab.com", "username_claimed": "a", "username_unclaimed": "noonewouldeverusethis" - } + }, "GaiaOnline": { "errorMsg": "No user ID specified or user does not exist", "errorType": "message", From 6a127ad843bb9c1d992740dbdaa2bf5f8fd655a2 Mon Sep 17 00:00:00 2001 From: Yahya SayadArbabi Date: Tue, 5 Apr 2022 20:48:27 +0300 Subject: [PATCH 24/25] fix data.json --- sherlock/resources/data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index cc1dce1..807c705 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -2268,6 +2268,6 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" } - +} From 56fc4fa4d3de65ccfeb55d117e3868ff8c68f9c7 Mon Sep 17 00:00:00 2001 From: Yahya SayadArbabi Date: Tue, 5 Apr 2022 20:55:49 +0300 Subject: [PATCH 25/25] generate sites.md --- sherlock/resources/data.json | 60 ++++++++++++++++++------------------ sites.md | 16 +++++++--- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/sherlock/resources/data.json b/sherlock/resources/data.json index 93cfa81..6414716 100644 --- a/sherlock/resources/data.json +++ b/sherlock/resources/data.json @@ -218,6 +218,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, + "Bezuzyteczna": { + "errorType": "status_code", + "url": "https://bezuzyteczna.pl/uzytkownicy/{}", + "urlMain": "https://bezuzyteczna.pl", + "username_claimed": "Jackson", + "username_unclaimed": "ktobysietaknazwalnawb69" + }, "Bikemap": { "errorType": "status_code", "url": "https://www.bikemap.net/en/u/{}/routes/created/", @@ -225,13 +232,6 @@ "username_claimed": "bikemap", "username_unclaimed": "noonewouldeverusethis7" }, - "Bezuzyteczna": { - "errorType": "status_code", - "url": "https://bezuzyteczna.pl/uzytkownicy/{}", - "urlMain": "https://bezuzyteczna.pl", - "username_claimed": "Jackson", - "username_unclaimed": "ktobysietaknazwalnawb69" - }, "BinarySearch": { "errorMsg": "{}", "errorType": "message", @@ -242,6 +242,13 @@ "username_claimed": "Eyes_Wide_Shut", "username_unclaimed": "hihowareyou101" }, + "BioHacking": { + "errorType": "status_code", + "url": "https://forum.dangerousthings.com/u/{}", + "urlMain": "https://forum.dangerousthings.com/", + "username_claimed": "blue", + "username_unclaimed": "noonewouldeverusethis7" + }, "BitBucket": { "errorType": "status_code", "regexCheck": "^[a-zA-Z0-9-_]{1,30}$", @@ -391,6 +398,13 @@ "username_claimed": "green", "username_unclaimed": "noonewouldeverusethis7" }, + "Clubhouse": { + "errorType": "status_code", + "url": "https://www.clubhouse.com/@{}", + "urlMain": "https://www.clubhouse.com", + "username_claimed": "waniathar", + "username_unclaimed": "noonewouldeverusethis7" + }, "Codecademy": { "errorMsg": "This profile could not be found", "errorType": "message", @@ -911,8 +925,8 @@ "username_unclaimed": "noonewouldeverusethis7" }, "Gumroad": { - "errorType": "message", "errorMsg": "Page not found (404) - Gumroad", + "errorType": "message", "url": "https://www.gumroad.com/{}", "urlMain": "https://www.gumroad.com/", "username_claimed": "blue", @@ -1057,13 +1071,6 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis7" }, - "Clubhouse":{ - "errorType": "status_code", - "url":"https://www.clubhouse.com/@{}", - "urlMain":"https://www.clubhouse.com", - "username_claimed":"waniathar", - "username_unclaimed":"noonewouldeverusethis7" - }, "Instructables": { "errorType": "status_code", "url": "https://www.instructables.com/member/{}", @@ -1812,8 +1819,8 @@ "username_unclaimed": "noonewouldeverusethis7" }, "Smule": { - "errorType": "message", "errorMsg": "Smule | Page Not Found (404)", + "errorType": "message", "url": "https://www.smule.com/{}", "urlMain": "https://www.smule.com/", "username_claimed": "blue", @@ -2770,13 +2777,6 @@ "username_claimed": "adam", "username_unclaimed": "noonewouldeverusethis7" }, - "znanylekarz.pl": { - "errorType": "status_code", - "url": "https://www.znanylekarz.pl/{}", - "urlMain": "https://znanylekarz.pl", - "username_claimed": "janusz-nowak", - "username_unclaimed": "kto-by-sie-tak-nazwal-69" - }, "uid": { "errorType": "status_code", "url": "http://uid.me/{}", @@ -2798,6 +2798,13 @@ "username_claimed": "blue", "username_unclaimed": "noonewouldeverusethis77777" }, + "znanylekarz.pl": { + "errorType": "status_code", + "url": "https://www.znanylekarz.pl/{}", + "urlMain": "https://znanylekarz.pl", + "username_claimed": "janusz-nowak", + "username_unclaimed": "kto-by-sie-tak-nazwal-69" + }, "zoomit": { "errorMsg": "\u0645\u062a\u0627\u0633\u0641\u0627\u0646\u0647 \u0635\u0641\u062d\u0647 \u06cc\u0627\u0641\u062a \u0646\u0634\u062f", "errorType": "message", @@ -2805,12 +2812,5 @@ "urlMain": "https://www.zoomit.ir", "username_claimed": "kossher", "username_unclaimed": "noonewouldeverusethis7" - }, - "BioHacking": { - "errorType": "status_code", - "url": "https://forum.dangerousthings.com/u/{}", - "urlMain": "https://forum.dangerousthings.com/", - "username_claimed": "blue", - "username_unclaimed": "noonewouldeverusethis7" } } diff --git a/sites.md b/sites.md index 903c458..d487bad 100644 --- a/sites.md +++ b/sites.md @@ -1,4 +1,4 @@ -## List Of Supported Sites (359 Sites In Total!) +## List Of Supported Sites (367 Sites In Total!) 1. [2Dimensions](https://2Dimensions.com/) 1. [3dnews](http://forum.3dnews.ru/) 1. [7Cups](https://www.7cups.com/) @@ -28,6 +28,7 @@ 1. [Bazar.cz](https://www.bazar.cz/) 1. [Behance](https://www.behance.net/) 1. [Bikemap](https://www.bikemap.net/) +1. [Bezuzyteczna](https://bezuzyteczna.pl) 1. [BinarySearch](https://binarysearch.io/) 1. [BitBucket](https://bitbucket.org/) 1. [BitCoinForum](https://bitcoinforum.com) @@ -50,6 +51,7 @@ 1. [Clozemaster](https://www.clozemaster.com) 1. [Codecademy](https://www.codecademy.com/) 1. [Codechef](https://www.codechef.com/) +1. [Codeforces](https://www.codeforces.com/) 1. [Codepen](https://codepen.io/) 1. [Codewars](https://www.codewars.com) 1. [Coil](https://coil.com/) @@ -71,8 +73,6 @@ 1. [Docker Hub](https://hub.docker.com/) 1. [Dribbble](https://dribbble.com/) 1. [Duolingo](https://duolingo.com/) -1. [eBay.com](https://www.ebay.com/) -1. [eBay.de](https://www.ebay.de/) 1. [Ello](https://ello.co/) 1. [Envato Forum](https://forums.envato.com/) 1. [Etsy](https://www.etsy.com/) @@ -96,6 +96,7 @@ 1. [Freesound](https://freesound.org/) 1. [G2G](https://www.g2g.com/) 1. [GNOME VCS](https://gitlab.gnome.org/) +1. [Gab](https://gab.com) 1. [GaiaOnline](https://www.gaiaonline.com/) 1. [Gam1ng](https://gam1ng.com.br) 1. [Gamespot](https://www.gamespot.com/) @@ -133,6 +134,7 @@ 1. [ImgUp.cz](https://imgup.cz/) 1. [Imgur](https://imgur.com/) 1. [Instagram](https://www.instagram.com/) +1. [Clubhouse](https://www.clubhouse.com) 1. [Instructables](https://www.instructables.com/) 1. [Ionic Forum](https://forum.ionicframework.com/) 1. [Issuu](https://issuu.com/) @@ -161,10 +163,10 @@ 1. [Mapify](https://mapify.travel/) 1. [Medium](https://medium.com/) 1. [Memrise](https://www.memrise.com/) +1. [Minecraft](https://minecraft.net/) 1. [MixCloud](https://www.mixcloud.com/) 1. [Motorradfrage](https://www.motorradfrage.net/) 1. [Munzee](https://www.munzee.com/) -1. [Minecraft](https://minecraft.net/) 1. [MyAnimeList](https://myanimelist.net/) 1. [MyMiniFactory](https://www.myminifactory.com/) 1. [Myspace](https://myspace.com/) @@ -200,6 +202,7 @@ 1. [Pokemon Showdown](https://pokemonshowdown.com) 1. [Polarsteps](https://polarsteps.com/) 1. [Polygon](https://www.polygon.com/) +1. [Polymart](https://polymart.org/) 1. [Pornhub](https://pornhub.com/) 1. [ProductHunt](https://www.producthunt.com/) 1. [PromoDJ](http://promodj.com/) @@ -289,6 +292,7 @@ 1. [WordPress](https://wordpress.com) 1. [WordPressOrg](https://wordpress.org/) 1. [Wordnik](https://www.wordnik.com/) +1. [Wykop](https://www.wykop.pl) 1. [Xbox Gamertag](https://xboxgamertag.com/) 1. [Xvideos](https://xvideos.com/) 1. [YouNow](https://www.younow.com/) @@ -307,6 +311,8 @@ 1. [datingRU](http://dating.ru) 1. [devRant](https://devrant.com/) 1. [drive2](https://www.drive2.ru/) +1. [eBay.com](https://www.ebay.com/) +1. [eBay.de](https://www.ebay.de/) 1. [eGPU](https://egpu.io/) 1. [eintracht](https://eintracht.de) 1. [fixya](https://www.fixya.com) @@ -354,7 +360,9 @@ 1. [spletnik](https://spletnik.ru/) 1. [svidbook](https://www.svidbook.ru/) 1. [toster](https://www.toster.ru/) +1. [znanylekarz.pl](https://znanylekarz.pl) 1. [uid](https://uid.me/) 1. [wiki.vg](https://wiki.vg/) 1. [xHamster](https://xhamster.com) 1. [zoomit](https://www.zoomit.ir) +1. [BioHacking](https://forum.dangerousthings.com/)