2.3 萬 Star ! 又一個持續(xù)霸榜 GitHub 查詢工具
為什么取這個名字,源自偵探小說中的神探 Sherlock Holmes(夏洛克·福爾摩斯)。
簡介
如今是互聯(lián)網(wǎng)時代,充斥著很多的社交網(wǎng)絡(luò)系統(tǒng),比如知乎、微博,國外的Twitter、Facebook等,使用這些社交網(wǎng)站都需要我們建立自己的賬戶,起一個名字。有些網(wǎng)站不允許用戶名重復(fù),需要自己不斷試錯去嘗試創(chuàng)建用戶;也有可能你想起一個獨一無二的名字,sherlock可以幫助你。
sherlock是一個Python工具,它能夠在不同的社交網(wǎng)站上搜索是否存在指定的用戶名,這樣的話你就可以看到自己起的用戶名有沒有重復(fù)。
sherlock支持搜索的網(wǎng)站接近300個,包括國內(nèi)比較熟悉的知乎、Gitee、LeetCode、Github等,國外的包括Twitter、Facebook、Tik Tok等,支持的網(wǎng)站列表參考這個地址:
https://github.com/sherlock-project/sherlock/blob/master/sites.md
項目地址是:
https://github.com/sherlock-project/sherlock
安裝
拉取源代碼:
- $ git clone https://github.com/sherlock-project/sherlock.git
切換到sherlock目錄:
- cd sherlock
安裝:
- python3 -m pip install -r requirements.txt
簡單使用
支持的命令如下,可以使用--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 查看幫助信息
- --version 查看版本以及依賴的信息
- --verbose, -v, -d, --debug
- 查看debug信息
- --folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT
- 輸出目錄,如果要查找多個用戶名,則查找的結(jié)果會被保存到這個目錄下
- --output OUTPUT, -o OUTPUT
- 輸出目錄,如果只查找一個用戶名,則查找的結(jié)果會被保存到這個目錄下
- --tor, -t 使用Tor做網(wǎng)絡(luò)請求
- --unique-tor, -u 使用Tor做網(wǎng)絡(luò)請求,之后都用Tor
- --csv 創(chuàng)建CSV文件
- --site SITE_NAME 只對列出的站點進行搜索。添加多個選項指定多個站點
- --proxy PROXY_URL, -p 代理服務(wù)地址
- --json JSON_FILE, -j 從JSON文件中加載數(shù)據(jù)
- --timeout TIMEOUT 響應(yīng)的等待時間。默認(rèn)是無限期等待,對于訪問比較慢的網(wǎng)站,需要比較長的
- 等待時間,另一方面,等待時間太長也會導(dǎo)致結(jié)果返回很慢
- --print-all 查看所有網(wǎng)站的查找結(jié)果
- --print-found 只查看存在對應(yīng)用戶名的結(jié)果
- --no-color 去掉終端顯示的顏色
- --browse, -b 使用默認(rèn)瀏覽器閱讀結(jié)果
- --local, -l 強制使用本地的data.json文件
只查找一個用戶
- python3 sherlock user123
查找多個用戶
- python3 sherlock user1 user2 user3
支持docker運行 首先確保已經(jīng)安裝了docker服務(wù),然后執(zhí)行以下命令構(gòu)建鏡像:
- docker build -t mysherlock-image .
構(gòu)建成功后,執(zhí)行以下命令啟動容器:
- docker run --rm -t mysherlock-image user123
執(zhí)行以下命令進行搜索:
- // -v "$PWD/results:/opt/sherlock/result告訴docker在容器當(dāng)前目錄下創(chuàng)建文件夾,并掛載到/opt/sherlock/results
- // -o /opt/sherlock/results/text.txt表示結(jié)果輸出文件
- docker run --rm -t -v "$PWD/results:/opt/sherlock/results" mysherlock-image -o /opt/sherlock/results/text.txt user123
Docker Hub上也有了sherlock鏡像,可以直接使用:
- docker run theyahya/sherlock user123
還可以使用docker-compose運行,項目中已經(jīng)包含了docker-compose.yml文件:
- docker-compose run sherlock -o /opt/sherlock/results/text.txt user123