23000 stars! Another GitHub query tool


[introduction]: Sherlock is a tool to search social media accounts through user names on social networks.

Why is it named after Sherlock Holmes.

brief introduction

Today is the Internet age, full of many social network systems, such as Zhihu, microblog, twitter, Facebook and so on. Using these social network sites, we need to establish our own account and name. Some websites don’t allow repeated user names, so they need to try to create users by themselves; It’s also possible that you think of a unique name, Sherlock, that can help you.

Sherlock is a python tool that can search different social networking sites for the existence of a specified user name, so that you can see if your user name is repeated.

Sherlock supports nearly 300 search sites, including Zhihu, gitee, leetcode, GitHub, etc., which are familiar in China, and twitter, Facebook, Tik tok, etc. for the list of websites supported, please refer to this address:


The project address is:



  • Pull source code:
$ git clone https://github.com/sherlock-project/sherlock.git  
  • Switch to the Sherlock Directory:
cd sherlock  
  • Installation:
python3 -m pip install -r requirements.txt  

Easy to use

The supported commands are as follows, which can be viewed with — help:

$ python3 sherlock --help  
usage: 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)  
positional arguments:  
  USERNAMES             One or more usernames to check with social networks.  
optional arguments:  
  -h,  -- help              View help information  
  --version               View version and dependent information  
  --verbose, -v, -d, --debug  
                        View debug information  
  --folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT  
                        Output directory. If you want to find multiple user names, the results will be saved in this directory  
  --output OUTPUT, -o OUTPUT  
                        Output directory. If only one user name is searched, the search results will be saved in this directory  
  --tor,  - t               Using tor to make network request  
  --unique-tor,  - u        Use tor to make network requests, and then use tor  
  --csv                   Create a CSV file  
  --site SITE_ NAME        Search only the sites listed. Add multiple options to specify multiple sites  
  --proxy   PROXY_ URL,  - p   Agent service address  
  --json   JSON_ FILE,  - j    Loading data from a JSON file  
  --timeout TIMEOUT       The waiting time for the response. The default is to wait indefinitely. For websites with slow access, it takes a long time  
                        Waiting time, on the other hand, waiting too long can also cause the result to return very slowly  
  --print-all             View search results for all sites  
  --print-found           Only view the results with the corresponding user name  
  --no-color              Remove the color of the terminal display  
  --browse,  - b            Use the default browser to read the results  
  --local,  - l             Force the local data. JSON file to be used
  • Find only one user
python3 sherlock user123  
  • Find multiple users
python3 sherlock user1 user2 user3  
  • To support docker running, first make sure that the docker service has been installed, and then execute the following command to build the image:
docker build -t mysherlock-image .  

After the build is successful, execute the following command to start the container:

docker run --rm -t mysherlock-image user123  

Execute the following command to search:

//  - v  "$ PWD / results / opt / Sherlock / result tells docker to create a folder in the current directory of the container and mount it to / opt / Sherlock / results  
//  - o  / Opt / Sherlock / results / text.txt represents the result output file  
docker run --rm -t -v "$PWD/results:/opt/sherlock/results" mysherlock-image -o /opt/sherlock/results/text.txt user123

There is also a Sherlock image on docker hub, which can be used directly:

docker run theyahya/sherlock user123  

You can also use docker composition to run. The project already contains the docker-composition.yml file

docker-compose run sherlock -o /opt/sherlock/results/text.txt user123  

Open source outpostShare popular, interesting and practical open source projects everyday. Participate in the maintenance of 100000 + star open source technology resource library, including python, Java, C / C + +, go, JS, CSS, node.js, PHP,. Net, etc.

Recommended Today

External part – Visual Studio code and vue.js

Fan waipian Seaconch is so tired that he can’t help writing this article I can’t help but recommend new editors. I can’t help but use them everywherevs codeThis editor To whom? I don’t know, when the same person is like meFrom vsThen maybe you will feel the same as me~ Start learning in Mayvue.jsUp to […]