unet has been ran on the following platforms:
- ubuntu 22.04
- ubuntu 24.04
- kali linux
- macOS 14
- macOS 15
And is regularly tested on:
- Linux (Ubuntu)
- macOS
This project works with Python 3.12+ on macOS and Linux.
To keep the project dependencies isolated from your global Python environment, it is recommended to create a Python virtual environment.
-
Create a virtual environment (replace
<path to virtualenv>
with the desired path):python3 -m venv <path to virtualenv>
-
Activate the virtual environment:
source <path to virtualenv>/bin/activate
-
Install the necessary dependencies:
python3 -m pip install -r requirements.txt
-
(Optional) If you are developing the project, install additional development tools for testing, linting, and type checking:
python3 -m pip install -r requirements_dev.txt
- To install the project, run the following command:
python3 -m pip install .
If you're a developer and want to make changes to the project while testing them immediately, you can install the project in "editable" mode. This allows you to make changes without needing to reinstall each time.
- Run the following command:
python3 -m pip install -e .
This links the project directory directly into the environment, so changes are reflected in real time.
On Linux, the tool might require root privileges to operate, especially since it interacts with raw sockets.
If the project has been installed within a virtual environment, you can run it as follows:
sudo "<path to python's executable in the virtualenv where the project is installed>" -m unet
For example:
sudo /home/user/.virtualenvs/unet/bin/python -m unet
This ensures that the correct Python interpreter from the virtual environment is used while running the tool with elevated privileges.
If everything went well, it should display the usage message. If you encountered an error during installation or on the first run after installation, please report it.
On the first run, unet will create a configuration directory at ~/.config/unet
,
where it will store its config file, directories for external modules, and the
history file.
If you want to add some modules you think will be useful, add them to public github repository and add name and link to our list of public modules
This project is released under the BSD 3-Clause license. See LICENSE for more information