.. _install-ref-label:
Installation Instructions
=========================
There are two primary phases for installation:
* prior to the python dependencies being installed
* everything else
Manual Steps
############
First, the steps to get python dependencies installed in a virtual environment are as follows (and shown below)
Kali
----
.. code-block:: console
sudo apt update
sudo apt install pipenv
Ubuntu 18.04/20.04
------------------
.. code-block:: console
sudo apt update
sudo apt install python3-pip
pip install --user pipenv
echo "PATH=${PATH}:~/.local/bin" >> ~/.bashrc
bash
Both OSs After ``pipenv`` Install
---------------------------------
.. code-block:: console
git clone https://github.com/epi052/recon-pipeline.git
cd recon-pipeline
pipenv install
pipenv shell
.. raw:: html
Everything Else
###############
After installing the python dependencies, the recon-pipeline shell provides its own :ref:`tools_command` command (seen below).
A simple ``tools install all`` will handle all installation steps. Installation has **only** been tested on **Kali 2019.4 and Ubuntu 18.04/20.04**.
**Ubuntu Note (and newer kali versions)**: You may consider running ``sudo -v`` prior to running ``./recon-pipeline.py``. ``sudo -v`` will refresh your creds, and the underlying subprocess calls during installation won't prompt you for your password. It'll work either way though.
Individual tools may be installed by running ``tools install TOOLNAME`` where ``TOOLNAME`` is one of the known tools that make
up the pipeline.
The installer maintains a (naive) list of installed tools at ``~/.local/recon-pipeline/tools/.tool-dict.pkl``. The installer in no way attempts to be a package manager. It knows how to execute the steps necessary to install and remove its tools. Beyond that, it's
like Jon Snow, **it knows nothing**.
Tools can also be uninstalled using the ``uninstall all`` command. It is also possible to individually uninstall them in the same manner as shown above.
.. raw:: html
Alternative Distros
###################
In v0.8.1, an effort was made to remove OS specific installation steps from the installer. However, if you're
using an untested distribution (i.e. not Kali/Ubuntu 18.04/20.04), meeting the criteria below **should** be sufficient
for the auto installer to function:
- systemd-based system (``luigid`` is installed as a systemd service)
- python3.6+ installed
With the above requirements met, following the installation steps above starting with ``pipenv install`` should be sufficient.
The alternative would be to manually install each tool.