The author | | vlad source vlad (public number: fulade_me)

I don’t know if there are any friends like me, often in the registration of an account when entering a nickname will often return a “user name already exists”, and then try several nicknames before success. The tool introduced today can help us quickly search each major website has our own user nickname, and it can also help us quickly query the same user name are registered with which websites.

Introduction to the

Sherloc, which already has a 24K Star count on Github, is named Sherlock after the English name of the film Sherlock. Sherlock is mainly developed using Python3, which makes it more flexible and can run on Windows, Mac and Linux operating systems.

Installation steps

Let’s use Linux as an example

# Download the source from Github
$ git clone https://github.com/sherlock-project/sherlock.git

Enter the source folder
$ cd sherlock

Dependencies required by the installation
$ python3 -m pip install -r requirements.txt
Copy the code

Thanks to Python’s excellent package management tools, our installation is very simple and convenient, requiring only a few commands.

Method of use

$ python3 sherlock --helpusage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT] [--output OUTPUT] [--tor] [--unique-tor] [--csv] [--site SITE_NAME] [--proxy PROXY_URL] [--json JSON_FILE] [--timeout TIMEOUT] [--print-all] [--print-found] [--no-color]  [--browse] [--local]
                USERNAMES [USERNAMES ...]

Sherlock: Find Usernames Across Social Networks (Version 0.14.0)

optional arguments:
  -h, --help           # Show help page
  --version            Print the current version number and project dependencies
  --verbose, -v, -d, --debug # Log output level
  --folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT If you need to query multiple usernames at the same time, you can define the folder path to pass in to save the results here
  --output OUTPUT, -o OUTPUT  Select * from 'select'; select * from 'select'
  --tor, -t             To send requests through Tor, Tor must be installed in the system directory
  --unique-tor, -u      # Send requests through Tor and use a new connection each time
  --csv                 Create a CVS file
  --site SITE_NAME      The name of the site to be queried can be passed as multiple
  --proxy PROXY_URL, -p PROXY_URL # proxy used
  --json JSON_FILE, -j JSON_FILE The input format is JSON. Json files obtained from the network are supported
  --timeout TIMEOUT     # timeout
  --print-all           Output all results including sites with no nicknames found
  --print-found         Print only the information found
  --no-color            The console does not have colored output
  --browse, -b          Open all search results using the default browser
  --local, -l           # Force the use of local data.json files
Copy the code

It is also very simple to search for a single name by typing on the command line:python3 sherlock usernameLet’s say we searchThe founding of sichuanThe search results are as follows:

Search for multiple names python3 Sherlock Tony Heisenberg Johnson

[*] Checking username tony on:
[+] 3dnews: http://forum.3dnews.ru/member.php?username=tony
[+] 7Cups: https://www.7cups.com/@tony
[+] 9GAG: https://www.9gag.com/u/tony
[+] About.me: https://about.me/tony
[+] Academia.edu: https://independent.academia.edu/tony
[+] AllTrails: https://www.alltrails.com/members/tony
....
[+] Anobii: https://www.anobii.com/tony/profile
[+] Apple Discussions: https://discussions.apple.com/profile/tony
[+] Archive.org: https://archive.org/details/@tony
[+] Asciinema: https://asciinema.org/~tony
[+] AskFM: https://ask.fm/tony

[*] Checking username heisenberg on:
[+] 9GAG: https://www.9gag.com/u/heisenberg
[+] About.me: https://about.me/heisenberg
[+] Academia.edu: https://independent.academia.edu/heisenberg
[+] AllTrails: https://www.alltrails.com/members/heisenberg
[+] Anobii: https://www.anobii.com/heisenberg/profile
[+] Archive.org: https://archive.org/details/@heisenberg
...
[+] Asciinema: https://asciinema.org/~heisenberg
[+] AskFM: https://ask.fm/heisenberg
[+] Audiojungle: https://audiojungle.net/user/heisenberg
[+] BLIP.fm: https://blip.fm/heisenberg
[+] BOOTH: https://heisenberg.booth.pm/

[*] Checking username johnson on:
[+] 7Cups: https://www.7cups.com/@johnson
[+] 9GAG: https://www.9gag.com/u/johnson
[+] About.me: https://about.me/johnson
[+] Academia.edu: https://independent.academia.edu/johnson
[+] AllTrails: https://www.alltrails.com/members/johnson
...
[+] Anobii: https://www.anobii.com/johnson/profile
[+] Archive.org: https://archive.org/details/@johnson
[+] Audiojungle: https://audiojungle.net/user/johnson
[+] BLIP.fm: https://blip.fm/johnson
[+] Bandcamp: https://www.bandcamp.com/johnson
Copy the code

Multiple search results are presented in order

Support the Docker

The author also added support for Docker, we just need to execute docker build-t mySherlock-image. You can use sherklock in Docker. More information about how to use Docker can be found on the Github homepage

Realize the principle of

The author is to request the URL address of each user, if there is a result, it means that there is this nickname, if there is no result or 404, it means that there is no current user. Such as request: https://www.about.me/tony, you can request to the result is the nickname, if there is no corresponding return is not the nickname.