Merge branch 'master' into patch-8

pull/1399/head
Christian Clauss 1 year ago committed by GitHub
commit c9055a8e0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
python-version: [3.6, 3.7, 3.8] python-version: [3.7, 3.8]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
python-version: [3.6] python-version: [3.8]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

@ -17,7 +17,7 @@ jobs:
if echo $FILES | grep -q ".json"; then if echo $FILES | grep -q ".json"; then
echo "::set-output name=matrix::{\"include\":[{\"python\":\"3.8\"}]}" echo "::set-output name=matrix::{\"include\":[{\"python\":\"3.8\"}]}"
else else
echo "::set-output name=matrix::{\"include\":[{\"python\":\"3.6\" },{\"python\":\"3.7\"},{\"python\":\"3.8\"}]}" echo "::set-output name=matrix::{\"include\":[{\"python\":\"3.7\"},{\"python\":\"3.8\"}]}"
fi fi
build: build:
needs: [getchange] needs: [getchange]
@ -26,9 +26,9 @@ jobs:
matrix: ${{ fromJson(needs.getchange.outputs.matrix) }} matrix: ${{ fromJson(needs.getchange.outputs.matrix) }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python }} - name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v1 uses: actions/setup-python@v4
with: with:
python-version: ${{ matrix.python }} python-version: ${{ matrix.python }}
- name: Install Dependencies - name: Install Dependencies

@ -0,0 +1,49 @@
name: Update Site List
# Trigger the workflow when changes are pushed to the main branch
# and the changes include the sherlock/resources/data.json file
on:
push:
branches:
- main
paths:
- sherlock/resources/data.json
jobs:
sync-json-data:
# Use the latest version of Ubuntu as the runner environment
runs-on: ubuntu-latest
steps:
# Check out the code at the specified pull request head commit
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
# Install Python 3.10
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
# Execute the site_list.py Python script
- name: Execute site_list.py
run: python site_list.py
# Commit any changes made by the script
- name: Commit files
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
if ! git diff --exit-code; then
git commit -a -m "Updated Site List"
fi
# Push the changes to the remote repository
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}

@ -2,75 +2,129 @@
## Our Pledge ## Our Pledge
In the interest of fostering an open and welcoming environment, we as We as members, contributors, and leaders pledge to make participation in our
contributors and maintainers pledge to making participation in our project and community a harassment-free experience for everyone, regardless of age, body
our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender
size, disability, ethnicity, sex characteristics, gender identity and expression, identity and expression, level of experience, education, socio-economic status,
level of experience, education, socio-economic status, nationality, personal nationality, personal appearance, race, caste, color, religion, or sexual
appearance, race, religion, or sexual identity and orientation. identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards ## Our Standards
Examples of behavior that contributes to creating a positive environment Examples of behavior that contributes to a positive environment for our
include: community include:
* Using welcoming and inclusive language * Demonstrating empathy and kindness toward other people
* Being respectful of differing viewpoints and experiences * Being respectful of differing opinions, viewpoints, and experiences
* Gracefully accepting constructive criticism * Giving and gracefully accepting constructive feedback
* Focusing on what is best for the community * Accepting responsibility and apologizing to those affected by our mistakes,
* Showing empathy towards other community members and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior by participants include: Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or * The use of sexualized language or imagery, and sexual attention or advances of
advances any kind
* Trolling, insulting/derogatory comments, and personal or political attacks * Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment * Public or private harassment
* Publishing others' private information, such as a physical or electronic * Publishing others' private information, such as a physical or email address,
address, without explicit permission without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a * Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
## Our Responsibilities ## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable Community leaders are responsible for clarifying and enforcing our standards of
behavior and are expected to take appropriate and fair corrective action in acceptable behavior and will take appropriate and fair corrective action in
response to any instances of unacceptable behavior. response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or Community leaders have the right and responsibility to remove, edit, or reject
reject comments, commits, code, wiki edits, issues, and other contributions comments, commits, code, wiki edits, issues, and other contributions that are
that are not aligned to this Code of Conduct, or to ban temporarily or not aligned to this Code of Conduct, and will communicate reasons for moderation
permanently any contributor for other behaviors that they deem inappropriate, decisions when appropriate.
threatening, offensive, or harmful.
## Scope ## Scope
This Code of Conduct applies both within project spaces and in public spaces This Code of Conduct applies within all community spaces, and also applies when
when an individual is representing the project or its community. Examples of an individual is officially representing the community in public spaces.
representing a project or community include using an official project e-mail Examples of representing our community include using an official e-mail address,
address, posting via an official social media account, or acting as an appointed posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be representative at an online or offline event.
further defined and clarified by project maintainers.
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at yahya.arbabi@gmail.com. All reported to the community leaders responsible for enforcement at yahya.arbabi@gmail.com.
complaints will be reviewed and investigated and will result in a response that All complaints will be reviewed and investigated promptly and fairly.
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident. All community leaders are obligated to respect the privacy and security of the
Further details of specific enforcement policies may be posted separately. reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
Project maintainers who do not follow or enforce the Code of Conduct in good **Consequence**: A warning with consequences for continued behavior. No
faith may face temporary or permanent repercussions as determined by other interaction with the people involved, including unsolicited interaction with
members of the project's leadership. those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution ## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, This Code of Conduct is adapted from the [Contributor Covenant][homepage],
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
[homepage]: https://www.contributor-covenant.org Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

@ -26,11 +26,6 @@ the site may be removed from the list. The
file contains sites that were included at one time in Sherlock, but had to be removed for file contains sites that were included at one time in Sherlock, but had to be removed for
one reason or another. one reason or another.
In regards to adult sites (e.g. Pornhub), we have agreed to not include them in Sherlock.
However, we do understand that some users desire this support. The data.json file is easy to add to,
so users will be able to maintain their own forks to have this support. This is not ideal.
Maybe there could be another repo with an adult data.json? That would avoid forks getting out of date.
## Adding New Functionality ## Adding New Functionality
Please ensure that the content on your branch passes all tests before submitting a pull request. Please ensure that the content on your branch passes all tests before submitting a pull request.

@ -1,28 +1,26 @@
FROM python:3.11-alpine as build FROM python:3.11-slim-bullseye as build
WORKDIR /wheels WORKDIR /wheels
RUN apk add --no-cache \
g++ \
gcc \
git \
libxml2 \
libxml2-dev \
libxslt-dev \
linux-headers
COPY requirements.txt /opt/sherlock/
RUN pip3 wheel -r /opt/sherlock/requirements.txt
COPY requirements.txt /opt/sherlock/
RUN apt-get update \
&& apt-get install -y build-essential \
&& pip3 wheel -r /opt/sherlock/requirements.txt
FROM python:3.11-alpine FROM python:3.11-slim-bullseye
WORKDIR /opt/sherlock WORKDIR /opt/sherlock
ARG VCS_REF ARG VCS_REF
ARG VCS_URL="https://github.com/sherlock-project/sherlock" ARG VCS_URL="https://github.com/sherlock-project/sherlock"
LABEL org.label-schema.vcs-ref=$VCS_REF \ LABEL org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL org.label-schema.vcs-url=$VCS_URL
COPY --from=build /wheels /wheels COPY --from=build /wheels /wheels
COPY . /opt/sherlock/ COPY . /opt/sherlock/
RUN pip3 install -r requirements.txt -f /wheels \
&& rm -rf /wheels \ RUN pip3 install --no-cache-dir -r requirements.txt -f /wheels \
&& rm -rf /root/.cache/pip/* && rm -rf /wheels
WORKDIR /opt/sherlock/sherlock WORKDIR /opt/sherlock/sherlock
ENTRYPOINT ["python", "sherlock.py"] ENTRYPOINT ["python", "sherlock.py"]

@ -1,17 +1,9 @@
<p align=center> <p align=center>
<br>
<img src="https://user-images.githubusercontent.com/27065646/53551960-ae4dff80-3b3a-11e9-9075-cef786c69364.png"/> <a href="https://sherlock-project.github.io/" target="_blank"><img src="https://user-images.githubusercontent.com/27065646/53551960-ae4dff80-3b3a-11e9-9075-cef786c69364.png"/></a>
<br> <br>
<span>Hunt down social media accounts by username across <a href="https://github.com/sherlock-project/sherlock/blob/master/sites.md">social networks</a></span> <span>Hunt down social media accounts by username across <a href="https://github.com/sherlock-project/sherlock/blob/master/sites.md">social networks</a></span>
<br> <br>
<a target="_blank" href="https://www.python.org/downloads/" title="Python version"><img src="https://img.shields.io/badge/python-%3E=_3.6-green.svg"></a>
<a target="_blank" href="LICENSE" title="License: MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg"></a>
<a target="_blank" href="https://github.com/sherlock-project/sherlock/actions" title="Test Status"><img src="https://github.com/sherlock-project/sherlock/workflows/Tests/badge.svg?branch=master"></a>
<a target="_blank" href="https://github.com/sherlock-project/sherlock/actions" title="Nightly Tests"><img src="https://github.com/sherlock-project/sherlock/workflows/Nightly/badge.svg?branch=master"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=%F0%9F%94%8E%20Find%20usernames%20across%20social%20networks%20&url=https://github.com/sherlock-project/sherlock&hashtags=hacking,%20osint,%20bugbounty,%20reconnaissance" title="Share on Twitter"><img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social"></a>
<a target="_blank" href="http://sherlock-project.github.io/"><img alt="Website" src="https://img.shields.io/website-up-down-green-red/http/sherlock-project.github.io/..svg"></a>
<a target="_blank" href="https://hub.docker.com/r/theyahya/sherlock"><img alt="docker image" src="https://img.shields.io/docker/v/theyahya/sherlock"></a>
</p> </p>
<p align="center"> <p align="center">
@ -25,8 +17,7 @@
</p> </p>
<p align="center"> <p align="center">
<a href="https://asciinema.org/a/223115"> <img width="70%" height="70%" src="https://user-images.githubusercontent.com/27065646/219638267-a5e11090-aa6e-4e77-87f7-0e95f6ad5978.png"/>
<img src="./images/sherlock_demo.gif"/>
</a> </a>
</p> </p>
@ -55,10 +46,11 @@ usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT]
[--browse] [--local] [--browse] [--local]
USERNAMES [USERNAMES ...] USERNAMES [USERNAMES ...]
Sherlock: Find Usernames Across Social Networks (Version 0.14.0) Sherlock: Find Usernames Across Social Networks (Version 0.14.2)
positional arguments: positional arguments:
USERNAMES One or more usernames to check with social networks. USERNAMES One or more usernames to check with social networks.
Check similar usernames using {%} (replace to '_', '-', '.').
optional arguments: optional arguments:
-h, --help show this help message and exit -h, --help show this help message and exit
@ -66,30 +58,26 @@ optional arguments:
--verbose, -v, -d, --debug --verbose, -v, -d, --debug
Display extra debugging information and metrics. Display extra debugging information and metrics.
--folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT --folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT
If using multiple usernames, the output of the results If using multiple usernames, the output of the results will be
will be saved to this folder. saved to this folder.
--output OUTPUT, -o OUTPUT --output OUTPUT, -o OUTPUT
If using single username, the output of the result If using single username, the output of the result will be saved
will be saved to this file. to this file.
--tor, -t Make requests over Tor; increases runtime; requires --tor, -t Make requests over Tor; increases runtime; requires Tor to be
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. 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.
--csv Create Comma-Separated Values (CSV) File. --csv Create Comma-Separated Values (CSV) File.
--site SITE_NAME Limit analysis to just the listed sites. Add multiple --xlsx Create the standard file for the modern Microsoft Excel
options to specify more than one site. spreadsheet (xslx).
--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 --proxy PROXY_URL, -p PROXY_URL
Make requests over a proxy. e.g. Make requests over a proxy. e.g. socks5://127.0.0.1:1080
socks5://127.0.0.1:1080
--json JSON_FILE, -j JSON_FILE --json JSON_FILE, -j JSON_FILE
Load data from a JSON file or an online, valid, JSON Load data from a JSON file or an online, valid, JSON file.
file. --timeout TIMEOUT Time (in seconds) to wait for response to requests (Default: 60)
--timeout TIMEOUT Time (in seconds) to wait for response to requests.
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.
--print-all Output sites where the username was not found. --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.
--no-color Don't color terminal output --no-color Don't color terminal output
@ -111,7 +99,7 @@ Accounts found will be stored in an individual text file with the corresponding
## Anaconda (Windows) Notes ## Anaconda (Windows) Notes
If you are using Anaconda in Windows, using 'python3' might not work. Use 'python' instead. If you are using Anaconda in Windows, using `python3` might not work. Use `python` instead.
## Docker Notes ## Docker Notes
@ -127,24 +115,14 @@ Once the image is built, sherlock can be invoked by running the following:
docker run --rm -t mysherlock-image user123 docker run --rm -t mysherlock-image user123
``` ```
The optional ```--rm``` flag removes the container filesystem on completion to prevent cruft build-up. See: https://docs.docker.com/engine/reference/run/#clean-up---rm
The optional ```-t``` flag allocates a pseudo-TTY which allows colored output. See: https://docs.docker.com/engine/reference/run/#foreground
Use the following command to access the saved results: Use the following command to access the saved results:
``` ```
docker run --rm -t -v "$PWD/results:/opt/sherlock/results" mysherlock-image -o /opt/sherlock/results/text.txt user123 docker run --rm -t -v "$PWD/results:/opt/sherlock/results" mysherlock-image -o /opt/sherlock/results/text.txt user123
``` ```
The ```-v "$PWD/results:/opt/sherlock/results"``` options tell docker to create (or use) the folder `results` in the Docker is instructed to create (or use) the folder `results` in the current working directory and to mount it at `/opt/sherlock/results` on the docker container by using the ```-v "$PWD/results:/opt/sherlock/results"``` options. `Sherlock` is instructed to export the result using the `-o /opt/sherlock/results/text.txt` option.
present working directory and to mount it at `/opt/sherlock/results` on the docker container.
The `-o /opt/sherlock/results/text.txt` option tells `sherlock` to output the result.
Or you can use "Docker Hub" to run `sherlock`:
```
docker run theyahya/sherlock user123
```
### Using `docker-compose` ### Using `docker-compose`
@ -177,7 +155,7 @@ The following is an example of the command line to run all the tests for
Sherlock. This invocation hides the progress text that Sherlock normally Sherlock. This invocation hides the progress text that Sherlock normally
outputs, and instead shows the verbose output of the tests. outputs, and instead shows the verbose output of the tests.
``` ```console
$ cd sherlock/sherlock $ cd sherlock/sherlock
$ python3 -m unittest tests.all --verbose $ python3 -m unittest tests.all --verbose
``` ```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

@ -1,367 +1,278 @@
{ {
"AdobeForums": { "AdobeForums": {
"errorType": "status_code", "errorType": "status_code",
"rank": 59,
"url": "https://forums.adobe.com/people/{}", "url": "https://forums.adobe.com/people/{}",
"urlMain": "https://forums.adobe.com/", "urlMain": "https://forums.adobe.com/",
"username_claimed": "jack", "username_claimed": "jack"
"username_unclaimed": "noonewouldeverusethis77777"
}, },
"AngelList": { "AngelList": {
"errorType": "status_code", "errorType": "status_code",
"rank": 5767,
"url": "https://angel.co/u/{}", "url": "https://angel.co/u/{}",
"urlMain": "https://angel.co/", "urlMain": "https://angel.co/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Basecamp": { "Basecamp": {
"errorMsg": "The account you were looking for doesn't exist", "errorMsg": "The account you were looking for doesn't exist",
"errorType": "message", "errorType": "message",
"rank": 4914,
"url": "https://{}.basecamphq.com", "url": "https://{}.basecamphq.com",
"urlMain": "https://basecamp.com/", "urlMain": "https://basecamp.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"BlackPlanet": { "BlackPlanet": {
"errorMsg": "My Hits", "errorMsg": "My Hits",
"errorType": "message", "errorType": "message",
"rank": 110021,
"url": "http://blackplanet.com/{}", "url": "http://blackplanet.com/{}",
"urlMain": "http://blackplanet.com/" "urlMain": "http://blackplanet.com/"
}, },
"Canva": { "Canva": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "https://www.canva.com/{}", "errorUrl": "https://www.canva.com/{}",
"rank": 128,
"url": "https://www.canva.com/{}", "url": "https://www.canva.com/{}",
"urlMain": "https://www.canva.com/", "urlMain": "https://www.canva.com/",
"username_claimed": "jenny", "username_claimed": "jenny"
"username_unclaimed": "xgtrq"
}, },
"Codementor": { "Codementor": {
"errorType": "status_code", "errorType": "status_code",
"rank": 10252,
"url": "https://www.codementor.io/@{}", "url": "https://www.codementor.io/@{}",
"urlMain": "https://www.codementor.io/", "urlMain": "https://www.codementor.io/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"EVE Online": { "EVE Online": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "https://eveonline.com", "errorUrl": "https://eveonline.com",
"rank": 15347,
"url": "https://evewho.com/pilot/{}/", "url": "https://evewho.com/pilot/{}/",
"urlMain": "https://eveonline.com", "urlMain": "https://eveonline.com",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"fanpop": { "fanpop": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "http://www.fanpop.com/", "errorUrl": "http://www.fanpop.com/",
"rank": 9454,
"url": "http://www.fanpop.com/fans/{}", "url": "http://www.fanpop.com/fans/{}",
"urlMain": "http://www.fanpop.com/", "urlMain": "http://www.fanpop.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewould_everusethis7"
}, },
"Fotolog": { "Fotolog": {
"errorType": "status_code", "errorType": "status_code",
"rank": 47777,
"url": "https://fotolog.com/{}", "url": "https://fotolog.com/{}",
"urlMain": "https://fotolog.com/" "urlMain": "https://fotolog.com/"
}, },
"Foursquare": { "Foursquare": {
"errorType": "status_code", "errorType": "status_code",
"rank": 1843,
"url": "https://foursquare.com/{}", "url": "https://foursquare.com/{}",
"urlMain": "https://foursquare.com/", "urlMain": "https://foursquare.com/",
"username_claimed": "dens", "username_claimed": "dens"
"username_unclaimed": "noonewouldeverusethis7"
},
"furaffinity": {
"errorMsg": "user cannot be found",
"errorType": "message",
"rank": 0,
"url": "https://www.furaffinity.net/user/{}",
"urlMain": "https://www.furaffinity.net",
"username_claimed": "blue",
"username_unclaimed": "noonewouldeverusethis777777"
}, },
"gpodder.net": { "gpodder.net": {
"errorType": "status_code", "errorType": "status_code",
"rank": 2013984,
"url": "https://gpodder.net/user/{}", "url": "https://gpodder.net/user/{}",
"urlMain": "https://gpodder.net/", "urlMain": "https://gpodder.net/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Investing.com": { "Investing.com": {
"errorType": "status_code", "errorType": "status_code",
"rank": 196,
"url": "https://www.investing.com/traders/{}", "url": "https://www.investing.com/traders/{}",
"urlMain": "https://www.investing.com/", "urlMain": "https://www.investing.com/",
"username_claimed": "jenny", "username_claimed": "jenny"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Khan Academy": { "Khan Academy": {
"errorType": "status_code", "errorType": "status_code",
"rank": 377,
"url": "https://www.khanacademy.org/profile/{}", "url": "https://www.khanacademy.org/profile/{}",
"urlMain": "https://www.khanacademy.org/", "urlMain": "https://www.khanacademy.org/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"KiwiFarms": { "KiwiFarms": {
"errorMsg": "The specified member cannot be found", "errorMsg": "The specified member cannot be found",
"errorType": "message", "errorType": "message",
"rank": 38737,
"url": "https://kiwifarms.net/members/?username={}", "url": "https://kiwifarms.net/members/?username={}",
"urlMain": "https://kiwifarms.net/", "urlMain": "https://kiwifarms.net/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis"
}, },
"Linkedin": { "Linkedin": {
"errorMsg": "could not be found", "errorMsg": "could not be found",
"errorType": "message", "errorType": "message",
"rank": 0,
"url": "https://www.linkedin.com/in/{}", "url": "https://www.linkedin.com/in/{}",
"urlMain": "https://www.linkedin.com/", "urlMain": "https://www.linkedin.com/",
"username_claimed": "alex", "username_claimed": "alex"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"NPM-Package": { "NPM-Package": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://www.npmjs.com/package/{}", "url": "https://www.npmjs.com/package/{}",
"urlMain": "https://www.npmjs.com/", "urlMain": "https://www.npmjs.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Pexels": { "Pexels": {
"errorType": "status_code", "errorType": "status_code",
"rank": 745,
"url": "https://www.pexels.com/@{}", "url": "https://www.pexels.com/@{}",
"urlMain": "https://www.pexels.com/", "urlMain": "https://www.pexels.com/",
"username_claimed": "bruno", "username_claimed": "bruno"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Pixabay": { "Pixabay": {
"errorType": "status_code", "errorType": "status_code",
"rank": 378,
"url": "https://pixabay.com/en/users/{}", "url": "https://pixabay.com/en/users/{}",
"urlMain": "https://pixabay.com/", "urlMain": "https://pixabay.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"PowerShell Gallery": { "PowerShell Gallery": {
"errorType": "status_code", "errorType": "status_code",
"rank": 163562,
"url": "https://www.powershellgallery.com/profiles/{}", "url": "https://www.powershellgallery.com/profiles/{}",
"urlMain": "https://www.powershellgallery.com", "urlMain": "https://www.powershellgallery.com",
"username_claimed": "powershellteam", "username_claimed": "powershellteam"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"RamblerDating": { "RamblerDating": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "https://dating.rambler.ru/page/{}", "errorUrl": "https://dating.rambler.ru/page/{}",
"rank": 322,
"url": "https://dating.rambler.ru/page/{}", "url": "https://dating.rambler.ru/page/{}",
"urlMain": "https://dating.rambler.ru/", "urlMain": "https://dating.rambler.ru/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Shockwave": { "Shockwave": {
"errorMsg": "Oh no! You just finished all of the games on the internet!", "errorMsg": "Oh no! You just finished all of the games on the internet!",
"errorType": "message", "errorType": "message",
"rank": 35916,
"url": "http://www.shockwave.com/member/profiles/{}.jsp", "url": "http://www.shockwave.com/member/profiles/{}.jsp",
"urlMain": "http://www.shockwave.com/", "urlMain": "http://www.shockwave.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis"
}, },
"StreamMe": { "StreamMe": {
"errorType": "status_code", "errorType": "status_code",
"rank": 31702,
"url": "https://www.stream.me/{}", "url": "https://www.stream.me/{}",
"urlMain": "https://www.stream.me/", "urlMain": "https://www.stream.me/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Teknik": { "Teknik": {
"errorMsg": "The user does not exist", "errorMsg": "The user does not exist",
"errorType": "message", "errorType": "message",
"rank": 357163,
"url": "https://user.teknik.io/{}", "url": "https://user.teknik.io/{}",
"urlMain": "https://teknik.io/", "urlMain": "https://teknik.io/",
"username_claimed": "red", "username_claimed": "red"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"YandexMarket": { "YandexMarket": {
"errorMsg": "\u0422\u0443\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442", "errorMsg": "\u0422\u0443\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442",
"errorType": "message", "errorType": "message",
"rank": 47,
"url": "https://market.yandex.ru/user/{}/achievements", "url": "https://market.yandex.ru/user/{}/achievements",
"urlMain": "https://market.yandex.ru/", "urlMain": "https://market.yandex.ru/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Insanejournal": { "Insanejournal": {
"errorMsg": "Unknown user", "errorMsg": "Unknown user",
"errorType": "message", "errorType": "message",
"rank": 29728,
"url": "http://{}.insanejournal.com/profile", "url": "http://{}.insanejournal.com/profile",
"urlMain": "insanejournal.com", "urlMain": "insanejournal.com",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "dlyr6cd"
}, },
"Trip": { "Trip": {
"errorType": "status_code", "errorType": "status_code",
"rank": 2847, "url": "https://www.trip.skyscanner.com/user/{}",
"url": "https://www.trip.skyscanner.com/user/{}", "urlMain": "https://www.trip.skyscanner.com/",
"urlMain": "https://www.trip.skyscanner.com/", "username_claimed": "blue"
"username_claimed": "blue",
"username_unclaimed": "noonewouldeverusethis7"
}, },
"SportsTracker": { "SportsTracker": {
"errorUrl": "https://www.sports-tracker.com/page-not-found", "errorUrl": "https://www.sports-tracker.com/page-not-found",
"errorType": "response_url", "errorType": "response_url",
"rank": 93950, "url": "https://www.sports-tracker.com/view_profile/{}",
"url": "https://www.sports-tracker.com/view_profile/{}", "urlMain": "https://www.sports-tracker.com/",
"urlMain": "https://www.sports-tracker.com/", "username_claimed": "blue"
"username_claimed": "blue",
"username_unclaimed": "noonewouldeveruse"
}, },
"boingboing.net": { "boingboing.net": {
"errorType": "status_code", "errorType": "status_code",
"rank": 5821, "url": "https://bbs.boingboing.net/u/{}",
"url": "https://bbs.boingboing.net/u/{}", "urlMain": "https://boingboing.net/",
"urlMain": "https://boingboing.net/", "username_claimed": "admin"
"username_claimed": "admin",
"username_unclaimed": "noonewouldeverusethis7"
}, },
"elwoRU": { "elwoRU": {
"errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d", "errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
"errorType": "message", "errorType": "message",
"rank": 254810,
"url": "https://elwo.ru/index/8-0-{}", "url": "https://elwo.ru/index/8-0-{}",
"urlMain": "https://elwo.ru/", "urlMain": "https://elwo.ru/",
"username_claimed": "red", "username_claimed": "red"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"ingvarr.net.ru": { "ingvarr.net.ru": {
"errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d", "errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
"errorType": "message", "errorType": "message",
"rank": 107721,
"url": "http://ingvarr.net.ru/index/8-0-{}", "url": "http://ingvarr.net.ru/index/8-0-{}",
"urlMain": "http://ingvarr.net.ru/", "urlMain": "http://ingvarr.net.ru/",
"username_claimed": "red", "username_claimed": "red"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Redsun.tf": { "Redsun.tf": {
"errorMsg": "The specified member cannot be found", "errorMsg": "The specified member cannot be found",
"errorType": "message", "errorType": "message",
"rank": 3796657,
"url": "https://forum.redsun.tf/members/?username={}", "url": "https://forum.redsun.tf/members/?username={}",
"urlMain": "https://redsun.tf/", "urlMain": "https://redsun.tf/",
"username_claimed": "dan", "username_claimed": "dan"
"username_unclaimed": "noonewouldeverusethis"
}, },
"CreativeMarket": { "CreativeMarket": {
"errorType": "status_code", "errorType": "status_code",
"rank": 1896,
"url": "https://creativemarket.com/users/{}", "url": "https://creativemarket.com/users/{}",
"urlMain": "https://creativemarket.com/", "urlMain": "https://creativemarket.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"pvpru": { "pvpru": {
"errorType": "status_code", "errorType": "status_code",
"rank": 405547,
"url": "https://pvpru.com/board/member.php?username={}&tab=aboutme#aboutme", "url": "https://pvpru.com/board/member.php?username={}&tab=aboutme#aboutme",
"urlMain": "https://pvpru.com/", "urlMain": "https://pvpru.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"easyen": { "easyen": {
"errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d", "errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
"errorType": "message", "errorType": "message",
"rank": 11564,
"url": "https://easyen.ru/index/8-0-{}", "url": "https://easyen.ru/index/8-0-{}",
"urlMain": "https://easyen.ru/", "urlMain": "https://easyen.ru/",
"username_claimed": "wd", "username_claimed": "wd"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"pedsovet": { "pedsovet": {
"errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d", "errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
"errorType": "message", "errorType": "message",
"rank": 6776,
"url": "http://pedsovet.su/index/8-0-{}", "url": "http://pedsovet.su/index/8-0-{}",
"urlMain": "http://pedsovet.su/", "urlMain": "http://pedsovet.su/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"radioskot": { "radioskot": {
"errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d", "errorMsg": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
"errorType": "message", "errorType": "message",
"rank": 105878,
"url": "https://radioskot.ru/index/8-0-{}", "url": "https://radioskot.ru/index/8-0-{}",
"urlMain": "https://radioskot.ru/", "urlMain": "https://radioskot.ru/",
"username_claimed": "red", "username_claimed": "red"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Coderwall": { "Coderwall": {
"errorMsg": "404! Our feels when that url is used", "errorMsg": "404! Our feels when that url is used",
"errorType": "message", "errorType": "message",
"rank": 11256,
"url": "https://coderwall.com/{}", "url": "https://coderwall.com/{}",
"urlMain": "https://coderwall.com/", "urlMain": "https://coderwall.com/",
"username_claimed": "jenny", "username_claimed": "jenny"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"TamTam": { "TamTam": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "https://tamtam.chat/", "errorUrl": "https://tamtam.chat/",
"rank": 87903,
"url": "https://tamtam.chat/{}", "url": "https://tamtam.chat/{}",
"urlMain": "https://tamtam.chat/", "urlMain": "https://tamtam.chat/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Zomato": { "Zomato": {
"errorType": "status_code", "errorType": "status_code",
"headers": { "headers": {
"Accept-Language": "en-US,en;q=0.9" "Accept-Language": "en-US,en;q=0.9"
}, },
"rank": 1920,
"url": "https://www.zomato.com/pl/{}/foodjourney", "url": "https://www.zomato.com/pl/{}/foodjourney",
"urlMain": "https://www.zomato.com/", "urlMain": "https://www.zomato.com/",
"username_claimed": "deepigoyal", "username_claimed": "deepigoyal"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"mixer.com": { "mixer.com": {
"errorType": "status_code", "errorType": "status_code",
"rank": 1544,
"url": "https://mixer.com/{}", "url": "https://mixer.com/{}",
"urlMain": "https://mixer.com/", "urlMain": "https://mixer.com/",
"urlProbe": "https://mixer.com/api/v1/channels/{}", "urlProbe": "https://mixer.com/api/v1/channels/{}",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"KanoWorld": { "KanoWorld": {
"errorType": "status_code", "errorType": "status_code",
"rank": 181933,
"url": "https://api.kano.me/progress/user/{}", "url": "https://api.kano.me/progress/user/{}",
"urlMain": "https://world.kano.me/", "urlMain": "https://world.kano.me/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"YandexCollection": { "YandexCollection": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://yandex.ru/collections/user/{}/", "url": "https://yandex.ru/collections/user/{}/",
"urlMain": "https://yandex.ru/collections/", "urlMain": "https://yandex.ru/collections/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"PayPal": { "PayPal": {
"errorMsg": "<meta name=\"twitter:title\" content=\"Get your very own PayPal.Me link\" />", "errorMsg": "<meta name=\"twitter:title\" content=\"Get your very own PayPal.Me link\" />",
@ -371,66 +282,57 @@
"User-Agent": "" "User-Agent": ""
}, },
"urlMain": "https://www.paypal.me/", "urlMain": "https://www.paypal.me/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noneownsthisusername7"
}, },
"ImageShack": { "ImageShack": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "https://imageshack.us/", "errorUrl": "https://imageshack.us/",
"url": "https://imageshack.us/user/{}", "url": "https://imageshack.us/user/{}",
"urlMain": "https://imageshack.us/", "urlMain": "https://imageshack.us/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Aptoide": { "Aptoide": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://{}.en.aptoide.com/", "url": "https://{}.en.aptoide.com/",
"urlMain": "https://en.aptoide.com/", "urlMain": "https://en.aptoide.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Crunchyroll": { "Crunchyroll": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://www.crunchyroll.com/user/{}", "url": "https://www.crunchyroll.com/user/{}",
"urlMain": "https://www.crunchyroll.com/", "urlMain": "https://www.crunchyroll.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"T-MobileSupport": { "T-MobileSupport": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://support.t-mobile.com/people/{}", "url": "https://support.t-mobile.com/people/{}",
"urlMain": "https://support.t-mobile.com", "urlMain": "https://support.t-mobile.com",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"OpenCollective": { "OpenCollective": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://opencollective.com/{}", "url": "https://opencollective.com/{}",
"urlMain": "https://opencollective.com/", "urlMain": "https://opencollective.com/",
"username_claimed": "sindresorhus", "username_claimed": "sindresorhus"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"SegmentFault": { "SegmentFault": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://segmentfault.com/u/{}", "url": "https://segmentfault.com/u/{}",
"urlMain": "https://segmentfault.com/", "urlMain": "https://segmentfault.com/",
"username_claimed": "bule", "username_claimed": "bule"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Viadeo": { "Viadeo": {
"errorType": "status_code", "errorType": "status_code",
"url": "http://fr.viadeo.com/en/profile/{}", "url": "http://fr.viadeo.com/en/profile/{}",
"urlMain": "http://fr.viadeo.com/en/", "urlMain": "http://fr.viadeo.com/en/",
"username_claimed": "franck.patissier", "username_claimed": "franck.patissier"
"username_unclaimed": "noonewouldeverusethis"
}, },
"MeetMe": { "MeetMe": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "https://www.meetme.com/", "errorUrl": "https://www.meetme.com/",
"url": "https://www.meetme.com/{}", "url": "https://www.meetme.com/{}",
"urlMain": "https://www.meetme.com/", "urlMain": "https://www.meetme.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"tracr.co": { "tracr.co": {
"errorMsg": "No search results", "errorMsg": "No search results",
@ -438,23 +340,20 @@
"regexCheck": "^[A-Za-z0-9]{2,32}$", "regexCheck": "^[A-Za-z0-9]{2,32}$",
"url": "https://tracr.co/users/1/{}", "url": "https://tracr.co/users/1/{}",
"urlMain": "https://tracr.co/", "urlMain": "https://tracr.co/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Taringa": { "Taringa": {
"errorType": "status_code", "errorType": "status_code",
"regexCheck": "^[^.]*$", "regexCheck": "^[^.]*$",
"url": "https://www.taringa.net/{}", "url": "https://www.taringa.net/{}",
"urlMain": "https://taringa.net/", "urlMain": "https://taringa.net/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Photobucket": { "Photobucket": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://photobucket.com/user/{}/library", "url": "https://photobucket.com/user/{}/library",
"urlMain": "https://photobucket.com/", "urlMain": "https://photobucket.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"4pda": { "4pda": {
"errorMsg": "[1,false,0]", "errorMsg": "[1,false,0]",
@ -462,22 +361,19 @@
"url": "https://4pda.ru/forum/index.php?act=search&source=pst&noform=1&username={}", "url": "https://4pda.ru/forum/index.php?act=search&source=pst&noform=1&username={}",
"urlMain": "https://4pda.ru/", "urlMain": "https://4pda.ru/",
"urlProbe": " https://4pda.ru/forum/index.php?act=auth&action=chkname&login={}", "urlProbe": " https://4pda.ru/forum/index.php?act=auth&action=chkname&login={}",
"username_claimed": "green", "username_claimed": "green"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"PokerStrategy": { "PokerStrategy": {
"errorType": "status_code", "errorType": "status_code",
"url": "http://www.pokerstrategy.net/user/{}/profile/", "url": "http://www.pokerstrategy.net/user/{}/profile/",
"urlMain": "http://www.pokerstrategy.net", "urlMain": "http://www.pokerstrategy.net",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Filmogs": { "Filmogs": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://www.filmo.gs/users/{}", "url": "https://www.filmo.gs/users/{}",
"urlMain": "https://www.filmo.gs/", "urlMain": "https://www.filmo.gs/",
"username_claimed": "cupparober", "username_claimed": "cupparober"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"500px": { "500px": {
"errorMsg": "No message available", "errorMsg": "No message available",
@ -485,109 +381,88 @@
"url": "https://500px.com/p/{}", "url": "https://500px.com/p/{}",
"urlMain": "https://500px.com/", "urlMain": "https://500px.com/",
"urlProbe": "https://api.500px.com/graphql?operationName=ProfileRendererQuery&variables=%7B%22username%22%3A%22{}%22%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%224d02ff5c13927a3ac73b3eef306490508bc765956940c31051468cf30402a503%22%7D%7D", "urlProbe": "https://api.500px.com/graphql?operationName=ProfileRendererQuery&variables=%7B%22username%22%3A%22{}%22%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%224d02ff5c13927a3ac73b3eef306490508bc765956940c31051468cf30402a503%22%7D%7D",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Badoo": { "Badoo": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://badoo.com/profile/{}", "url": "https://badoo.com/profile/{}",
"urlMain": "https://badoo.com/", "urlMain": "https://badoo.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Pling": { "Pling": {
"errorMsg": "Resource not found", "errorMsg": "Resource not found",
"errorType": "message", "errorType": "message",
"url": "https://www.pling.com/u/{}/", "url": "https://www.pling.com/u/{}/",
"urlMain": "https://www.pling.com/", "urlMain": "https://www.pling.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis"
}, },
"Realmeye": { "Realmeye": {
"errorMsg": "Sorry, but we either:", "errorMsg": "Sorry, but we either:",
"errorType": "message", "errorType": "message",
"url": "https://www.realmeye.com/player/{}", "url": "https://www.realmeye.com/player/{}",
"urlMain": "https://www.realmeye.com/", "urlMain": "https://www.realmeye.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Travellerspoint": { "Travellerspoint": {
"errorMsg": "Wooops. Sorry!", "errorMsg": "Wooops. Sorry!",
"errorType": "message", "errorType": "message",
"url": "https://www.travellerspoint.com/users/{}", "url": "https://www.travellerspoint.com/users/{}",
"urlMain": "https://www.travellerspoint.com", "urlMain": "https://www.travellerspoint.com",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"GDProfiles": { "GDProfiles": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://gdprofiles.com/{}", "url": "https://gdprofiles.com/{}",
"urlMain": "https://gdprofiles.com/", "urlMain": "https://gdprofiles.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis"
}, },
"AllTrails": { "AllTrails": {
"errorMsg": "class=\"home index\"", "errorMsg": "class=\"home index\"",
"errorType": "message", "errorType": "message",
"url": "https://www.alltrails.com/members/{}", "url": "https://www.alltrails.com/members/{}",
"urlMain": "https://www.alltrails.com/", "urlMain": "https://www.alltrails.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis"
}, },
"Cent": { "Cent": {
"errorMsg": "<title>Cent</title>", "errorMsg": "<title>Cent</title>",
"errorType": "message", "errorType": "message",
"url": "https://beta.cent.co/@{}", "url": "https://beta.cent.co/@{}",
"urlMain": "https://cent.co/", "urlMain": "https://cent.co/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Anobii": { "Anobii": {
"errorType": "response_url", "errorType": "response_url",
"url": "https://www.anobii.com/{}/profile", "url": "https://www.anobii.com/{}/profile",
"urlMain": "https://www.anobii.com/", "urlMain": "https://www.anobii.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Kali community": { "Kali community": {
"errorMsg": "This user has not registered and therefore does not have a profile to view.", "errorMsg": "This user has not registered and therefore does not have a profile to view.",
"errorType": "message", "errorType": "message",
"url": "https://forums.kali.org/member.php?username={}", "url": "https://forums.kali.org/member.php?username={}",
"urlMain": "https://forums.kali.org/", "urlMain": "https://forums.kali.org/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"NameMC (Minecraft.net skins)": { "NameMC (Minecraft.net skins)": {
"errorMsg": "Profiles: 0 results", "errorMsg": "Profiles: 0 results",
"errorType": "message", "errorType": "message",
"url": "https://namemc.com/profile/{}", "url": "https://namemc.com/profile/{}",
"urlMain": "https://namemc.com/", "urlMain": "https://namemc.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Steamid": { "Steamid": {
"errorMsg": "<link rel=\"canonical\" href=\"https://steamid.uk\" />", "errorMsg": "<link rel=\"canonical\" href=\"https://steamid.uk\" />",
"errorType": "message", "errorType": "message",
"url": "https://steamid.uk/profile/{}", "url": "https://steamid.uk/profile/{}",
"urlMain": "https://steamid.uk/", "urlMain": "https://steamid.uk/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"TripAdvisor": { "TripAdvisor": {
"errorMsg": "This page is on vacation\u2026", "errorMsg": "This page is on vacation\u2026",
"errorType": "message", "errorType": "message",
"url": "https://tripadvisor.com/members/{}", "url": "https://tripadvisor.com/members/{}",
"urlMain": "https://tripadvisor.com/", "urlMain": "https://tripadvisor.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
},
"YouTube": {
"errorMsg": "This page isn't available",
"errorType": "message",
"url": "https://www.youtube.com/{}",
"urlMain": "https://www.youtube.com/",
"username_claimed": "blue",
"username_unclaimed": "noonewouldeverusethis7"
}, },
"House-Mixes.com": { "House-Mixes.com": {
"errorMsg": "Profile Not Found", "errorMsg": "Profile Not Found",
@ -595,54 +470,47 @@
"regexCheck": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$", "regexCheck": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$",
"url": "https://www.house-mixes.com/profile/{}", "url": "https://www.house-mixes.com/profile/{}",
"urlMain": "https://www.house-mixes.com/", "urlMain": "https://www.house-mixes.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Quora": { "Quora": {
"errorMsg": "Page Not Found", "errorMsg": "Page Not Found",
"errorType": "message", "errorType": "message",
"url": "https://www.quora.com/profile/{}", "url": "https://www.quora.com/profile/{}",
"urlMain": "https://www.quora.com/", "urlMain": "https://www.quora.com/",
"username_claimed": "Matt-Riggsby", "username_claimed": "Matt-Riggsby"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"SparkPeople": { "SparkPeople": {
"errorMsg": "We couldn't find that user", "errorMsg": "We couldn't find that user",
"errorType": "message", "errorType": "message",
"url": "https://www.sparkpeople.com/mypage.asp?id={}", "url": "https://www.sparkpeople.com/mypage.asp?id={}",
"urlMain": "https://www.sparkpeople.com", "urlMain": "https://www.sparkpeople.com",
"username_claimed": "adam", "username_claimed": "adam"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Cloob": { "Cloob": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://www.cloob.com/name/{}", "url": "https://www.cloob.com/name/{}",
"urlMain": "https://www.cloob.com/", "urlMain": "https://www.cloob.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"1337x": { "1337x": {
"errorMsg": "Bad Username", "errorMsg": "Bad Username",
"errorType": "message", "errorType": "message",
"url": "https://1337x.to/user/{}/", "url": "https://1337x.to/user/{}/",
"urlMain": "https://1337x.to", "urlMain": "https://1337x.to",
"username_claimed": "TheMorozko", "username_claimed": "TheMorozko"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"TM-Ladder": { "TM-Ladder": {
"errorMsg": "player unknown or invalid", "errorMsg": "player unknown or invalid",
"errorType": "message", "errorType": "message",
"url": "http://en.tm-ladder.com/{}_rech.php", "url": "http://en.tm-ladder.com/{}_rech.php",
"urlMain": "http://en.tm-ladder.com/index.php", "urlMain": "http://en.tm-ladder.com/index.php",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis"
}, },
"plug.dj": { "plug.dj": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://plug.dj/@/{}", "url": "https://plug.dj/@/{}",
"urlMain": "https://plug.dj/", "urlMain": "https://plug.dj/",
"username_claimed": "plug-dj-rock", "username_claimed": "plug-dj-rock"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Facenama": { "Facenama": {
"errorType": "response_url", "errorType": "response_url",
@ -650,15 +518,13 @@
"regexCheck": "^[-a-zA-Z0-9_]+$", "regexCheck": "^[-a-zA-Z0-9_]+$",
"url": "https://facenama.com/{}", "url": "https://facenama.com/{}",
"urlMain": "https://facenama.com/", "urlMain": "https://facenama.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis77"
}, },
"Designspiration": { "Designspiration": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://www.designspiration.net/{}/", "url": "https://www.designspiration.net/{}/",
"urlMain": "https://www.designspiration.net/", "urlMain": "https://www.designspiration.net/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"CapFriendly": { "CapFriendly": {
"errorMsg": "<div class=\"err show p5\">No results found</div>", "errorMsg": "<div class=\"err show p5\">No results found</div>",
@ -666,100 +532,201 @@
"regexCheck": "^[a-zA-z][a-zA-Z0-9_]{2,79}$", "regexCheck": "^[a-zA-z][a-zA-Z0-9_]{2,79}$",
"url": "https://www.capfriendly.com/users/{}", "url": "https://www.capfriendly.com/users/{}",
"urlMain": "https://www.capfriendly.com/", "urlMain": "https://www.capfriendly.com/",
"username_claimed": "thisactuallyexists", "username_claimed": "thisactuallyexists"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Gab": { "Gab": {
"errorMsg": "The page you are looking for isn't here.", "errorMsg": "The page you are looking for isn't here.",
"errorType": "message", "errorType": "message",
"url": "https://gab.com/{}", "url": "https://gab.com/{}",
"urlMain": "https://gab.com", "urlMain": "https://gab.com",
"username_claimed": "a", "username_claimed": "a"
"username_unclaimed": "noonewouldeverusethis"
},
"Venmo": {
"errorMsg": "The profile you&#x27;re looking for isn&#x27;t available",
"errorType": "message",
"url": "https://venmo.com/u/{}",
"urlMain": "https://venmo.com/",
"username_claimed": "jenny",
"username_unclaimed": "noonewouldeverusethis7"
}, },
"FanCentro": { "FanCentro": {
"errorMsg": "var environment", "errorMsg": "var environment",
"errorType": "message", "errorType": "message",
"url": "https://fancentro.com/{}", "url": "https://fancentro.com/{}",
"urlMain": "https://fancentro.com/", "urlMain": "https://fancentro.com/",
"username_claimed": "nielsrosanna", "username_claimed": "nielsrosanna"
"username_unclaimed": "noonewouldeverusethis7"
},
"Snapchat": {
"errorMsg": "OK",
"errorType": "message",
"headers": {
"Cookie": "xsrf_token=PlEcin8s5H600toD4Swngg; sc-cookies-accepted=true; web_client_id=b1e4a3c7-4a38-4c1a-9996-2c4f24f7f956; oauth_client_id=c2Nhbg==",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0"
},
"regexCheck": "^[a-z][a-z-_.]{3,15}",
"request_method": "POST",
"url": "https://www.snapchat.com/add/{}",
"urlMain": "https://www.snapchat.com",
"urlProbe": "https://accounts.snapchat.com/accounts/get_username_suggestions?requested_username={}&xsrf_token=PlEcin8s5H600toD4Swngg",
"username_claimed": "teamsnapchat",
"username_unclaimed": "revedluowenoon"
},
"Chess": {
"errorMsg": "\"valid\": false",
"errorType": "message",
"regexCheck": "^[a-z1-9]{3,25}$",
"url": "https://www.chess.com/member/{}",
"urlMain": "https://www.chess.com/",
"urlProbe": "https://www.chess.com/callback/user/valid?username={}",
"username_claimed": "blue",
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Codeforces": { "Codeforces": {
"errorType": "response_url", "errorType": "response_url",
"errorUrl": "https://codeforces.com/", "errorUrl": "https://codeforces.com/",
"url": "https://codeforces.com/profile/{}", "url": "https://codeforces.com/profile/{}",
"urlMain": "https://www.codeforces.com/", "urlMain": "https://www.codeforces.com/",
"username_claimed": "tourist", "username_claimed": "tourist"
"username_unclaimed": "noonewouldeverusethis789"
}, },
"Smashcast": { "Smashcast": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://www.smashcast.tv/api/media/live/{}", "url": "https://www.smashcast.tv/api/media/live/{}",
"urlMain": "https://www.smashcast.tv/", "urlMain": "https://www.smashcast.tv/",
"username_claimed": "hello", "username_claimed": "hello"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Countable": { "Countable": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://www.countable.us/{}", "url": "https://www.countable.us/{}",
"urlMain": "https://www.countable.us/", "urlMain": "https://www.countable.us/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Spotify": { "Spotify": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://open.spotify.com/user/{}", "url": "https://open.spotify.com/user/{}",
"urlMain": "https://open.spotify.com/", "urlMain": "https://open.spotify.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Steam": { "Steam": {
"errorMsg": "The specified profile could not be found", "errorMsg": "The specified profile could not be found",
"errorType": "message", "errorType": "message",
"url": "https://steamcommunity.com/id/{}", "url": "https://steamcommunity.com/id/{}",
"urlMain": "https://steamcommunity.com/", "urlMain": "https://steamcommunity.com/",
"username_claimed": "blue", "username_claimed": "blue"
"username_unclaimed": "noonewouldeverusethis7"
}, },
"Raidforums": { "Raidforums": {
"errorType": "status_code", "errorType": "status_code",
"url": "https://raidforums.com/User-{}", "url": "https://raidforums.com/User-{}",
"urlMain": "https://raidforums.com/", "urlMain": "https://raidforums.com/",
"username_claimed": "red", "username_claimed": "red"
"username_unclaimed": "noonewouldeverusethis7" },
"Pinterest": {
"errorType": "status_code",
"url": "https://www.pinterest.com/{}/",
"urlMain": "https://www.pinterest.com/",
"username_claimed": "blue"
},
"PCPartPicker": {
"errorType": "status_code",
"url": "https://pcpartpicker.com/user/{}",
"urlMain": "https://pcpartpicker.com",
"username_claimed": "blue"
},
"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"
},
"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"
},
"Ghost": {
"errorMsg": "Domain Error",
"errorType": "message",
"url": "https://{}.ghost.io/",
"urlMain": "https://ghost.org/",
"username_claimed": "troyhunt"
},
"Atom Discussions": {
"errorMsg": "Oops! That page doesn\u2019t exist or is private.",
"errorType": "message",
"url": "https://discuss.atom.io/u/{}/summary",
"urlMain": "https://discuss.atom.io",
"username_claimed": "blue"
},
"Gam1ng": {
"errorType": "status_code",
"url": "https://gam1ng.com.br/user/{}",
"urlMain": "https://gam1ng.com.br",
"username_claimed": "PinKgirl"
}, },
"OGUsers": {
"errorType": "status_code",
"url": "https://ogusers.com/{}",
"urlMain": "https://ogusers.com/",
"username_claimed": "ogusers"
},
"Otzovik": {
"errorType": "status_code",
"url": "https://otzovik.com/profile/{}",
"urlMain": "https://otzovik.com/",
"username_claimed": "blue"
},
"radio_echo_msk": {
"errorType": "status_code",
"url": "https://echo.msk.ru/users/{}",
"urlMain": "https://echo.msk.ru/",
"username_claimed": "blue"
},
"Ello": {
"errorMsg": "We couldn't find the page you're looking for",
"errorType": "message",
"url": "https://ello.co/{}",
"urlMain": "https://ello.co/",
"username_claimed": "blue"
},
"GitHub Support Community": {
"errorMsg": "Oops! That page doesn\u2019t exist or is private.",
"errorType": "message",
"url": "https://github.community/u/{}/summary",
"urlMain": "https://github.community",
"username_claimed": "jperl"
},
"GuruShots": {
"errorType": "status_code",
"url": "https://gurushots.com/{}/photos",
"urlMain": "https://gurushots.com/",
"username_claimed": "blue"
},
"Google Developer": {
"errorMsg": "Sorry, the profile was not found.",
"errorType": "message",
"url": "https://g.dev/{}",
"urlMain": "https://g.dev/",
"username_claimed": "blue"
},
"mastodon.technology": {
"errorType": "status_code",
"url": "https://mastodon.technology/@{}",
"urlMain": "https://mastodon.xyz/",
"username_claimed": "ashfurrow"
},
"zoomit": {
"errorMsg": "\u0645\u062a\u0627\u0633\u0641\u0627\u0646\u0647 \u0635\u0641\u062d\u0647 \u06cc\u0627\u0641\u062a \u0646\u0634\u062f",
"errorType": "message",
"url": "https://www.zoomit.ir/user/{}",
"urlMain": "https://www.zoomit.ir",
"username_claimed": "kossher"
},
"Facebook": {
"errorType": "status_code",
"regexCheck": "^[a-zA-Z0-9\\.]{3,49}(?<!\\.com|\\.org|\\.net)$",
"url": "https://www.facebook.com/{}",
"urlMain": "https://www.facebook.com/",
"urlProbe": "https://www.facebook.com/{}/videos/",
"username_claimed": "hackerman"
},
"BinarySearch": {
"errorMsg": "{}",
"errorType": "message",
"regexCheck": "^[a-zA-Z0-9-_]{1,15}$",
"url": "https://binarysearch.io/@/{}",
"urlMain": "https://binarysearch.io/",
"urlProbe": "https://binarysearch.io/api/users/{}/profile",
"username_claimed": "Eyes_Wide_Shut"
},
"Arduino": {
"errorType": "status_code",
"regexCheck": "^(?![_-])[A-Za-z0-9_-]{3,}$",
"url": "https://create.arduino.cc/projecthub/{}",
"urlMain": "https://www.arduino.cc/",
"username_claimed": "blue"
},
"koo": {
"errorMsg": "This profile does not exist",
"errorType": "message",
"url": "https://www.kooapp.com/profile/{}",
"urlMain": "https://www.kooapp.com",
"urlProbe": "https://www.kooapp.com/apiV1/users/handle/{}/valid",
"username_claimed": "john"
},
"We Heart It": {
"errorMsg": "Oops! You've landed on a moving target!",
"errorType": "message",
"url": "https://weheartit.com/{}",
"urlMain": "https://weheartit.com/",
"username_claimed": "ventivogue"
}
} }

File diff suppressed because it is too large Load Diff

@ -7,3 +7,4 @@ stem>=1.8.0
torrequest>=0.1.0 torrequest>=0.1.0
pandas>=1.0.0 pandas>=1.0.0
openpyxl<=3.0.10 openpyxl<=3.0.10
exrex>=0.11.0

@ -5,7 +5,11 @@ results of queries.
""" """
from result import QueryStatus from result import QueryStatus
from colorama import Fore, Style from colorama import Fore, Style
globvar = 0 # global variable to count the number of results. import webbrowser
# Global variable to count the number of results.
globvar = 0
class QueryNotify: class QueryNotify:
"""Query Notify Object. """Query Notify Object.
@ -52,7 +56,7 @@ class QueryNotify:
Nothing. Nothing.
""" """
# return # return
def update(self, result): def update(self, result):
"""Notify Update. """Notify Update.
@ -101,7 +105,8 @@ class QueryNotify:
Return Value: Return Value:
Nicely formatted string to get information about this object. Nicely formatted string to get information about this object.
""" """
return str(self.result) return str(self.result)
class QueryNotifyPrint(QueryNotify): class QueryNotifyPrint(QueryNotify):
"""Query Notify Print Object. """Query Notify Print Object.
@ -109,7 +114,7 @@ class QueryNotifyPrint(QueryNotify):
Query notify class that prints results. Query notify class that prints results.
""" """
def __init__(self, result=None, verbose=False, print_all=False): def __init__(self, result=None, verbose=False, print_all=False, browse=False):
"""Create Query Notify Print Object. """Create Query Notify Print Object.
Contains information about a specific method of notifying the results Contains information about a specific method of notifying the results
@ -121,6 +126,7 @@ class QueryNotifyPrint(QueryNotify):
results for this query. results for this query.
verbose -- Boolean indicating whether to give verbose output. verbose -- Boolean indicating whether to give verbose output.
print_all -- Boolean indicating whether to only print all sites, including not found. print_all -- Boolean indicating whether to only print all sites, including not found.
browse -- Boolean indicating whether to open found sites in a web browser.
Return Value: Return Value:
Nothing. Nothing.
@ -129,9 +135,10 @@ class QueryNotifyPrint(QueryNotify):
super().__init__(result) super().__init__(result)
self.verbose = verbose self.verbose = verbose
self.print_all = print_all self.print_all = print_all
self.browse = browse
return return
def start(self, message): def start(self, message):
"""Notify Start. """Notify Start.
@ -158,34 +165,8 @@ class QueryNotifyPrint(QueryNotify):
return return
def finish(self, message="The processing has been finished."):
"""Notify Start.
Will print the last line to the standard output.
Keyword Arguments:
self -- This object.
message -- The last phrase.
Return Value:
Nothing.
"""
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 + "!" +
Fore.GREEN + f"] {title}" +
Fore.GREEN + ": " +
Fore.WHITE + f" {message}" )
# An empty line between first line and the result(more clear output)
# return
def countResults(self): def countResults(self):
"""This function counts the number of results. Every time the fuction is called, """This function counts the number of results. Every time the function is called,
the number of results is increasing. the number of results is increasing.
Keyword Arguments: Keyword Arguments:
@ -197,7 +178,7 @@ class QueryNotifyPrint(QueryNotify):
global globvar global globvar
globvar += 1 globvar += 1
return globvar return globvar
def update(self, result): def update(self, result):
"""Notify Update. """Notify Update.
@ -214,9 +195,9 @@ class QueryNotifyPrint(QueryNotify):
self.result = result self.result = result
response_time_text = "" response_time_text = ""
if self.result.query_time is not None and self.verbose == True: if self.result.query_time is not None and self.verbose is True:
response_time_text = f" [{round(self.result.query_time * 1000)}ms]" response_time_text = f" [{round(self.result.query_time * 1000)}ms]"
# Output to the terminal is desired. # Output to the terminal is desired.
if result.status == QueryStatus.CLAIMED: if result.status == QueryStatus.CLAIMED:
self.countResults() self.countResults()
@ -227,7 +208,9 @@ class QueryNotifyPrint(QueryNotify):
Fore.GREEN + Fore.GREEN +
f" {self.result.site_name}: " + f" {self.result.site_name}: " +
Style.RESET_ALL + Style.RESET_ALL +
f"{self.result.site_url_user}") f"{self.result.site_url_user}")
if self.browse:
webbrowser.open(self.result.site_url_user, 2)
elif result.status == QueryStatus.AVAILABLE: elif result.status == QueryStatus.AVAILABLE:
if self.print_all: if self.print_all:
@ -245,7 +228,7 @@ class QueryNotifyPrint(QueryNotify):
Fore.WHITE + "]" + Fore.WHITE + "]" +
Fore.GREEN + f" {self.result.site_name}:" + Fore.GREEN + f" {self.result.site_name}:" +
Fore.RED + f" {self.result.context}" + Fore.RED + f" {self.result.context}" +
Fore.YELLOW + f" ") Fore.YELLOW + " ")
elif result.status == QueryStatus.ILLEGAL: elif result.status == QueryStatus.ILLEGAL:
if self.print_all: if self.print_all:
@ -263,7 +246,7 @@ class QueryNotifyPrint(QueryNotify):
) )
return return
def finish(self, message="The processing has been finished."): def finish(self, message="The processing has been finished."):
"""Notify Start. """Notify Start.
Will print the last line to the standard output. Will print the last line to the standard output.
@ -275,25 +258,12 @@ class QueryNotifyPrint(QueryNotify):
""" """
NumberOfResults = self.countResults() - 1 NumberOfResults = self.countResults() - 1
title = "Results:"
print(Style.BRIGHT + Fore.GREEN + "[" + print(Style.BRIGHT + Fore.GREEN + "[" +
Fore.YELLOW + "*" + Fore.YELLOW + "*" +
Fore.GREEN + f"] {title}" + Fore.GREEN + "] Search completed with" +
Fore.WHITE + f" {NumberOfResults}" ) Fore.WHITE + f" {NumberOfResults} " +
Fore.GREEN + "results" + Style.RESET_ALL
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 + "!" +
Fore.GREEN + f"] {title}" +
Fore.GREEN + ": " +
Fore.WHITE + f" {message}" )
# An empty line between first line and the result(more clear output)
return
def __str__(self): def __str__(self):
"""Convert Object To String. """Convert Object To String.
@ -304,4 +274,4 @@ class QueryNotifyPrint(QueryNotify):
Return Value: Return Value:
Nicely formatted string to get information about this object. Nicely formatted string to get information about this object.
""" """
return str(self.result) return str(self.result)

File diff suppressed because it is too large Load Diff

@ -8,6 +8,7 @@ networks.
""" """
import csv import csv
import signal
import pandas as pd import pandas as pd
import os import os
import platform import platform
@ -27,7 +28,7 @@ from sites import SitesInformation
from colorama import init from colorama import init
module_name = "Sherlock: Find Usernames Across Social Networks" module_name = "Sherlock: Find Usernames Across Social Networks"
__version__ = "0.14.0" __version__ = "0.14.3"
class SherlockFuturesSession(FuturesSession): class SherlockFuturesSession(FuturesSession):
@ -144,7 +145,7 @@ def interpolate_string(object, username):
def CheckForParameter(username): def CheckForParameter(username):
'''checks if {?} exists in the username '''checks if {?} exists in the username
if exist it means that sherlock is looking for more multiple username''' if exist it means that sherlock is looking for more multiple username'''
return("{?}" in username) return ("{?}" in username)
checksymbols = [] checksymbols = []
@ -161,7 +162,7 @@ def MultipleUsernames(username):
def sherlock(username, site_data, query_notify, def sherlock(username, site_data, query_notify,
tor=False, unique_tor=False, tor=False, unique_tor=False,
proxy=None, timeout=None): proxy=None, timeout=60):
"""Run Sherlock Analysis. """Run Sherlock Analysis.
Checks for existence of username on various social media sites. Checks for existence of username on various social media sites.
@ -177,7 +178,7 @@ def sherlock(username, site_data, query_notify,
unique_tor -- Boolean indicating whether to use a new tor circuit for each request. unique_tor -- Boolean indicating whether to use a new tor circuit for each request.
proxy -- String indicating the proxy URL proxy -- String indicating the proxy URL
timeout -- Time in seconds to wait before timing out request. timeout -- Time in seconds to wait before timing out request.
Default is no timeout. Default is 60 seconds.
Return Value: Return Value:
Dictionary containing results from report. Key of dictionary is the name Dictionary containing results from report. Key of dictionary is the name
@ -195,7 +196,6 @@ def sherlock(username, site_data, query_notify,
# Notify caller that we are starting the query. # Notify caller that we are starting the query.
query_notify.start(username) query_notify.start(username)
print()
# Create session based on request methodology # Create session based on request methodology
if tor or unique_tor: if tor or unique_tor:
# Requests using Tor obfuscation # Requests using Tor obfuscation
@ -429,11 +429,11 @@ def sherlock(username, site_data, query_notify,
# Notify caller about results of query. # Notify caller about results of query.
result = QueryResult(username=username, result = QueryResult(username=username,
site_name=social_network, site_name=social_network,
site_url_user=url, site_url_user=url,
status=query_status, status=query_status,
query_time=response_time, query_time=response_time,
context=error_context) context=error_context)
query_notify.update(result) query_notify.update(result)
# Save status of request # Save status of request
@ -475,6 +475,14 @@ def timeout_check(value):
return timeout return timeout
def handler(signal_received, frame):
"""Exit gracefully without throwing errors
Source: https://www.devdungeon.com/content/python-catch-sigint-ctrl-c
"""
sys.exit(0)
def main(): def main():
version_string = f"%(prog)s {__version__}\n" + \ version_string = f"%(prog)s {__version__}\n" + \
f"{requests.__description__}: {requests.__version__}\n" + \ f"{requests.__description__}: {requests.__version__}\n" + \
@ -525,19 +533,16 @@ def main():
help="Load data from a JSON file or an online, valid, JSON file.") help="Load data from a JSON file or an online, valid, JSON file.")
parser.add_argument("--timeout", parser.add_argument("--timeout",
action="store", metavar="TIMEOUT", action="store", metavar="TIMEOUT",
dest="timeout", type=timeout_check, default=None, dest="timeout", type=timeout_check, default=60,
help="Time (in seconds) to wait for response to requests. " help="Time (in seconds) to wait for response to requests (Default: 60)"
"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", parser.add_argument("--print-all",
action="store_true", dest="print_all", action="store_true", dest="print_all", default=False,
help="Output sites where the username was not found." help="Output sites where the username was not found."
) )
parser.add_argument("--print-found", parser.add_argument("--print-found",
action="store_false", dest="print_all", default=False, action="store_true", dest="print_found", default=True,
help="Output sites where the username was found." help="Output sites where the username was found (also if exported as file)."
) )
parser.add_argument("--no-color", parser.add_argument("--no-color",
action="store_true", dest="no_color", default=False, action="store_true", dest="no_color", default=False,
@ -546,7 +551,7 @@ def main():
parser.add_argument("username", parser.add_argument("username",
nargs="+", metavar="USERNAMES", nargs="+", metavar="USERNAMES",
action="store", action="store",
help="One or more usernames to check with social networks." help="One or more usernames to check with social networks. Check similar usernames using {%%} (replace to '_', '-', '.')."
) )
parser.add_argument("--browse", "-b", parser.add_argument("--browse", "-b",
action="store_true", dest="browse", default=False, action="store_true", dest="browse", default=False,
@ -556,8 +561,15 @@ def main():
action="store_true", default=False, action="store_true", default=False,
help="Force the use of the local data.json file.") help="Force the use of the local data.json file.")
parser.add_argument("--nsfw",
action="store_true", default=False,
help="Include checking of NSFW sites from default list.")
args = parser.parse_args() args = parser.parse_args()
# If the user presses CTRL-C, exit gracefully without throwing errors
signal.signal(signal.SIGINT, handler)
# Check for newer version of Sherlock. If it exists, let the user know about it # Check for newer version of Sherlock. If it exists, let the user know about it
try: try:
r = requests.get( r = requests.get(
@ -616,6 +628,9 @@ def main():
print(f"ERROR: {error}") print(f"ERROR: {error}")
sys.exit(1) sys.exit(1)
if not args.nsfw:
sites.remove_nsfw_sites()
# Create original dictionary from SitesInformation() object. # Create original dictionary from SitesInformation() object.
# Eventually, the rest of the code will be updated to use the new object # Eventually, the rest of the code will be updated to use the new object
# directly, but this will glue the two pieces together. # directly, but this will glue the two pieces together.
@ -625,7 +640,6 @@ def main():
site_data = site_data_all site_data = site_data_all
else: else:
# User desires to selectively run queries on a sub-set of the site list. # User desires to selectively run queries on a sub-set of the site list.
# Make sure that the sites are supported & build up pruned site database. # Make sure that the sites are supported & build up pruned site database.
site_data = {} site_data = {}
site_missing = [] site_missing = []
@ -649,13 +663,13 @@ def main():
# Create notify object for query results. # Create notify object for query results.
query_notify = QueryNotifyPrint(result=None, query_notify = QueryNotifyPrint(result=None,
verbose=args.verbose, verbose=args.verbose,
print_all=args.print_all) print_all=args.print_all,
browse=args.browse)
# Run report on all specified users. # Run report on all specified users.
all_usernames = [] all_usernames = []
for username in args.username: for username in args.username:
if(CheckForParameter(username)): if (CheckForParameter(username)):
for name in MultipleUsernames(username): for name in MultipleUsernames(username):
all_usernames.append(name) all_usernames.append(name)
else: else:
@ -710,6 +724,9 @@ def main():
] ]
) )
for site in results: for site in results:
if args.print_found and not args.print_all and results[site]["status"].status != QueryStatus.CLAIMED:
continue
response_time_s = results[site]["status"].query_time response_time_s = results[site]["status"].query_time
if response_time_s is None: if response_time_s is None:
response_time_s = "" response_time_s = ""
@ -731,9 +748,9 @@ def main():
http_status = [] http_status = []
response_time_s = [] response_time_s = []
for site in results: for site in results:
if args.print_found and not args.print_all and results[site]["status"].status != QueryStatus.CLAIMED:
continue
if response_time_s is None: if response_time_s is None:
response_time_s.append("") response_time_s.append("")
@ -745,11 +762,9 @@ def main():
url_user.append(results[site]["url_user"]) url_user.append(results[site]["url_user"])
exists.append(str(results[site]["status"].status)) exists.append(str(results[site]["status"].status))
http_status.append(results[site]["http_status"]) http_status.append(results[site]["http_status"])
DataFrame=pd.DataFrame({"username":usernames , "name":names , "url_main":url_main , "url_user":url_user , "exists" : exists , "http_status":http_status , "response_time_s":response_time_s})
DataFrame.to_excel(f'{username}.xlsx', sheet_name='sheet1', index=False)
DataFrame = pd.DataFrame({"username": usernames, "name": names, "url_main": url_main, "url_user": url_user, "exists": exists, "http_status": http_status, "response_time_s": response_time_s})
DataFrame.to_excel(f'{username}.xlsx', sheet_name='sheet1', index=False)
print() print()
query_notify.finish() query_notify.finish()
@ -757,4 +772,3 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
main() main()
# Notify caller that all queries are finished.

@ -5,10 +5,11 @@ This is the raw data that will be used to search for usernames.
""" """
import json import json
import requests import requests
import secrets
class SiteInformation: class SiteInformation:
def __init__(self, name, url_home, url_username_format, username_claimed, def __init__(self, name, url_home, url_username_format, username_claimed,
username_unclaimed, information): information, is_nsfw, username_unclaimed=secrets.token_urlsafe(10)):
"""Create Site Information Object. """Create Site Information Object.
Contains information about a specific website. Contains information about a specific website.
@ -40,6 +41,7 @@ class SiteInformation:
be needed by the detection method, be needed by the detection method,
but it is only recorded in this but it is only recorded in this
object for future use. object for future use.
is_nsfw -- Boolean indicating if site is Not Safe For Work.
Return Value: Return Value:
Nothing. Nothing.
@ -50,8 +52,9 @@ class SiteInformation:
self.url_username_format = url_username_format self.url_username_format = url_username_format
self.username_claimed = username_claimed self.username_claimed = username_claimed
self.username_unclaimed = username_unclaimed self.username_unclaimed = secrets.token_urlsafe(32)
self.information = information self.information = information
self.is_nsfw = is_nsfw
return return
@ -161,8 +164,9 @@ class SitesInformation:
site_data[site_name]["urlMain"], site_data[site_name]["urlMain"],
site_data[site_name]["url"], site_data[site_name]["url"],
site_data[site_name]["username_claimed"], site_data[site_name]["username_claimed"],
site_data[site_name]["username_unclaimed"], site_data[site_name],
site_data[site_name] site_data[site_name].get("isNSFW",False)
) )
except KeyError as error: except KeyError as error:
raise ValueError( raise ValueError(
@ -171,6 +175,23 @@ class SitesInformation:
return return
def remove_nsfw_sites(self):
"""
Remove NSFW sites from the sites, if isNSFW flag is true for site
Keyword Arguments:
self -- This object.
Return Value:
None
"""
sites = {}
for site in self.sites:
if self.sites[site].is_nsfw:
continue
sites[site] = self.sites[site]
self.sites = sites
def site_name_list(self): def site_name_list(self):
"""Get Site Name List. """Get Site Name List.

@ -3,7 +3,7 @@
This module contains various tests. This module contains various tests.
""" """
from tests.base import SherlockBaseTest from tests.base import SherlockBaseTest
import unittest import exrex
class SherlockDetectTests(SherlockBaseTest): class SherlockDetectTests(SherlockBaseTest):
@ -21,16 +21,13 @@ class SherlockDetectTests(SherlockBaseTest):
Will trigger an assert if detection mechanism did not work as expected. Will trigger an assert if detection mechanism did not work as expected.
""" """
site = "BinarySearch" site = "AllMyLinks"
site_data = self.site_data_all[site] site_data = self.site_data_all[site]
#Ensure that the site's detection method has not changed. # Ensure that the site's detection method has not changed.
self.assertEqual("message", site_data["errorType"]) self.assertEqual("message", site_data["errorType"])
self.username_check([site_data["username_claimed"]], self.username_check([site_data["username_claimed"]], [site], exist_check=True)
[site],
exist_check=True
)
return return
@ -48,16 +45,22 @@ class SherlockDetectTests(SherlockBaseTest):
Will trigger an assert if detection mechanism did not work as expected. Will trigger an assert if detection mechanism did not work as expected.
""" """
site = "BinarySearch" site = "AllMyLinks"
site_data = self.site_data_all[site] site_data = self.site_data_all[site]
#Ensure that the site's detection method has not changed. # Ensure that the site's detection method has not changed.
self.assertEqual("message", site_data["errorType"]) self.assertEqual("message", site_data["errorType"])
self.username_check([site_data["username_unclaimed"]], # Generate a valid username based on the regex for a username that the
[site], # site supports that is *most likely* not taken. The regex is slighlty
exist_check=False # modified version of site_data["regexCheck"] as we want a username
) # that has the maximum length that is supported by the site. This way,
# we wont generate a random username that might actually exist. This
# method is very hacky, but it does the job as having hardcoded
# usernames that dont exists will lead to people with ill intent to
# create an account with that username which will break the tests
valid_username = exrex.getone(r"^[a-z0-9][a-z0-9-]{32}$")
self.username_check([valid_username], [site], exist_check=False)
return return
@ -75,16 +78,13 @@ class SherlockDetectTests(SherlockBaseTest):
Will trigger an assert if detection mechanism did not work as expected. Will trigger an assert if detection mechanism did not work as expected.
""" """
site = "Pinterest" site = "BitBucket"
site_data = self.site_data_all[site] site_data = self.site_data_all[site]
#Ensure that the site's detection method has not changed. # Ensure that the site's detection method has not changed.
self.assertEqual("status_code", site_data["errorType"]) self.assertEqual("status_code", site_data["errorType"])
self.username_check([site_data["username_claimed"]], self.username_check([site_data["username_claimed"]], [site], exist_check=True)
[site],
exist_check=True
)
return return
@ -102,111 +102,27 @@ class SherlockDetectTests(SherlockBaseTest):
Will trigger an assert if detection mechanism did not work as expected. Will trigger an assert if detection mechanism did not work as expected.
""" """
site = "Pinterest" site = "BitBucket"
site_data = self.site_data_all[site] site_data = self.site_data_all[site]
#Ensure that the site's detection method has not changed. # Ensure that the site's detection method has not changed.
self.assertEqual("status_code", site_data["errorType"]) self.assertEqual("status_code", site_data["errorType"])
self.username_check([site_data["username_unclaimed"]], # Generate a valid username based on the regex for a username that the
[site], # site supports that is *most likely* not taken. The regex is slighlty
exist_check=False # modified version of site_data["regexCheck"] as we want a username
) # that has the maximum length that is supported by the site. This way,
# we wont generate a random username that might actually exist. This
return # method is very hacky, but it does the job as having hardcoded
# usernames that dont exists will lead to people with ill intent to
def test_detect_true_via_response_url(self): # create an account with that username which will break the tests
"""Test Username Does Exist (Via Response URL). valid_username = exrex.getone(r"^[a-zA-Z0-9-_]{30}")
self.username_check([valid_username], [site], exist_check=False)
This test ensures that the "response URL" detection mechanism of
ensuring that a Username does exist works properly.
Keyword Arguments:
self -- This object.
Return Value:
Nothing.
Will trigger an assert if detection mechanism did not work as expected.
"""
site = "VK"
site_data = self.site_data_all[site]
#Ensure that the site's detection method has not changed.
self.assertEqual("response_url", site_data["errorType"])
self.username_check([site_data["username_claimed"]],
[site],
exist_check=True
)
return
def test_detect_false_via_response_url(self):
"""Test Username Does Not Exist (Via Response URL).
This test ensures that the "response URL" detection mechanism of
ensuring that a Username does *not* exist works properly.
Keyword Arguments:
self -- This object.
Return Value:
Nothing.
Will trigger an assert if detection mechanism did not work as expected.
"""
site = "VK"
site_data = self.site_data_all[site]
#Ensure that the site's detection method has not changed.
self.assertEqual("response_url", site_data["errorType"])
self.username_check([site_data["username_unclaimed"]],
[site],
exist_check=False
)
return return
class SherlockSiteCoverageTests(SherlockBaseTest): class SherlockSiteCoverageTests(SherlockBaseTest):
def test_coverage_false_via_response_url(self):
"""Test Username Does Not Exist Site Coverage (Via Response URL).
This test checks all sites with the "response URL" detection mechanism
to ensure that a Username that does not exist is reported that way.
Keyword Arguments:
self -- This object.
Return Value:
Nothing.
Will trigger an assert if detection mechanism did not work as expected.
"""
self.detect_type_check("response_url", exist_check=False)
return
def test_coverage_true_via_response_url(self):
"""Test Username Does Exist Site Coverage (Via Response URL).
This test checks all sites with the "response URL" detection mechanism
to ensure that a Username that does exist is reported that way.
Keyword Arguments:
self -- This object.
Return Value:
Nothing.
Will trigger an assert if detection mechanism did not work as expected.
"""
self.detect_type_check("response_url", exist_check=True)
return
def test_coverage_false_via_status(self): def test_coverage_false_via_status(self):
"""Test Username Does Not Exist Site Coverage (Via HTTP Status). """Test Username Does Not Exist Site Coverage (Via HTTP Status).

@ -7,9 +7,8 @@ import os.path
import unittest import unittest
import sherlock import sherlock
from result import QueryStatus from result import QueryStatus
from result import QueryResult
from notify import QueryNotify from notify import QueryNotify
from sites import SitesInformation from sites import SitesInformation
import warnings import warnings
@ -26,16 +25,16 @@ class SherlockBaseTest(unittest.TestCase):
Nothing. Nothing.
""" """
#This ignores the ResourceWarning from an unclosed SSLSocket. # This ignores the ResourceWarning from an unclosed SSLSocket.
#TODO: Figure out how to fix the code so this is not needed. # TODO: Figure out how to fix the code so this is not needed.
warnings.simplefilter("ignore", ResourceWarning) warnings.simplefilter("ignore", ResourceWarning)
#Create object with all information about sites we are aware of. # Create object with all information about sites we are aware of.
sites = SitesInformation() sites = SitesInformation(data_file_path=os.path.join(os.path.dirname(__file__), "../resources/data.json"))
#Create original dictionary from SitesInformation() object. # Create original dictionary from SitesInformation() object.
#Eventually, the rest of the code will be updated to use the new object # Eventually, the rest of the code will be updated to use the new object
#directly, but this will glue the two pieces together. # directly, but this will glue the two pieces together.
site_data_all = {} site_data_all = {}
for site in sites: for site in sites:
site_data_all[site.name] = site.information site_data_all[site.name] = site.information
@ -44,18 +43,18 @@ class SherlockBaseTest(unittest.TestCase):
# Load excluded sites list, if any # Load excluded sites list, if any
excluded_sites_path = os.path.join(os.path.dirname(os.path.realpath(sherlock.__file__)), "tests/.excluded_sites") excluded_sites_path = os.path.join(os.path.dirname(os.path.realpath(sherlock.__file__)), "tests/.excluded_sites")
try: try:
with open(excluded_sites_path, "r", encoding="utf-8") as excluded_sites_file: with open(excluded_sites_path, "r", encoding="utf-8") as excluded_sites_file:
self.excluded_sites = excluded_sites_file.read().splitlines() self.excluded_sites = excluded_sites_file.read().splitlines()
except FileNotFoundError: except FileNotFoundError:
self.excluded_sites = [] self.excluded_sites = []
#Create notify object for query results. # Create notify object for query results.
self.query_notify = QueryNotify() self.query_notify = QueryNotify()
self.tor=False self.tor = False
self.unique_tor=False self.unique_tor = False
self.timeout=None self.timeout = None
self.skip_error_sites=True self.skip_error_sites = True
return return
@ -102,7 +101,7 @@ class SherlockBaseTest(unittest.TestCase):
existence state. existence state.
""" """
#Filter all site data down to just what is needed for this test. # Filter all site data down to just what is needed for this test.
site_data = self.site_data_filter(site_list) site_data = self.site_data_filter(site_list)
if exist_check: if exist_check:
@ -161,8 +160,8 @@ class SherlockBaseTest(unittest.TestCase):
existence state. existence state.
""" """
#Dictionary of sites that should be tested for having a username. # Dictionary of sites that should be tested for having a username.
#This will allow us to test sites with a common username in parallel. # This will allow us to test sites with a common username in parallel.
sites_by_username = {} sites_by_username = {}
for site, site_data in self.site_data_all.items(): for site, site_data in self.site_data_all.items():
@ -181,9 +180,9 @@ class SherlockBaseTest(unittest.TestCase):
# Figure out which type of user # Figure out which type of user
if exist_check: if exist_check:
username = site_data.get("username_claimed") username = site_data.get("username_claimed")
else: else:
username = site_data.get("username_unclaimed") username = site_data.get("username_unclaimed")
# Add this site to the list of sites corresponding to this # Add this site to the list of sites corresponding to this
# username. # username.
@ -216,10 +215,7 @@ class SherlockBaseTest(unittest.TestCase):
site_no_tests_list = [] site_no_tests_list = []
for site, site_data in self.site_data_all.items(): for site, site_data in self.site_data_all.items():
if ( if site_data.get("username_claimed") is None:
(site_data.get("username_claimed") is None) or
(site_data.get("username_unclaimed") is None)
):
# Test information not available on this site. # Test information not available on this site.
site_no_tests_list.append(site) site_no_tests_list.append(site)

@ -1,31 +1,27 @@
"""Sherlock: Supported Site Listing #!/usr/bin/env python
This module generates the listing of supported sites # This module generates the listing of supported sites which can be found in
which can be found in sites.md # sites.md. It also organizes all the sites in alphanumeric order
It also organizes all the sites in alphanumeric order
"""
import json import json
pool = [] # Read the data.json file
with open("sherlock/resources/data.json", "r", encoding="utf-8") as data_file: with open("sherlock/resources/data.json", "r", encoding="utf-8") as data_file:
data = json.load(data_file) data = json.load(data_file)
with open("sites.md", "w") as site_file: # Sort the social networks in alphanumeric order
data_length = len(data) social_networks = sorted(data.items())
site_file.write(f"## List Of Supported Sites ({data_length} Sites In Total!)\n")
for social_network in data:
url_main = data.get(social_network).get("urlMain")
pool.append((social_network, url_main))
for social_network, url_main in pool:
site_file.write(f"1. [{social_network}]({url_main})\n")
sorted_json_data = json.dumps(data, indent=2, sort_keys=True) # Write the list of supported sites to sites.md
with open("sites.md", "w") as site_file:
site_file.write(f"## List Of Supported Sites ({len(social_networks)} Sites In Total!)\n")
for social_network, info in social_networks:
url_main = info["urlMain"]
is_nsfw = "**(NSFW)**" if info.get("isNSFW") else ""
site_file.write(f"1. ![](https://www.google.com/s2/favicons?domain={url_main}) [{social_network}]({url_main}) {is_nsfw}\n")
# Overwrite the data.json file with sorted data
with open("sherlock/resources/data.json", "w") as data_file: with open("sherlock/resources/data.json", "w") as data_file:
data_file.write(sorted_json_data) sorted_data = json.dumps(data, indent=2, sort_keys=True)
data_file.write(sorted_data)
data_file.write("\n") data_file.write("\n")
print("Finished updating supported site listing!") print("Finished updating supported site listing!")

@ -1,370 +1,415 @@
## List Of Supported Sites (369 Sites In Total!) ## List Of Supported Sites (414 Sites In Total!)
1. [2Dimensions](https://2Dimensions.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://2Dimensions.com/) [2Dimensions](https://2Dimensions.com/)
1. [3dnews](http://forum.3dnews.ru/) 1. ![](https://www.google.com/s2/favicons?domain=http://forum.3dnews.ru/) [3dnews](http://forum.3dnews.ru/)
1. [7Cups](https://www.7cups.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.7cups.com/) [7Cups](https://www.7cups.com/)
1. [9GAG](https://www.9gag.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://8tracks.com/) [8tracks](https://8tracks.com/)
1. [About.me](https://about.me/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.9gag.com/) [9GAG](https://www.9gag.com/)
1. [Academia.edu](https://www.academia.edu/) 1. ![](https://www.google.com/s2/favicons?domain=https://apclips.com/) [APClips](https://apclips.com/) **(NSFW)**
1. [Airbit](https://airbit.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://about.me/) [About.me](https://about.me/)
1. [Airliners](https://www.airliners.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.academia.edu/) [Academia.edu](https://www.academia.edu/)
1. [Alik.cz](https://www.alik.cz/) 1. ![](https://www.google.com/s2/favicons?domain=https://admireme.vip/) [AdmireMe.Vip](https://admireme.vip/) **(NSFW)**
1. [AllMyLinks](https://allmylinks.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://airlinepilot.life/) [Air Pilot Life](https://airlinepilot.life/)
1. [Anilist](https://anilist.co/) 1. ![](https://www.google.com/s2/favicons?domain=https://airbit.com/) [Airbit](https://airbit.com/)
1. [Apple Developer](https://developer.apple.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.airliners.net/) [Airliners](https://www.airliners.net/)
1. [Apple Discussions](https://discussions.apple.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.alik.cz/) [Alik.cz](https://www.alik.cz/)
1. [Archive.org](https://archive.org) 1. ![](https://www.google.com/s2/favicons?domain=https://www.allthingsworn.com) [All Things Worn](https://www.allthingsworn.com) **(NSFW)**
1. [Arduino](https://www.arduino.cc/) 1. ![](https://www.google.com/s2/favicons?domain=https://allmylinks.com/) [AllMyLinks](https://allmylinks.com/)
1. [ArtStation](https://www.artstation.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://aminoapps.com) [Amino](https://aminoapps.com)
1. [Asciinema](https://asciinema.org) 1. ![](https://www.google.com/s2/favicons?domain=https://anilist.co/) [Anilist](https://anilist.co/)
1. [Ask Fedora](https://ask.fedoraproject.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://developer.apple.com) [Apple Developer](https://developer.apple.com)
1. [AskFM](https://ask.fm/) 1. ![](https://www.google.com/s2/favicons?domain=https://discussions.apple.com) [Apple Discussions](https://discussions.apple.com)
1. [Atom Discussions](https://discuss.atom.io) 1. ![](https://www.google.com/s2/favicons?domain=https://archiveofourown.org/) [Archive of Our Own](https://archiveofourown.org/)
1. [Audiojungle](https://audiojungle.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://archive.org) [Archive.org](https://archive.org)
1. [Autofrage](https://www.autofrage.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.artstation.com/) [ArtStation](https://www.artstation.com/)
1. [Avizo](https://www.avizo.cz/) 1. ![](https://www.google.com/s2/favicons?domain=https://asciinema.org) [Asciinema](https://asciinema.org)
1. [BLIP.fm](https://blip.fm/) 1. ![](https://www.google.com/s2/favicons?domain=https://ask.fedoraproject.org/) [Ask Fedora](https://ask.fedoraproject.org/)
1. [BOOTH](https://booth.pm/) 1. ![](https://www.google.com/s2/favicons?domain=https://ask.fm/) [AskFM](https://ask.fm/)
1. [Bandcamp](https://www.bandcamp.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://audiojungle.net/) [Audiojungle](https://audiojungle.net/)
1. [Bazar.cz](https://www.bazar.cz/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.autofrage.net/) [Autofrage](https://www.autofrage.net/)
1. [Behance](https://www.behance.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.avizo.cz/) [Avizo](https://www.avizo.cz/)
1. [Bezuzyteczna](https://bezuzyteczna.pl) 1. ![](https://www.google.com/s2/favicons?domain=https://blip.fm/) [BLIP.fm](https://blip.fm/)
1. [Bikemap](https://www.bikemap.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://booth.pm/) [BOOTH](https://booth.pm/)
1. [BinarySearch](https://binarysearch.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.bandcamp.com/) [Bandcamp](https://www.bandcamp.com/)
1. [BioHacking](https://forum.dangerousthings.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.bazar.cz/) [Bazar.cz](https://www.bazar.cz/)
1. [BitBucket](https://bitbucket.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.behance.net/) [Behance](https://www.behance.net/)
1. [BitCoinForum](https://bitcoinforum.com) 1. ![](https://www.google.com/s2/favicons?domain=https://bezuzyteczna.pl) [Bezuzyteczna](https://bezuzyteczna.pl)
1. [Bitwarden Forum](https://bitwarden.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.biggerpockets.com/) [BiggerPockets](https://www.biggerpockets.com/)
1. [Blogger](https://www.blogger.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.bikemap.net/) [Bikemap](https://www.bikemap.net/)
1. [BodyBuilding](https://bodyspace.bodybuilding.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://forum.dangerousthings.com/) [BioHacking](https://forum.dangerousthings.com/)
1. [BongaCams](https://pt.bongacams.com) 1. ![](https://www.google.com/s2/favicons?domain=https://bitbucket.org/) [BitBucket](https://bitbucket.org/)
1. [Bookcrossing](https://www.bookcrossing.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://bitcoinforum.com) [BitCoinForum](https://bitcoinforum.com)
1. [BraveCommunity](https://community.brave.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://bitwarden.com/) [Bitwarden Forum](https://bitwarden.com/)
1. [BuyMeACoffee](https://www.buymeacoffee.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.blogger.com/) [Blogger](https://www.blogger.com/)
1. [BuzzFeed](https://buzzfeed.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://bodyspace.bodybuilding.com/) [BodyBuilding](https://bodyspace.bodybuilding.com/)
1. [CNET](https://www.cnet.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://pt.bongacams.com) [BongaCams](https://pt.bongacams.com) **(NSFW)**
1. [CapFriendly](https://www.capfriendly.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.bookcrossing.com/) [Bookcrossing](https://www.bookcrossing.com/)
1. [Carbonmade](https://carbonmade.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://community.brave.com/) [BraveCommunity](https://community.brave.com/)
1. [Career.habr](https://career.habr.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.buymeacoffee.com/) [BuyMeACoffee](https://www.buymeacoffee.com/)
1. [Championat](https://www.championat.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://buzzfeed.com/) [BuzzFeed](https://buzzfeed.com/)
1. [Chatujme.cz](https://chatujme.cz/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.cgtrader.com) [CGTrader](https://www.cgtrader.com)
1. [ChaturBate](https://chaturbate.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.cnet.com/) [CNET](https://www.cnet.com/)
1. [Chess](https://www.chess.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://ctan.org/) [CTAN](https://ctan.org/)
1. [CloudflareCommunity](https://community.cloudflare.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://caddy.community/) [Caddy Community](https://caddy.community/)
1. [Clozemaster](https://www.clozemaster.com) 1. ![](https://www.google.com/s2/favicons?domain=https://community.cartalk.com/) [Car Talk Community](https://community.cartalk.com/)
1. [Clubhouse](https://www.clubhouse.com) 1. ![](https://www.google.com/s2/favicons?domain=https://carbonmade.com/) [Carbonmade](https://carbonmade.com/)
1. [Codecademy](https://www.codecademy.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://career.habr.com/) [Career.habr](https://career.habr.com/)
1. [Codechef](https://www.codechef.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.championat.com/) [Championat](https://www.championat.com/)
1. [Codeforces](https://www.codeforces.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://chaos.social/) [Chaos](https://chaos.social/)
1. [Codepen](https://codepen.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://chatujme.cz/) [Chatujme.cz](https://chatujme.cz/)
1. [Codewars](https://www.codewars.com) 1. ![](https://www.google.com/s2/favicons?domain=https://chaturbate.com) [ChaturBate](https://chaturbate.com) **(NSFW)**
1. [Coil](https://coil.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.chess.com/) [Chess](https://www.chess.com/)
1. [ColourLovers](https://www.colourlovers.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://choice.community/) [Choice Community](https://choice.community/)
1. [Contently](https://contently.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://clapperapp.com/) [Clapper](https://clapperapp.com/)
1. [Coroflot](https://coroflot.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://community.cloudflare.com/) [CloudflareCommunity](https://community.cloudflare.com/)
1. [Countable](https://www.countable.us/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.clozemaster.com) [Clozemaster](https://www.clozemaster.com)
1. [Cracked](https://www.cracked.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.clubhouse.com) [Clubhouse](https://www.clubhouse.com)
1. [Crevado](https://crevado.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://codesnippets.fandom.com) [Code Snippet Wiki](https://codesnippets.fandom.com)
1. [Crowdin](https://crowdin.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.codecademy.com/) [Codecademy](https://www.codecademy.com/)
1. [Cryptomator Forum](https://community.cryptomator.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.codechef.com/) [Codechef](https://www.codechef.com/)
1. [DEV Community](https://dev.to/) 1. ![](https://www.google.com/s2/favicons?domain=https://codeforces.com/) [Codeforces](https://codeforces.com/)
1. [DailyMotion](https://www.dailymotion.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://codepen.io/) [Codepen](https://codepen.io/)
1. [Designspiration](https://www.designspiration.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://codersrank.io/) [Coders Rank](https://codersrank.io/)
1. [DeviantART](https://deviantart.com) 1. ![](https://www.google.com/s2/favicons?domain=https://coderwall.com) [Coderwall](https://coderwall.com)
1. [Discogs](https://www.discogs.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.codewars.com) [Codewars](https://www.codewars.com)
1. [Discuss.Elastic.co](https://discuss.elastic.co/) 1. ![](https://www.google.com/s2/favicons?domain=https://coil.com/) [Coil](https://coil.com/)
1. [Disqus](https://disqus.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://coinvote.cc/) [Coinvote](https://coinvote.cc/)
1. [Docker Hub](https://hub.docker.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.colourlovers.com/) [ColourLovers](https://www.colourlovers.com/)
1. [Dribbble](https://dribbble.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://contently.com/) [Contently](https://contently.com/)
1. [Duolingo](https://duolingo.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://coroflot.com/) [Coroflot](https://coroflot.com/)
1. [Ello](https://ello.co/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.cracked.com/) [Cracked](https://www.cracked.com/)
1. [Envato Forum](https://forums.envato.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://crevado.com/) [Crevado](https://crevado.com/)
1. [Etsy](https://www.etsy.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://crowdin.com/) [Crowdin](https://crowdin.com/)
1. [Euw](https://euw.op.gg/) 1. ![](https://www.google.com/s2/favicons?domain=https://community.cryptomator.org/) [Cryptomator Forum](https://community.cryptomator.org/)
1. [EyeEm](https://www.eyeem.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://cults3d.com/en) [Cults3D](https://cults3d.com/en)
1. [F3.cool](https://f3.cool/) 1. ![](https://www.google.com/s2/favicons?domain=https://dev.to/) [DEV Community](https://dev.to/)
1. [Facebook](https://www.facebook.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://dmoj.ca/) [DMOJ](https://dmoj.ca/)
1. [Fameswap](https://fameswap.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.dailymotion.com/) [DailyMotion](https://www.dailymotion.com/)
1. [FanCentro](https://fancentro.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.dealabs.com/) [Dealabs](https://www.dealabs.com/)
1. [Fandom](https://www.fandom.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://deviantart.com) [DeviantART](https://deviantart.com)
1. [Finanzfrage](https://www.finanzfrage.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.discogs.com/) [Discogs](https://www.discogs.com/)
1. [Fiverr](https://www.fiverr.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://discuss.elastic.co/) [Discuss.Elastic.co](https://discuss.elastic.co/)
1. [Flickr](https://www.flickr.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://disqus.com/) [Disqus](https://disqus.com/)
1. [Flightradar24](https://www.flightradar24.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://hub.docker.com/) [Docker Hub](https://hub.docker.com/)
1. [Flipboard](https://flipboard.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://dribbble.com/) [Dribbble](https://dribbble.com/)
1. [Football](https://www.rusfootball.info/) 1. ![](https://www.google.com/s2/favicons?domain=https://duolingo.com/) [Duolingo](https://duolingo.com/)
1. [FortniteTracker](https://fortnitetracker.com/challenges) 1. ![](https://www.google.com/s2/favicons?domain=https://community.eintracht.de/) [Eintracht Frankfurt Forum](https://community.eintracht.de/)
1. [Fosstodon](https://fosstodon.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.enjin.com/) [Enjin](https://www.enjin.com/)
1. [Freelance.habr](https://freelance.habr.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://forums.envato.com/) [Envato Forum](https://forums.envato.com/)
1. [Freelancer](https://www.freelancer.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.erome.com/) [Erome](https://www.erome.com/) **(NSFW)**
1. [Freesound](https://freesound.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.etsy.com/) [Etsy](https://www.etsy.com/)
1. [G2G](https://www.g2g.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://euw.op.gg/) [Euw](https://euw.op.gg/)
1. [GNOME VCS](https://gitlab.gnome.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://exposure.co/) [Exposure](https://exposure.co/)
1. [Gab](https://gab.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.eyeem.com/) [EyeEm](https://www.eyeem.com/)
1. [GaiaOnline](https://www.gaiaonline.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://f3.cool/) [F3.cool](https://f3.cool/)
1. [Gam1ng](https://gam1ng.com.br) 1. ![](https://www.google.com/s2/favicons?domain=https://fameswap.com/) [Fameswap](https://fameswap.com/)
1. [Gamespot](https://www.gamespot.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.fandom.com/) [Fandom](https://www.fandom.com/)
1. [Genius (Artists)](https://genius.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.finanzfrage.net/) [Finanzfrage](https://www.finanzfrage.net/)
1. [Genius (Users)](https://genius.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.fiverr.com/) [Fiverr](https://www.fiverr.com/)
1. [Gesundheitsfrage](https://www.gesundheitsfrage.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.flickr.com/) [Flickr](https://www.flickr.com/)
1. [GetMyUni](https://getmyuni.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.flightradar24.com/) [Flightradar24](https://www.flightradar24.com/)
1. [Ghost](https://ghost.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://flipboard.com/) [Flipboard](https://flipboard.com/)
1. [Giphy](https://giphy.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.rusfootball.info/) [Football](https://www.rusfootball.info/)
1. [GitBook](https://gitbook.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://fortnitetracker.com/challenges) [FortniteTracker](https://fortnitetracker.com/challenges)
1. [GitHub](https://www.github.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.forumophilia.com/) [Forum Ophilia](https://www.forumophilia.com/) **(NSFW)**
1. [GitHub Support Community](https://github.community) 1. ![](https://www.google.com/s2/favicons?domain=https://fosstodon.org/) [Fosstodon](https://fosstodon.org/)
1. [GitLab](https://gitlab.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://freelance.habr.com/) [Freelance.habr](https://freelance.habr.com/)
1. [Gitee](https://gitee.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.freelancer.com/) [Freelancer](https://www.freelancer.com/)
1. [GoodReads](https://www.goodreads.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://freesound.org/) [Freesound](https://freesound.org/)
1. [Gradle](https://gradle.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.g2g.com/) [G2G](https://www.g2g.com/)
1. [Grailed](https://www.grailed.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://gitlab.gnome.org/) [GNOME VCS](https://gitlab.gnome.org/)
1. [Gravatar](http://en.gravatar.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.gaiaonline.com/) [GaiaOnline](https://www.gaiaonline.com/)
1. [Gumroad](https://www.gumroad.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.gamespot.com/) [Gamespot](https://www.gamespot.com/)
1. [GunsAndAmmo](https://gunsandammo.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.geeksforgeeks.org/) [GeeksforGeeks](https://www.geeksforgeeks.org/)
1. [GuruShots](https://gurushots.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://genius.com/) [Genius (Artists)](https://genius.com/)
1. [Gutefrage](https://www.gutefrage.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://genius.com/) [Genius (Users)](https://genius.com/)
1. [HEXRPG](https://www.hexrpg.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.gesundheitsfrage.net/) [Gesundheitsfrage](https://www.gesundheitsfrage.net/)
1. [HackTheBox](https://forum.hackthebox.eu/) 1. ![](https://www.google.com/s2/favicons?domain=https://getmyuni.com/) [GetMyUni](https://getmyuni.com/)
1. [Hackaday](https://hackaday.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.giantbomb.com/) [Giant Bomb](https://www.giantbomb.com/)
1. [HackerEarth](https://hackerearth.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://giphy.com/) [Giphy](https://giphy.com/)
1. [HackerNews](https://news.ycombinator.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://gitbook.com/) [GitBook](https://gitbook.com/)
1. [HackerOne](https://hackerone.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.github.com/) [GitHub](https://www.github.com/)
1. [HackerRank](https://hackerrank.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://gitlab.com/) [GitLab](https://gitlab.com/)
1. [Houzz](https://houzz.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://gitee.com/) [Gitee](https://gitee.com/)
1. [HubPages](https://hubpages.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.goodreads.com/) [GoodReads](https://www.goodreads.com/)
1. [Hubski](https://hubski.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://play.google.com) [Google Play](https://play.google.com)
1. [ICQ](https://icq.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://gradle.org/) [Gradle](https://gradle.org/)
1. [IFTTT](https://www.ifttt.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.grailed.com/) [Grailed](https://www.grailed.com/)
1. [ImgUp.cz](https://imgup.cz/) 1. ![](https://www.google.com/s2/favicons?domain=http://en.gravatar.com/) [Gravatar](http://en.gravatar.com/)
1. [Imgur](https://imgur.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.gumroad.com/) [Gumroad](https://www.gumroad.com/)
1. [Instagram](https://www.instagram.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://gunsandammo.com/) [GunsAndAmmo](https://gunsandammo.com/)
1. [Instructables](https://www.instructables.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.gutefrage.net/) [Gutefrage](https://www.gutefrage.net/)
1. [Ionic Forum](https://forum.ionicframework.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.hexrpg.com/) [HEXRPG](https://www.hexrpg.com/)
1. [Issuu](https://issuu.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://forum.hackthebox.eu/) [HackTheBox](https://forum.hackthebox.eu/)
1. [Itch.io](https://itch.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://hackaday.io/) [Hackaday](https://hackaday.io/)
1. [Itemfix](https://www.itemfix.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://hackerearth.com/) [HackerEarth](https://hackerearth.com/)
1. [Jellyfin Weblate](https://translate.jellyfin.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://news.ycombinator.com/) [HackerNews](https://news.ycombinator.com/)
1. [Jimdo](https://jimdosite.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://hackerone.com/) [HackerOne](https://hackerone.com/)
1. [Joplin Forum](https://discourse.joplinapp.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://hackerrank.com/) [HackerRank](https://hackerrank.com/)
1. [KEAKR](https://www.keakr.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://scholar.harvard.edu/) [Harvard Scholar](https://scholar.harvard.edu/)
1. [Kaggle](https://www.kaggle.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://hashnode.com) [Hashnode](https://hashnode.com)
1. [Keybase](https://keybase.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.heavy-r.com/) [Heavy-R](https://www.heavy-r.com/) **(NSFW)**
1. [Kik](http://kik.me/) 1. ![](https://www.google.com/s2/favicons?domain=https://holopin.io) [Holopin](https://holopin.io)
1. [Kongregate](https://www.kongregate.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://houzz.com/) [Houzz](https://houzz.com/)
1. [LOR](https://linux.org.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://hubpages.com/) [HubPages](https://hubpages.com/)
1. [Launchpad](https://launchpad.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://hubski.com/) [Hubski](https://hubski.com/)
1. [LeetCode](https://leetcode.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://icq.com/) [ICQ](https://icq.com/)
1. [LessWrong](https://www.lesswrong.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.ifttt.com/) [IFTTT](https://www.ifttt.com/)
1. [Letterboxd](https://letterboxd.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.irl.com/) [IRL](https://www.irl.com/)
1. [Lichess](https://lichess.org) 1. ![](https://www.google.com/s2/favicons?domain=https://community.icons8.com/) [Icons8 Community](https://community.icons8.com/)
1. [Linktree](https://linktr.ee/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.imagefap.com/) [Image Fap](https://www.imagefap.com/) **(NSFW)**
1. [Listed](https://listed.to/) 1. ![](https://www.google.com/s2/favicons?domain=https://imgup.cz/) [ImgUp.cz](https://imgup.cz/)
1. [LiveJournal](https://www.livejournal.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://imgur.com/) [Imgur](https://imgur.com/)
1. [Lobsters](https://lobste.rs/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.instagram.com/) [Instagram](https://www.instagram.com/)
1. [Lolchess](https://lolchess.gg/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.instructables.com/) [Instructables](https://www.instructables.com/)
1. [LottieFiles](https://lottiefiles.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://app.intigriti.com) [Intigriti](https://app.intigriti.com)
1. [Mapify](https://mapify.travel/) 1. ![](https://www.google.com/s2/favicons?domain=https://forum.ionicframework.com/) [Ionic Forum](https://forum.ionicframework.com/)
1. [Medium](https://medium.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://issuu.com/) [Issuu](https://issuu.com/)
1. [Memrise](https://www.memrise.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://itch.io/) [Itch.io](https://itch.io/)
1. [Minecraft](https://minecraft.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.itemfix.com/) [Itemfix](https://www.itemfix.com/)
1. [MixCloud](https://www.mixcloud.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://translate.jellyfin.org/) [Jellyfin Weblate](https://translate.jellyfin.org/)
1. [Motorradfrage](https://www.motorradfrage.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://jimdosite.com/) [Jimdo](https://jimdosite.com/)
1. [Munzee](https://www.munzee.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://discourse.joplinapp.org/) [Joplin Forum](https://discourse.joplinapp.org/)
1. [MyAnimeList](https://myanimelist.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.keakr.com/) [KEAKR](https://www.keakr.com/)
1. [MyMiniFactory](https://www.myminifactory.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.kaggle.com/) [Kaggle](https://www.kaggle.com/)
1. [Myspace](https://myspace.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://keybase.io/) [Keybase](https://keybase.io/)
1. [NICommunityForum](https://www.native-instruments.com/forum/) 1. ![](https://www.google.com/s2/favicons?domain=http://kik.me/) [Kik](http://kik.me/)
1. [NationStates Nation](https://nationstates.net) 1. ![](https://www.google.com/s2/favicons?domain=https://www.kongregate.com/) [Kongregate](https://www.kongregate.com/)
1. [NationStates Region](https://nationstates.net) 1. ![](https://www.google.com/s2/favicons?domain=https://linux.org.ru/) [LOR](https://linux.org.ru/)
1. [Naver](https://naver.com) 1. ![](https://www.google.com/s2/favicons?domain=https://launchpad.net/) [Launchpad](https://launchpad.net/)
1. [Needrom](https://www.needrom.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://leetcode.com/) [LeetCode](https://leetcode.com/)
1. [Newgrounds](https://newgrounds.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.lesswrong.com/) [LessWrong](https://www.lesswrong.com/)
1. [Nextcloud Forum](https://nextcloud.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://letterboxd.com/) [Letterboxd](https://letterboxd.com/)
1. [Nightbot](https://nightbot.tv/) 1. ![](https://www.google.com/s2/favicons?domain=https://lichess.org) [Lichess](https://lichess.org)
1. [Ninja Kiwi](https://ninjakiwi.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://linktr.ee/) [Linktree](https://linktr.ee/)
1. [NotABug.org](https://notabug.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://listed.to/) [Listed](https://listed.to/)
1. [Nyaa.si](https://nyaa.si/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.livejournal.com/) [LiveJournal](https://www.livejournal.com/)
1. [OGUsers](https://ogusers.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://lobste.rs/) [Lobsters](https://lobste.rs/)
1. [OK](https://ok.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://lolchess.gg/) [Lolchess](https://lolchess.gg/)
1. [OnlyFans](https://onlyfans.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://lottiefiles.com/) [LottieFiles](https://lottiefiles.com/)
1. [OpenStreetMap](https://www.openstreetmap.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.lushstories.com/) [LushStories](https://www.lushstories.com/) **(NSFW)**
1. [Opensource](https://opensource.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://forums.mmorpg.com/) [MMORPG Forum](https://forums.mmorpg.com/)
1. [Oracle Community](https://community.oracle.com) 1. ![](https://www.google.com/s2/favicons?domain=https://mapify.travel/) [Mapify](https://mapify.travel/)
1. [Otzovik](https://otzovik.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://medium.com/) [Medium](https://medium.com/)
1. [OurDJTalk](https://ourdjtalk.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.memrise.com/) [Memrise](https://www.memrise.com/)
1. [PCGamer](https://pcgamer.com) 1. ![](https://www.google.com/s2/favicons?domain=https://minecraft.net/) [Minecraft](https://minecraft.net/)
1. [PCPartPicker](https://pcpartpicker.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.mixcloud.com/) [MixCloud](https://www.mixcloud.com/)
1. [PSNProfiles.com](https://psnprofiles.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.modelhub.com/) [Modelhub](https://www.modelhub.com/) **(NSFW)**
1. [Packagist](https://packagist.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://monkeytype.com/) [Monkeytype](https://monkeytype.com/)
1. [Pastebin](https://pastebin.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://motherless.com/) [Motherless](https://motherless.com/) **(NSFW)**
1. [Patreon](https://www.patreon.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.motorradfrage.net/) [Motorradfrage](https://www.motorradfrage.net/)
1. [Periscope](https://www.periscope.tv/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.munzee.com/) [Munzee](https://www.munzee.com/)
1. [Pinkbike](https://www.pinkbike.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://myanimelist.net/) [MyAnimeList](https://myanimelist.net/)
1. [Pinterest](https://www.pinterest.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.myminifactory.com/) [MyMiniFactory](https://www.myminifactory.com/)
1. [PlayStore](https://play.google.com/store) 1. ![](https://www.google.com/s2/favicons?domain=https://mydramalist.com) [Mydramalist](https://mydramalist.com)
1. [Pokemon Showdown](https://pokemonshowdown.com) 1. ![](https://www.google.com/s2/favicons?domain=https://myspace.com/) [Myspace](https://myspace.com/)
1. [Polarsteps](https://polarsteps.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.native-instruments.com/forum/) [NICommunityForum](https://www.native-instruments.com/forum/)
1. [Polygon](https://www.polygon.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://nationstates.net) [NationStates Nation](https://nationstates.net)
1. [Polymart](https://polymart.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://nationstates.net) [NationStates Region](https://nationstates.net)
1. [Pornhub](https://pornhub.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://naver.com) [Naver](https://naver.com)
1. [ProductHunt](https://www.producthunt.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.needrom.com/) [Needrom](https://www.needrom.com/)
1. [PromoDJ](http://promodj.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://newgrounds.com) [Newgrounds](https://newgrounds.com)
1. [PyPi](https://pypi.org) 1. ![](https://www.google.com/s2/favicons?domain=https://nextcloud.com/) [Nextcloud Forum](https://nextcloud.com/)
1. [Quizlet](https://quizlet.com) 1. ![](https://www.google.com/s2/favicons?domain=https://nightbot.tv/) [Nightbot](https://nightbot.tv/)
1. [Raidforums](https://raidforums.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://ninjakiwi.com/) [Ninja Kiwi](https://ninjakiwi.com/)
1. [Rajce.net](https://www.rajce.idnes.cz/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.nintendolife.com/) [NintendoLife](https://www.nintendolife.com/)
1. [Rate Your Music](https://rateyourmusic.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.nitrotype.com/) [NitroType](https://www.nitrotype.com/)
1. [Rclone Forum](https://forum.rclone.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://notabug.org/) [NotABug.org](https://notabug.org/)
1. [Redbubble](https://www.redbubble.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://nyaa.si/) [Nyaa.si](https://nyaa.si/)
1. [Reddit](https://www.reddit.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://ogu.gg/) [OGUsers](https://ogu.gg/)
1. [Reisefrage](https://www.reisefrage.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://ok.ru/) [OK](https://ok.ru/)
1. [Replit.com](https://replit.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://onlyfans.com/) [OnlyFans](https://onlyfans.com/) **(NSFW)**
1. [ResearchGate](https://www.researchgate.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.openstreetmap.org/) [OpenStreetMap](https://www.openstreetmap.org/)
1. [ReverbNation](https://www.reverbnation.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://opensource.com/) [Opensource](https://opensource.com/)
1. [Roblox](https://www.roblox.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://community.oracle.com) [Oracle Community](https://community.oracle.com)
1. [RoyalCams](https://royalcams.com) 1. ![](https://www.google.com/s2/favicons?domain=https://ourdjtalk.com/) [OurDJTalk](https://ourdjtalk.com/)
1. [RubyGems](https://rubygems.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://pcgamer.com) [PCGamer](https://pcgamer.com)
1. [RuneScape](https://www.runescape.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://psnprofiles.com/) [PSNProfiles.com](https://psnprofiles.com/)
1. [SWAPD](https://swapd.co/) 1. ![](https://www.google.com/s2/favicons?domain=https://packagist.org/) [Packagist](https://packagist.org/)
1. [Sbazar.cz](https://www.sbazar.cz/) 1. ![](https://www.google.com/s2/favicons?domain=https://pastebin.com/) [Pastebin](https://pastebin.com/)
1. [Scratch](https://scratch.mit.edu/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.patreon.com/) [Patreon](https://www.patreon.com/)
1. [Scribd](https://www.scribd.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.pepper.it) [PepperIT](https://www.pepper.it)
1. [ShitpostBot5000](https://www.shitpostbot.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.periscope.tv/) [Periscope](https://www.periscope.tv/)
1. [Shpock](https://www.shpock.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.pinkbike.com/) [Pinkbike](https://www.pinkbike.com/)
1. [Signal](https://community.signalusers.org) 1. ![](https://www.google.com/s2/favicons?domain=https://play.google.com/store) [PlayStore](https://play.google.com/store)
1. [Slack](https://slack.com) 1. ![](https://www.google.com/s2/favicons?domain=https://pocketstars.com/) [PocketStars](https://pocketstars.com/) **(NSFW)**
1. [Slant](https://www.slant.co/) 1. ![](https://www.google.com/s2/favicons?domain=https://pokemonshowdown.com) [Pokemon Showdown](https://pokemonshowdown.com)
1. [Slashdot](https://slashdot.org) 1. ![](https://www.google.com/s2/favicons?domain=https://polarsteps.com/) [Polarsteps](https://polarsteps.com/)
1. [SlideShare](https://slideshare.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.polygon.com/) [Polygon](https://www.polygon.com/)
1. [Smashcast](https://www.smashcast.tv/) 1. ![](https://www.google.com/s2/favicons?domain=https://polymart.org/) [Polymart](https://polymart.org/)
1. [Smule](https://www.smule.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://pornhub.com/) [Pornhub](https://pornhub.com/) **(NSFW)**
1. [Snapchat](https://www.snapchat.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.producthunt.com/) [ProductHunt](https://www.producthunt.com/)
1. [SoundCloud](https://soundcloud.com/) 1. ![](https://www.google.com/s2/favicons?domain=http://promodj.com/) [PromoDJ](http://promodj.com/)
1. [SourceForge](https://sourceforge.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://pypi.org) [PyPi](https://pypi.org)
1. [SoylentNews](https://soylentnews.org) 1. ![](https://www.google.com/s2/favicons?domain=https://quizlet.com) [Quizlet](https://quizlet.com)
1. [Speedrun.com](https://speedrun.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.rajce.idnes.cz/) [Rajce.net](https://www.rajce.idnes.cz/)
1. [Splice](https://splice.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://rateyourmusic.com/) [Rate Your Music](https://rateyourmusic.com/)
1. [Splits.io](https://splits.io) 1. ![](https://www.google.com/s2/favicons?domain=https://forum.rclone.org/) [Rclone Forum](https://forum.rclone.org/)
1. [Sporcle](https://www.sporcle.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.redtube.com/) [RedTube](https://www.redtube.com/) **(NSFW)**
1. [Sportlerfrage](https://www.sportlerfrage.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.redbubble.com/) [Redbubble](https://www.redbubble.com/)
1. [SportsRU](https://www.sports.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.reddit.com/) [Reddit](https://www.reddit.com/)
1. [Spotify](https://open.spotify.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.reisefrage.net/) [Reisefrage](https://www.reisefrage.net/)
1. [Star Citizen](https://robertsspaceindustries.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://replit.com/) [Replit.com](https://replit.com/)
1. [Steam](https://steamcommunity.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.researchgate.net/) [ResearchGate](https://www.researchgate.net/)
1. [SteamGroup](https://steamcommunity.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.reverbnation.com/) [ReverbNation](https://www.reverbnation.com/)
1. [Strava](https://www.strava.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.roblox.com/) [Roblox](https://www.roblox.com/)
1. [SublimeForum](https://forum.sublimetext.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.rockettube.com/) [RocketTube](https://www.rockettube.com/) **(NSFW)**
1. [TETR.IO](https://tetr.io) 1. ![](https://www.google.com/s2/favicons?domain=https://royalcams.com) [RoyalCams](https://royalcams.com)
1. [TLDR Legal](https://tldrlegal.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://rubygems.org/) [RubyGems](https://rubygems.org/)
1. [TRAKTRAIN](https://traktrain.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://rumble.com/) [Rumble](https://rumble.com/)
1. [Telegram](https://t.me/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.runescape.com/) [RuneScape](https://www.runescape.com/)
1. [Tellonym.me](https://tellonym.me/) 1. ![](https://www.google.com/s2/favicons?domain=https://swapd.co/) [SWAPD](https://swapd.co/)
1. [Tenor](https://tenor.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.sbazar.cz/) [Sbazar.cz](https://www.sbazar.cz/)
1. [ThemeForest](https://themeforest.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://scratch.mit.edu/) [Scratch](https://scratch.mit.edu/)
1. [TikTok](https://tiktok.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.scribd.com/) [Scribd](https://www.scribd.com/)
1. [Tinder](https://tinder.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.shitpostbot.com/) [ShitpostBot5000](https://www.shitpostbot.com/)
1. [TradingView](https://www.tradingview.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.shpock.com/) [Shpock](https://www.shpock.com/)
1. [Trakt](https://www.trakt.tv/) 1. ![](https://www.google.com/s2/favicons?domain=https://community.signalusers.org) [Signal](https://community.signalusers.org)
1. [TrashboxRU](https://trashbox.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://sketchfab.com/) [Sketchfab](https://sketchfab.com/)
1. [Trello](https://trello.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://slack.com) [Slack](https://slack.com)
1. [TryHackMe](https://tryhackme.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.slant.co/) [Slant](https://www.slant.co/)
1. [Twitch](https://www.twitch.tv/) 1. ![](https://www.google.com/s2/favicons?domain=https://slashdot.org) [Slashdot](https://slashdot.org)
1. [Twitter](https://twitter.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://slideshare.net/) [SlideShare](https://slideshare.net/)
1. [Typeracer](https://typeracer.com) 1. ![](https://www.google.com/s2/favicons?domain=https://slides.com/) [Slides](https://slides.com/)
1. [Ultimate-Guitar](https://ultimate-guitar.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://smugmug.com) [SmugMug](https://smugmug.com)
1. [Unsplash](https://unsplash.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.smule.com/) [Smule](https://www.smule.com/)
1. [VK](https://vk.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.snapchat.com) [Snapchat](https://www.snapchat.com)
1. [VSCO](https://vsco.co/) 1. ![](https://www.google.com/s2/favicons?domain=https://soundcloud.com/) [SoundCloud](https://soundcloud.com/)
1. [Velomania](https://forum.velomania.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://sourceforge.net/) [SourceForge](https://sourceforge.net/)
1. [Venmo](https://venmo.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://soylentnews.org) [SoylentNews](https://soylentnews.org)
1. [Vero](https://vero.co/) 1. ![](https://www.google.com/s2/favicons?domain=https://speedrun.com/) [Speedrun.com](https://speedrun.com/)
1. [Vimeo](https://vimeo.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://splice.com/) [Splice](https://splice.com/)
1. [Virgool](https://virgool.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://splits.io) [Splits.io](https://splits.io)
1. [VirusTotal](https://www.virustotal.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.sporcle.com/) [Sporcle](https://www.sporcle.com/)
1. [WICG Forum](https://discourse.wicg.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.sportlerfrage.net/) [Sportlerfrage](https://www.sportlerfrage.net/)
1. [Warrior Forum](https://www.warriorforum.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.sports.ru/) [SportsRU](https://www.sports.ru/)
1. [Wattpad](https://www.wattpad.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://open.spotify.com/) [Spotify](https://open.spotify.com/)
1. [We Heart It](https://weheartit.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://robertsspaceindustries.com/) [Star Citizen](https://robertsspaceindustries.com/)
1. [WebNode](https://www.webnode.cz/) 1. ![](https://www.google.com/s2/favicons?domain=https://steamcommunity.com/) [SteamGroup](https://steamcommunity.com/)
1. [Weblate](https://hosted.weblate.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.strava.com/) [Strava](https://www.strava.com/)
1. [Whonix Forum](https://forums.whonix.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://forum.sublimetext.com/) [SublimeForum](https://forum.sublimetext.com/)
1. [Wikidot](http://www.wikidot.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://tetr.io) [TETR.IO](https://tetr.io)
1. [Wikipedia](https://www.wikipedia.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://tldrlegal.com/) [TLDR Legal](https://tldrlegal.com/)
1. [Windy](https://windy.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://traktrain.com/) [TRAKTRAIN](https://traktrain.com/)
1. [Wix](https://wix.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://t.me/) [Telegram](https://t.me/)
1. [WordPress](https://wordpress.com) 1. ![](https://www.google.com/s2/favicons?domain=https://tellonym.me/) [Tellonym.me](https://tellonym.me/)
1. [WordPressOrg](https://wordpress.org/) 1. ![](https://www.google.com/s2/favicons?domain=https://tenor.com/) [Tenor](https://tenor.com/)
1. [Wordnik](https://www.wordnik.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://themeforest.net/) [ThemeForest](https://themeforest.net/)
1. [Wykop](https://www.wykop.pl) 1. ![](https://www.google.com/s2/favicons?domain=https://tiktok.com/) [TikTok](https://tiktok.com/)
1. [Xbox Gamertag](https://xboxgamertag.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://tinder.com/) [Tinder](https://tinder.com/)
1. [Xvideos](https://xvideos.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.tnaflix.com/) [TnAFlix](https://www.tnaflix.com/) **(NSFW)**
1. [YouNow](https://www.younow.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.tradingview.com/) [TradingView](https://www.tradingview.com/)
1. [YouPic](https://youpic.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.trakt.tv/) [Trakt](https://www.trakt.tv/)
1. [YouPorn](https://youporn.com) 1. ![](https://www.google.com/s2/favicons?domain=https://trashbox.ru/) [TrashboxRU](https://trashbox.ru/)
1. [Zhihu](https://www.zhihu.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://traewelling.de/) [Trawelling](https://traewelling.de/)
1. [akniga](https://akniga.org/profile/blue/) 1. ![](https://www.google.com/s2/favicons?domain=https://trello.com/) [Trello](https://trello.com/)
1. [aminoapp](https://aminoapps.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://tryhackme.com/) [TryHackMe](https://tryhackme.com/)
1. [authorSTREAM](http://www.authorstream.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://tuna.voicemod.net/) [Tuna](https://tuna.voicemod.net/)
1. [babyRU](https://www.baby.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://tweakers.net) [Tweakers](https://tweakers.net)
1. [babyblogRU](https://www.babyblog.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.twitch.tv/) [Twitch](https://www.twitch.tv/)
1. [chaos.social](https://chaos.social/) 1. ![](https://www.google.com/s2/favicons?domain=https://twitter.com/) [Twitter](https://twitter.com/)
1. [couchsurfing](https://www.couchsurfing.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://typeracer.com) [Typeracer](https://typeracer.com)
1. [d3RU](https://d3.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://ultimate-guitar.com/) [Ultimate-Guitar](https://ultimate-guitar.com/)
1. [dailykos](https://www.dailykos.com) 1. ![](https://www.google.com/s2/favicons?domain=https://unsplash.com/) [Unsplash](https://unsplash.com/)
1. [datingRU](http://dating.ru) 1. ![](https://www.google.com/s2/favicons?domain=https://vk.com/) [VK](https://vk.com/)
1. [devRant](https://devrant.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://vsco.co/) [VSCO](https://vsco.co/)
1. [drive2](https://www.drive2.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://forum.velomania.ru/) [Velomania](https://forum.velomania.ru/)
1. [eBay.com](https://www.ebay.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://venmo.com/) [Venmo](https://venmo.com/)
1. [eBay.de](https://www.ebay.de/) 1. ![](https://www.google.com/s2/favicons?domain=https://vero.co/) [Vero](https://vero.co/)
1. [eGPU](https://egpu.io/) 1. ![](https://www.google.com/s2/favicons?domain=https://vimeo.com/) [Vimeo](https://vimeo.com/)
1. [eintracht](https://eintracht.de) 1. ![](https://www.google.com/s2/favicons?domain=https://virgool.io/) [Virgool](https://virgool.io/)
1. [fixya](https://www.fixya.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.virustotal.com/) [VirusTotal](https://www.virustotal.com/)
1. [fl](https://www.fl.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://discourse.wicg.io/) [WICG Forum](https://discourse.wicg.io/)
1. [forum_guns](https://forum.guns.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.warriorforum.com/) [Warrior Forum](https://www.warriorforum.com/)
1. [forumhouseRU](https://www.forumhouse.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.wattpad.com/) [Wattpad](https://www.wattpad.com/)
1. [geocaching](https://www.geocaching.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.webnode.cz/) [WebNode](https://www.webnode.cz/)
1. [gfycat](https://gfycat.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://hosted.weblate.org/) [Weblate](https://hosted.weblate.org/)
1. [habr](https://habr.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://weebly.com/) [Weebly](https://weebly.com/)
1. [hackster](https://www.hackster.io) 1. ![](https://www.google.com/s2/favicons?domain=https://forums.whonix.org/) [Whonix Forum](https://forums.whonix.org/)
1. [hunting](https://www.hunting.ru/forum/) 1. ![](https://www.google.com/s2/favicons?domain=http://www.wikidot.com/) [Wikidot](http://www.wikidot.com/)
1. [iMGSRC.RU](https://imgsrc.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.wikipedia.org/) [Wikipedia](https://www.wikipedia.org/)
1. [igromania](http://forum.igromania.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://windy.com/) [Windy](https://windy.com/)
1. [interpals](https://www.interpals.net/) 1. ![](https://www.google.com/s2/favicons?domain=https://wix.com/) [Wix](https://wix.com/)
1. [irecommend](https://irecommend.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://community.wolfram.com/) [WolframalphaForum](https://community.wolfram.com/)
1. [jbzd.com.pl](https://jbzd.com.pl/) 1. ![](https://www.google.com/s2/favicons?domain=https://wordpress.com) [WordPress](https://wordpress.com)
1. [jeuxvideo](http://www.jeuxvideo.com) 1. ![](https://www.google.com/s2/favicons?domain=https://wordpress.org/) [WordPressOrg](https://wordpress.org/)
1. [kofi](https://ko-fi.com) 1. ![](https://www.google.com/s2/favicons?domain=https://www.wordnik.com/) [Wordnik](https://www.wordnik.com/)
1. [kwork](https://www.kwork.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.wykop.pl) [Wykop](https://www.wykop.pl)
1. [labpentestit](https://lab.pentestit.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://xboxgamertag.com/) [Xbox Gamertag](https://xboxgamertag.com/)
1. [last.fm](https://last.fm/) 1. ![](https://www.google.com/s2/favicons?domain=https://xvideos.com/) [Xvideos](https://xvideos.com/) **(NSFW)**
1. [leasehackr](https://forum.leasehackr.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://music.yandex) [YandexMusic](https://music.yandex)
1. [livelib](https://www.livelib.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.younow.com/) [YouNow](https://www.younow.com/)
1. [mastodon.cloud](https://mastodon.cloud/) 1. ![](https://www.google.com/s2/favicons?domain=https://youpic.com/) [YouPic](https://youpic.com/)
1. [mastodon.social](https://chaos.social/) 1. ![](https://www.google.com/s2/favicons?domain=https://youporn.com) [YouPorn](https://youporn.com) **(NSFW)**
1. [mastodon.technology](https://mastodon.xyz/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.youtube.com) [Youtube Channel](https://www.youtube.com)
1. [mastodon.xyz](https://mastodon.xyz/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.youtube.com) [Youtube User](https://www.youtube.com)
1. [mercadolivre](https://www.mercadolivre.com.br) 1. ![](https://www.google.com/s2/favicons?domain=https://www.zhihu.com/) [Zhihu](https://www.zhihu.com/)
1. [metacritic](https://www.metacritic.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://akniga.org/profile/blue/) [akniga](https://akniga.org/profile/blue/)
1. [moikrug](https://moikrug.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://aminoapps.com/) [aminoapp](https://aminoapps.com/)
1. [mstdn.io](https://mstdn.io/) 1. ![](https://www.google.com/s2/favicons?domain=http://www.authorstream.com/) [authorSTREAM](http://www.authorstream.com/)
1. [nairaland.com](https://www.nairaland.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.baby.ru/) [babyRU](https://www.baby.ru/)
1. [nnRU](https://https://www.nn.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.babyblog.ru/) [babyblogRU](https://www.babyblog.ru/)
1. [note](https://note.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://chaos.social/) [chaos.social](https://chaos.social/)
1. [npm](https://www.npmjs.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.couchsurfing.com/) [couchsurfing](https://www.couchsurfing.com/)
1. [opennet](https://www.opennet.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://d3.ru/) [d3RU](https://d3.ru/)
1. [osu!](https://osu.ppy.sh/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.dailykos.com) [dailykos](https://www.dailykos.com)
1. [phpRU](https://php.ru/forum/) 1. ![](https://www.google.com/s2/favicons?domain=http://dating.ru) [datingRU](http://dating.ru)
1. [pikabu](https://pikabu.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://devrant.com/) [devRant](https://devrant.com/)
1. [pr0gramm](https://pr0gramm.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.drive2.ru/) [drive2](https://www.drive2.ru/)
1. [prog.hu](https://prog.hu/) 1. ![](https://www.google.com/s2/favicons?domain=https://egpu.io/) [eGPU](https://egpu.io/)
1. [radio_echo_msk](https://echo.msk.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https:/ebio.gg) [ebio.gg](https:/ebio.gg)
1. [satsisRU](https://satsis.info/) 1. ![](https://www.google.com/s2/favicons?domain=https://eintracht.de) [eintracht](https://eintracht.de)
1. [skyrock](https://skyrock.com/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.fixya.com) [fixya](https://www.fixya.com)
1. [social.tchncs.de](https://social.tchncs.de/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.fl.ru/) [fl](https://www.fl.ru/)
1. [spletnik](https://spletnik.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://forum.guns.ru/) [forum_guns](https://forum.guns.ru/)
1. [svidbook](https://www.svidbook.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.forumhouse.ru/) [forumhouseRU](https://www.forumhouse.ru/)
1. [toster](https://www.toster.ru/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.freecodecamp.org/) [freecodecamp](https://www.freecodecamp.org/)
1. [uid](https://uid.me/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.furaffinity.net) [furaffinity](https://www.furaffinity.net)
1. [wiki.vg](https://wiki.vg/) 1. ![](https://www.google.com/s2/favicons?domain=https://www.geocaching.com/) [geocaching](https://www.geocaching.com/)
1. [xHamster](https://xhamster.com) 1. ![](https://www.google.com/s2/favicons?domain=https://gfycat.com/) [gfycat](https://gfycat.com/)
1. [znanylekarz.pl](https://znanylekarz.pl) 1. ![](https://www.google.com/s2/favicons?domain=https://habr.com/) [habr](https://habr.com/)
1. [zoomit](https://www.zoomit.ir) 1. ![](https://www.google.com/s2/favicons?domain=https://www.hackster.io) [hackster](https://www.hackster.io)
1. ![](https://www.google.com/s2/favicons?domain=https://www.hunting.ru/forum/) [hunting](https://www.hunting.ru/forum/)
1. ![](https://www.google.com/s2/favicons?domain=https://imgsrc.ru/) [iMGSRC.RU](https://imgsrc.ru/)
1. ![](https://www.google.com/s2/favicons?domain=http://forum.igromania.ru/) [igromania](http://forum.igromania.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.interpals.net/) [interpals](https://www.interpals.net/)
1. ![](https://www.google.com/s2/favicons?domain=https://irecommend.ru/) [irecommend](https://irecommend.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://jbzd.com.pl/) [jbzd.com.pl](https://jbzd.com.pl/)
1. ![](https://www.google.com/s2/favicons?domain=http://www.jeuxvideo.com) [jeuxvideo](http://www.jeuxvideo.com)
1. ![](https://www.google.com/s2/favicons?domain=https://ko-fi.com) [kofi](https://ko-fi.com)
1. ![](https://www.google.com/s2/favicons?domain=https://www.kwork.ru/) [kwork](https://www.kwork.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://lab.pentestit.ru/) [labpentestit](https://lab.pentestit.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://last.fm/) [last.fm](https://last.fm/)
1. ![](https://www.google.com/s2/favicons?domain=https://forum.leasehackr.com/) [leasehackr](https://forum.leasehackr.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.livelib.ru/) [livelib](https://www.livelib.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://mastodon.cloud/) [mastodon.cloud](https://mastodon.cloud/)
1. ![](https://www.google.com/s2/favicons?domain=https://chaos.social/) [mastodon.social](https://chaos.social/)
1. ![](https://www.google.com/s2/favicons?domain=https://mastodon.xyz/) [mastodon.technology](https://mastodon.xyz/)
1. ![](https://www.google.com/s2/favicons?domain=https://mastodon.xyz/) [mastodon.xyz](https://mastodon.xyz/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.mercadolivre.com.br) [mercadolivre](https://www.mercadolivre.com.br)
1. ![](https://www.google.com/s2/favicons?domain=https://www.metacritic.com/) [metacritic](https://www.metacritic.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.minds.com) [minds](https://www.minds.com)
1. ![](https://www.google.com/s2/favicons?domain=https://moikrug.ru/) [moikrug](https://moikrug.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://mstdn.io/) [mstdn.io](https://mstdn.io/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.nairaland.com/) [nairaland.com](https://www.nairaland.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.nn.ru/) [nnRU](https://www.nn.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://note.com/) [note](https://note.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.npmjs.com/) [npm](https://www.npmjs.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.opennet.ru/) [opennet](https://www.opennet.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://osu.ppy.sh/) [osu!](https://osu.ppy.sh/)
1. ![](https://www.google.com/s2/favicons?domain=https://php.ru/forum/) [phpRU](https://php.ru/forum/)
1. ![](https://www.google.com/s2/favicons?domain=https://pikabu.ru/) [pikabu](https://pikabu.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://pr0gramm.com/) [pr0gramm](https://pr0gramm.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://prog.hu/) [prog.hu](https://prog.hu/)
1. ![](https://www.google.com/s2/favicons?domain=https://queer.af/) [queer.af](https://queer.af/)
1. ![](https://www.google.com/s2/favicons?domain=https://satsis.info/) [satsisRU](https://satsis.info/)
1. ![](https://www.google.com/s2/favicons?domain=https://sessionize.com/) [sessionize](https://sessionize.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://skyrock.com/) [skyrock](https://skyrock.com/)
1. ![](https://www.google.com/s2/favicons?domain=https://social.tchncs.de/) [social.tchncs.de](https://social.tchncs.de/)
1. ![](https://www.google.com/s2/favicons?domain=https://spletnik.ru/) [spletnik](https://spletnik.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.svidbook.ru/) [svidbook](https://www.svidbook.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://www.toster.ru/) [toster](https://www.toster.ru/)
1. ![](https://www.google.com/s2/favicons?domain=https://uid.me/) [uid](https://uid.me/)
1. ![](https://www.google.com/s2/favicons?domain=https://wiki.vg/) [wiki.vg](https://wiki.vg/)
1. ![](https://www.google.com/s2/favicons?domain=https://wykop.pl) [wykop.pl](https://wykop.pl)
1. ![](https://www.google.com/s2/favicons?domain=https://xhamster.com) [xHamster](https://xhamster.com) **(NSFW)**
1. ![](https://www.google.com/s2/favicons?domain=https://znanylekarz.pl) [znanylekarz.pl](https://znanylekarz.pl)

Loading…
Cancel
Save