diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..5b8aa157b --- /dev/null +++ b/docs/README.md @@ -0,0 +1,147 @@ +

+
+ +
+ Hunt down social media accounts by username across 400+ social networks +
+

+ +

+ Installation +    |    + Usage +    |    + Docker +    |    + Contributing +

+ +

+ + +

+ + +## Installation + +[![PyPI - Version](https://img.shields.io/pypi/v/sherlock-project?logo=PyPi&label=PyPI&color=darkgreen)][ext_pypi] [![Docker Image Version](https://img.shields.io/docker/v/sherlock/sherlock?sort=semver&logo=docker&label=Docker&color=darkgreen)][docs_docker] [![homebrew version](https://img.shields.io/homebrew/v/sherlock?logo=Homebrew&color=darkgreen)][ext_brew] + + +| | Command | Notes | +| - | - | - | +| PyPI | `pipx install sherlock-project` | `pip` may be used in place of `pipx` | +| Homebrew | `brew install sherlock` | Homebrew-supported | +| Docker | `docker pull sherlock/sherlock` | | + +### Alternative guides and methods + +- [See all alternative guides][docs_install] +- [Python package][docs_py] +- [Docker container][docs_docker] + + + +## Usage + +```console +$ sherlock --help +usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT] + [--output OUTPUT] [--tor] [--unique-tor] [--csv] [--xlsx] + [--site SITE_NAME] [--proxy PROXY_URL] [--json JSON_FILE] + [--timeout TIMEOUT] [--print-all] [--print-found] [--no-color] + [--browse] [--local] [--nsfw] + USERNAMES [USERNAMES ...] + +Sherlock: Find Usernames Across Social Networks (Version 0.14.3) + +positional arguments: + USERNAMES One or more usernames to check with social networks. + Check similar usernames using {?} (replace to '_', '-', '.'). + +optional arguments: + -h, --help show this help message and exit + --version Display version information and dependencies. + --verbose, -v, -d, --debug + Display extra debugging information and metrics. + --folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT + If using multiple usernames, the output of the results will be + saved to this folder. + --output OUTPUT, -o OUTPUT + If using single username, the output of the result will be saved + to this file. + --tor, -t Make requests over Tor; increases runtime; requires Tor to be + installed and in system path. + --unique-tor, -u Make requests over Tor with new Tor circuit after each request; + increases runtime; requires Tor to be installed and in system + path. + --csv Create Comma-Separated Values (CSV) File. + --xlsx Create the standard file for the modern Microsoft Excel + spreadsheet (xlsx). + --site SITE_NAME Limit analysis to just the listed sites. Add multiple options to + specify more than one site. + --proxy PROXY_URL, -p PROXY_URL + Make requests over a proxy. e.g. socks5://127.0.0.1:1080 + --json JSON_FILE, -j JSON_FILE + Load data from a JSON file or an online, valid, JSON file. + --timeout TIMEOUT Time (in seconds) to wait for response to requests (Default: 60) + --print-all Output sites where the username was not found. + --print-found Output sites where the username was found. + --no-color Don't color terminal output + --browse, -b Browse to all results on default browser. + --local, -l Force the use of the local data.json file. + --nsfw Include checking of NSFW sites from default list. +``` + +To search for only one user: +```bash +sherlock user123 +``` + +To search for more than one user: +```bash +sherlock user1 user2 user3 +``` + +Accounts found will be stored in an individual text file with the corresponding username (e.g ```user123.txt```). + + +## How to contribute to Sherlock + +We would love to have you help us with the development of Sherlock. Each and every contribution is greatly valued! + +Here are some things we would appreciate your help on: +- [Adding targets][docs_contrib_adding_targets] +- [Cleaning up existing targets][docs_contrib_removing_targets] +- [Restoring previously removed targets][docs_contrib_restoring_targets] + +Head over to our __[Contributing][docs_contrib]__ page for additional info. + +## Star History + + + + + Sherlock Project Star History Chart + + +## License + +MIT © Sherlock Project
+Original Creator - [Siddharth Dushantha](https://github.com/sdushantha) + + + +[docs_install]: /docs/install.md +[docs_docker]: /docs/install.md#docker +[docs_docker_dockerhub]: /docs/install.md#docker +[docs_docker_compose]: /docs/install.md#using-compose +[docs_docker_source]: /docs/install.md#build-image-from-source-useful-for-contributors +[docs_py]: /docs/install.md#python +[docs_py_build]: /docs/install.md#build-python-package-from-source-useful-for-contributors +[docs_contrib]: /docs/CONTRIBUTING.md +[docs_contrib_adding_targets]: /docs/CONTRIBUTING.md#adding-targets +[docs_contrib_removing_targets]: /docs/CONTRIBUTING.md#removing-targets +[docs_contrib_restoring_targets]: /docs/CONTRIBUTING.md#restoring-targets +[ext_pypi]: https://pypi.org/project/sherlock-project/ +[ext_brew]: https://formulae.brew.sh/formula/sherlock + diff --git a/docs/pyproj/README.md b/docs/pyproj/README.md new file mode 100644 index 000000000..c09121418 --- /dev/null +++ b/docs/pyproj/README.md @@ -0,0 +1,43 @@ + + +

+
+ +
+ + Hunt down social media accounts by username across 400+ social networks + +
+ Additional documentation can be found on our GitHub repository +
+

+ +## Basic usage + +```console +$ sherlock --help +usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT] + [--output OUTPUT] [--tor] [--unique-tor] [--csv] [--xlsx] + [--site SITE_NAME] [--proxy PROXY_URL] [--json JSON_FILE] + [--timeout TIMEOUT] [--print-all] [--print-found] [--no-color] + [--browse] [--local] [--nsfw] + USERNAMES [USERNAMES ...] +``` + +To search for only one user: +```bash +$ sherlock user123 +``` + +To search for more than one user: +```bash +$ sherlock user1 user2 user3 +``` +
+
+
+ +

+ + +

\ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 2bfb1cd47..11228285e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,30 +1,26 @@ [build-system] -requires = ["setuptools >= 61.0"] -build-backend = "setuptools.build_meta" +requires = [ "poetry-core>=1.8.0", "poetry-dynamic-versioning>1.0.0,<2.0.0" ] +build-backend = "poetry_dynamic_versioning.backend" -[project.scripts] -sherlock = "sherlock:main" +[tool.poetry-dynamic-versioning] +enable = true +vcs = "git" -[project.urls] -Homepage = "http://sherlock-project.github.io/" -Repository = "https://github.com/sherlock-project/sherlock.git" -Issues = "https://github.com/sherlock-project/sherlock/issues" - -[project] -name = "Sherlock" +[tool.poetry] +name = "sherlock-project" +version = "0.0.0" +description = "Hunt down social media accounts by username across social networks" +license = "MIT" authors = [ - { name = "Sherlock Project" } + "Siddharth Dushantha" ] maintainers = [ - { name = "Siddharth Dushantha" }, - { name = "Matheus Felipe" }, - { name = "Sondreal" }, - { name = "Paul Pfeister" } + "Paul Pfeister", + "Matheus Felipe", + "Sondre Karlsen Dyrnes" ] -description = "Hunt down social media accounts by username across social networks" -readme = "README.md" -license = {file = "LICENSE"} -dynamic = ["dependencies", "version"] +readme = "docs/pyproj/README.md" +packages = [ { include = "sherlock" } ] keywords = [ "osint", "reconnaissance", "information gathering" ] classifiers = [ "Development Status :: 5 - Production/Stable", @@ -34,13 +30,27 @@ classifiers = [ "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", - "Topic :: Communications", "Topic :: Security" ] -[tool.setuptools.dynamic] -dependencies = { file = [ "requirements.txt" ] } -version = { attr = "sherlock.__version__" } -[tool.setuptools] -package-dir = {"" = "sherlock"} +[tool.poetry.urls] +Homepage = "http://sherlock-project.github.io/" +Repository = "https://github.com/sherlock-project/sherlock.git" +Issues = "https://github.com/sherlock-project/sherlock/issues" + +[tool.poetry.dependencies] +python = "^3.8" +certifi = "^2019.6.16" +colorama = "^0.4.1" +PySocks = "^1.7.0" +requests = "^2.22.0" +requests-futures = "^1.0.0" +stem = "^1.8.0" +torrequest = "^0.1.0" +pandas = ">1.0.0" +openpyxl = "^3.0.10" +exrex = "^0.11.0" + +[tool.poetry.scripts] +sherlock = 'sherlock.sherlock:main' diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 0bee5bfdf..000000000 --- a/requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -certifi>=2019.6.16 -colorama>=0.4.1 -PySocks>=1.7.0 -requests>=2.22.0 -requests-futures>=1.0.0 -stem>=1.8.0 -torrequest>=0.1.0 -pandas>=1.0.0 -openpyxl<=3.0.10 -exrex>=0.11.0 \ No newline at end of file diff --git a/sherlock/notify.py b/sherlock/notify.py index 87bfa0bbd..dc57ea335 100644 --- a/sherlock/notify.py +++ b/sherlock/notify.py @@ -3,7 +3,7 @@ This module defines the objects for notifying the caller about the results of queries. """ -from result import QueryStatus +from sherlock.result import QueryStatus from colorama import Fore, Style import webbrowser diff --git a/sherlock/sherlock.py b/sherlock/sherlock.py index a8760f2f9..5042b8bf2 100644 --- a/sherlock/sherlock.py +++ b/sherlock/sherlock.py @@ -21,10 +21,10 @@ from requests_futures.sessions import FuturesSession from torrequest import TorRequest -from result import QueryStatus -from result import QueryResult -from notify import QueryNotifyPrint -from sites import SitesInformation +from sherlock.result import QueryStatus +from sherlock.result import QueryResult +from sherlock.notify import QueryNotifyPrint +from sherlock.sites import SitesInformation from colorama import init from argparse import ArgumentTypeError diff --git a/sherlock/tests/base.py b/sherlock/tests/base.py index de958b9db..204c19c0a 100644 --- a/sherlock/tests/base.py +++ b/sherlock/tests/base.py @@ -6,9 +6,9 @@ import os.path import unittest import sherlock -from result import QueryStatus -from notify import QueryNotify -from sites import SitesInformation +from sherlock.result import QueryStatus +from sherlock.notify import QueryNotify +from sherlock.sites import SitesInformation import warnings diff --git a/sherlock/tests/test_multiple_usernames.py b/sherlock/tests/test_multiple_usernames.py index 418110877..3be803330 100644 --- a/sherlock/tests/test_multiple_usernames.py +++ b/sherlock/tests/test_multiple_usernames.py @@ -1,4 +1,3 @@ -import importlib import unittest import sys sys.path.append('../')