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

时间:2021-10-19 14:52:54

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

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

简介

 

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

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

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

安装

 

拉取源代码:

  1. $ git clone https://github.com/sherlock-project/sherlock.git 

切换到sherlock目录:

  1. cd sherlock 

安装:

  1. python3 -m pip install -r requirements.txt 

简单使用

 

支持的命令如下,可以使用--help查看:

  1. $ python3 sherlock --help 
  2.  
  3. usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT] 
  4.  
  5. [--output OUTPUT] [--tor] [--unique-tor] [--csv] 
  6.  
  7. [--site SITE_NAME] [--proxy PROXY_URL] [--json JSON_FILE] 
  8.  
  9. [--timeout TIMEOUT] [--print-all] [--print-found] [--no-color] 
  10.  
  11. [--browse] [--local] 
  12.  
  13. USERNAMES [USERNAMES ...] 
  14.  
  15. Sherlock: Find Usernames Across Social Networks (Version 0.14.0
  16.  
  17. positional arguments: 
  18.  
  19. USERNAMES One or more usernames to check with social networks. 
  20.  
  21. optional arguments: 
  22.  
  23. -h, --help 查看帮助信息 
  24.  
  25. --version 查看版本以及依赖的信息 
  26.  
  27. --verbose, -v, -d, --debug 
  28.  
  29. 查看debug信息 
  30.  
  31. --folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT 
  32.  
  33. 输出目录,如果要查找多个用户名,则查找的结果会被保存到这个目录下 
  34.  
  35. --output OUTPUT, -o OUTPUT 
  36.  
  37. 输出目录,如果只查找一个用户名,则查找的结果会被保存到这个目录下 
  38.  
  39. --tor, -t 使用Tor做网络请求 
  40.  
  41. --unique-tor, -u 使用Tor做网络请求,之后都用Tor 
  42.  
  43. --csv 创建CSV文件 
  44.  
  45. --site SITE_NAME 只对列出的站点进行搜索。添加多个选项指定多个站点 
  46.  
  47. --proxy PROXY_URL, -p 代理服务地址 
  48.  
  49. --json JSON_FILE, -j 从JSON文件中加载数据 
  50.  
  51. --timeout TIMEOUT 响应的等待时间。默认是无限期等待,对于访问比较慢的网站,需要比较长的 
  52.  
  53. 等待时间,另一方面,等待时间太长也会导致结果返回很慢 
  54.  
  55. --print-all 查看所有网站的查找结果 
  56.  
  57. --print-found 只查看存在对应用户名的结果 
  58.  
  59. --no-color 去掉终端显示的颜色 
  60.  
  61. --browse, -b 使用默认浏览器阅读结果 
  62.  
  63. --local, -l 强制使用本地的data.json文件 

只查找一个用户

  1. python3 sherlock user123 

查找多个用户

  1. python3 sherlock user1 user2 user3 

支持docker运行 首先确保已经安装了docker服务,然后执行以下命令构建镜像:

  1. docker build -t mysherlock-image . 

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

  1. docker run --rm -t mysherlock-image user123 

执行以下命令进行搜索:

  1. // -v "$PWD/results:/opt/sherlock/result告诉docker在容器当前目录下创建文件夹,并挂载到/opt/sherlock/results 
  2.  
  3. // -o /opt/sherlock/results/text.txt表示结果输出文件 
  4.  
  5. docker run --rm -t -v "$PWD/results:/opt/sherlock/results" mysherlock-image -o /opt/sherlock/results/text.txt user123 

Docker Hub上也有了sherlock镜像,可以直接使用:

  1. docker run theyahya/sherlock user123 

还可以使用docker-compose运行,项目中已经包含了docker-compose.yml文件:

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

原文地址:https://mp.weixin.qq.com/s?__biz=MzAxMDM0MzQ4Mg==&mid=2451064346&idx=1&sn=ee7ff586e4e498dc7692ebe9a6c540d7&chksm=8cbd234fbbcaaa59e0dd273ac7544d2543ccfc8620e4682c8f221d8a7379a2b6e66b8aa6998b&mpshare=1&