Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/removed-sites.md
Original file line number Diff line number Diff line change
Expand Up @@ -1995,3 +1995,15 @@ __2025-07-06 :__ Site appears to have gone offline in March and hasn't come back
"username_claimed": "GalaxyRG"
},
```

## ArtStation
__2025-10-22 :__ ArtStation returns false positives because both existing and non-existing users return HTTP 200 status with empty content. The site appears to be loading content dynamically with JavaScript, making it impossible to distinguish between valid and invalid usernames using the current status_code detection method.

```json
"ArtStation": {
"errorType": "status_code",
"url": "https://www.artstation.com/{}",
"urlMain": "https://www.artstation.com/",
"username_claimed": "Blue"
}
```
3 changes: 0 additions & 3 deletions sherlock_project/notify.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ def __init__(self, result=None, verbose=False, print_all=False, browse=False):
self.print_all = print_all
self.browse = browse

return

def start(self, message):
"""Notify Start.
Expand All @@ -163,7 +162,6 @@ def start(self, message):
# 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,
Expand Down Expand Up @@ -254,7 +252,6 @@ def update(self, result):
f"Unknown Query Status '{result.status}' for site '{self.result.site_name}'"
)

return

def finish(self, message="The processing has been finished."):
"""Notify Start.
Expand Down
6 changes: 0 additions & 6 deletions sherlock_project/resources/data.json
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,6 @@
"urlProbe": "https://archive.org/details/@{}?noscript=true",
"username_claimed": "blue"
},
"ArtStation": {
"errorType": "status_code",
"url": "https://www.artstation.com/{}",
"urlMain": "https://www.artstation.com/",
"username_claimed": "Blue"
},
"Asciinema": {
"errorType": "status_code",
"url": "https://asciinema.org/~{}",
Expand Down
1 change: 0 additions & 1 deletion sherlock_project/result.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ def __init__(self, username, site_name, site_url_user, status,
self.query_time = query_time
self.context = context

return

def __str__(self):
"""Convert Object To String.
Expand Down
1 change: 0 additions & 1 deletion sherlock_project/sherlock.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ def response_time(resp, *args, **kwargs):
"""
resp.elapsed = monotonic() - start

return

# Install hook to execute when response completes.
# Make sure that the time measurement hook is first, so we will not
Expand Down
2 changes: 0 additions & 2 deletions sherlock_project/sites.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ def __init__(self, name, url_home, url_username_format, username_claimed,
self.information = information
self.is_nsfw = is_nsfw

return

def __str__(self):
"""Convert Object To String.
Expand Down Expand Up @@ -208,7 +207,6 @@ def __init__(
except TypeError:
print(f"Encountered TypeError parsing json contents for target '{site_name}' at {data_file_path}\nSkipping target.\n")

return

def remove_nsfw_sites(self, do_not_remove: list = []):
"""
Expand Down