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