Setting Up the C2
This page covers installing Tuoni, configuring the server, and using the tuoni CLI to manage the C2 and its containers.
Installation and Quick Start
To install the Client and Server docker on the same host and set everything up, simply:
Or if you prefer shorter curl:
CLI Autocomplete
The setup will also install shell tuoni autocomplete for bash and zsh. You need to source the autocomplete script to enable it in the setup shell:
All the new shell sessions will have the autocomplete enabled.
After running the installation script and sourcing the relevant rc file, just execute:
This will start the client on port 12702 and server on port 8443 by default using snakeoil certificates. You can change the server port and certificates by editing the config/tuoni.yml file.
The client docker uses nginx docker proxy on port 12702 by default using snakeoil certificates. You can change the port and certificates by editing the docker-compose.yml file.
Configuration File Example
The default configuration file is located at config/tuoni.yml after initialization:
Operating System Support
- Works on Debian-based systems.
- Tested on Ubuntu 24.04 and Kali 2025.2.
CLI Commands
Tuoni CLI Commands
tuoni <start|stop|restart|logs>
C2 interactions
- Start: Starts client and server docker.
- Stop: Stops client and server dockers.
- Restart: Restarts client and server dockers.
- Logs: Tails client and server dockers logs.
tuoni <clean-configuration|update|update-silent>
Maintenance interactions
- Clean Configuration: Prompts which configuration files to remove and resets them to default.
- Update: Perform git and docker pull.
- Update Silent: Perform git and docker pull silently.
tuoni <update-docker-images|export-docker-images|import-docker-images>
Docker image interactions
- Update Docker Images: Updates the docker images.
- Export Docker Images: Exports the docker images to
/srv/tuoni/transfer/tuoni-docker-images.tarfile. - Import Docker Images: Imports the docker images from
/srv/tuoni/transfer/tuoni-docker-images.tarfile.
tuoni <transfer-tuoni-package|export-tuoni-package|import-tuoni-package>
Tuoni package transferring interactions
- Transfer Tuoni Package: Transfers the Tuoni package to remote host via rsync. More details on Offline Mode page.
- Export Tuoni Package: Exports the Tuoni package - git and docker images to
/srv/tuoni/transferfolder. - Import Tuoni Package: Imports the Tuoni package - git and docker from
/srv/tuoni/transferfolder.
Tuoni Server CLI Commands
tuoni server
- Start: Starts server docker.
- Stop: Stops server docker.
- Restart: Restarts server docker.
- Logs: Tails the server docker logs.
Tuoni Client CLI Commands
tuoni client
- Start: Starts client dockers.
- Stop: Stops client dockers.
- Restart: Restarts client dockers.
- Logs: Tails the client docker logs.
Tuoni Docs CLI Commands
tuoni docs
- Start: Starts docs dockers.
- Stop: Stops docs dockers.
- Restart: Restarts docs dockers.
- Logs: Tails the docs docker logs.