2.3 万 Star ! 又一个持续霸榜 GitHub 查询工具

开源前哨

共 5328字,需浏览 11分钟

 ·

2021-03-24 11:41


【导语】:sherlock 是一个通过社交网络上的用户名搜寻社交媒体帐户的工具。


为什么取这个名字,源自侦探小说中的神探 Sherlock Holmes(夏洛克·福尔摩斯)。

简介

如今是互联网时代,充斥着很多的社交网络系统,比如知乎、微博,国外的Twitter、Facebook等,使用这些社交网站都需要我们建立自己的账户,起一个名字。有些网站不允许用户名重复,需要自己不断试错去尝试创建用户;也有可能你想起一个独一无二的名字,sherlock可以帮助你。

sherlock是一个Python工具,它能够在不同的社交网站上搜索是否存在指定的用户名,这样的话你就可以看到自己起的用户名有没有重复。

sherlock支持搜索的网站接近300个,包括国内比较熟悉的知乎、Gitee、LeetCode、Github等,国外的包括Twitter、Facebook、Tik Tok等,支持的网站列表参考这个地址:

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
                        输出目录,如果要查找多个用户名,则查找的结果会被保存到这个目录下
  --output OUTPUT, -o OUTPUT
                        输出目录,如果只查找一个用户名,则查找的结果会被保存到这个目录下
  --tor, -t             使用Tor做网络请求
  --unique-tor, -u      使用Tor做网络请求,之后都用Tor
  --csv                 创建CSV文件
  --site SITE_NAME      只对列出的站点进行搜索。添加多个选项指定多个站点
  --proxy PROXY_URL, -p 代理服务地址
  --json JSON_FILE, -j  从JSON文件中加载数据
  --timeout TIMEOUT     响应的等待时间。默认是无限期等待,对于访问比较慢的网站,需要比较长的
                        等待时间,另一方面,等待时间太长也会导致结果返回很慢
  --print-all           查看所有网站的查找结果
  --print-found         只查看存在对应用户名的结果
  --no-color            去掉终端显示的颜色
  --browse, -b          使用默认浏览器阅读结果
  --local, -l           强制使用本地的data.json文件
  • 只查找一个用户
python3 sherlock user123
  • 查找多个用户
python3 sherlock user1 user2 user3
  • 支持docker运行 首先确保已经安装了docker服务,然后执行以下命令构建镜像:
docker build -t mysherlock-image .

构建成功后,执行以下命令启动容器:

docker run --rm -t mysherlock-image user123

执行以下命令进行搜索:

// -v "$PWD/results:/opt/sherlock/result告诉docker在容器当前目录下创建文件夹,并挂载到/opt/sherlock/results
// -o /opt/sherlock/results/text.txt表示结果输出文件
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运行,项目中已经包含了docker-compose.yml文件:

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


- EOF - 


更多优秀开源项目(点击下方图片可跳转)




开源前哨

日常分享热门、有趣和实用的开源项目。参与维护10万+star 的开源技术资源库,包括:Python, Java, C/C++, Go, JS, CSS, Node.js, PHP, .NET 等

关注后获取

回复 资源 获取 10万+ star 开源资源



分享、点赞和在看

支持我们分享更多优秀开源项目,谢谢!

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报