Skip to content

Latest commit

 

History

History
179 lines (140 loc) · 4.76 KB

installation.mdx

File metadata and controls

179 lines (140 loc) · 4.76 KB
title icon mode og:title
Installation
download
wide
Installation - Sherlock Project
This is an officially supported package, maintained by a member of the Sherlock Project itself.
[pipx](https://pipx.pypa.io/) is often recommended over pip, having more predictable behavior.
```bash
pipx install sherlock-project
```

<Note>    
For those who prefer classic pip, it's very similar. Userspace is recommended.

```bash
pip install --user sherlock-project
```
</Note>

That's it! You can now run sherlock from anywhere.

```bash
sherlock --version
```
This package is not officially supported, but it's maintained by a trusted packager. ```bash brew install sherlock ```
That's it! You can now run sherlock from anywhere.

```bash
sherlock --version
```
This package is not officially supported, but it's maintained under the trusted purview of the Debian Security Tools Packaging Team. The ParrotOS image is maintained by the ParrotOS team.
We may begin to officially support this package in the future.
</Info>

Supported distributions are __Kali__ and __ParrotOS__. Work is underway to support Debian, Ubuntu, and others.
```bash
sudo apt install sherlock
```

That's it! You can now run sherlock from anywhere.

```bash
sherlock --version
```
<Tab title="Dnf">
<Info>
This is an officially supported package, maintained by a member of the Sherlock Project itself.

Sherlock has out-of-the-box support for Fedora. Enterprise Linux support through EPEL is __planned__.
Enterprise Linux distributions are RHEL, CentOS, Alma, Rocky, Oracle, and Scientific.
</Info>

```bash
sudo dnf install sherlock-project
```

That's it! You can now run sherlock from anywhere.

```bash
sherlock --version
```
This package is not officially supported, but still closely follows our release cycle. ```bash sudo pacman -S sherlock ```
That's it! You can now run sherlock from anywhere.

```bash
sherlock --version
```
This is an officially supported image, maintained by a member of the Sherlock Project itself.
```bash
docker pull sherlock/sherlock
```

Sherlock doesn't yet have context detection. It's recommended that Docker containers be ran with option -o /opt/sherlock/results/{user123}.txt (replace {user123}) when an output file is desired at the mounted volume (as seen in the compose). This has no effect on stdout, which functions as expected out of the box.

# One-off searches
docker run --rm -t sherlock/sherlock user123

# If you need to save the output file... (modify as needed)
# Output file will land in ${pwd}/results
docker run --rm -t -v "$PWD/results:/opt/sherlock/results" sherlock/sherlock -o /opt/sherlock/results/text.txt user123
# At any time, you may update the image via this command
docker pull sherlock/sherlock

Using compose

version: "3"
services:
  sherlock:
    container_name: sherlock
    image: sherlock/sherlock
    volumes:
      - ./sherlock/:/opt/sherlock/results/
docker compose run sherlock user123

Build image from source (useful for contributors)

# Assumes ${pwd} is repository root
docker build -t sherlock .
docker run --rm -t sherlock user123
While this method uses the official repository, it's not an officially supported installation method. This method is recommended for contributors, packagers, and other users who need access to the source code. ```bash git clone https://github.com/sherlock-project/sherlock.git cd sherlock virtualenv . source bin/activate ```
## Build live package from source (useful for contributors)

Building an editable (or live) package links the entry point to your current directory, rather than to the standard install location. This is often useful when working with the code base, as changes are reflected immediately without reinstallation.

Note that the version number will be 0.0.0 for pipx local builds unless manually changed in the pyproject file (it will prompt the user for an update).

```bash
pipx install -e .
```

## Run package from source (without installing)

If you'd rather not install directly to your system, you can import the module at runtime with -m.

```bash
python3 -m sherlock_project user123 user789
```