Description




Tuoni Community Node for n8n
> β οΈ BETA SOFTWARE: This package is currently in beta. While functional, you may encounter issues or missing features. Please open an issue if you find any bugs or have feature requests. Contributions are welcome!
This n8n community node integrates with Tuoni, a penetration testing command and control framework. Automate common C2 operations in your n8n workflows: manage agents, run commands, control listeners/payloads, handle files, react to events, and administer users/settings.
n8n is a fair-code licensed workflow automation platform.
- What is Tuoni?
- Installation
- Credentials
- Operations
- Usage
- Troubleshooting
- Compatibility
- Contributing
- License
- Resources
- Agent Management: Deploy and control agents on target systems
- Command Execution: Run commands and scripts on compromised hosts
- Listener/Payload Generation: Create and manage listeners and payloads
- Discovery: Enumerate hosts, services, and credentials
- Plugin Architecture: Extend functionality with custom plugins
What is Tuoni?
Tuoni is a modern, modular command and control (C2) framework designed for penetration testing and red team operations. It provides:
This n8n node allows you to automate Tuoni operations, integrate with other tools, and build complex security workflows.
Installation
Install from npm (Recommended)
Install the package in your n8n custom nodes directory:
Navigate to your n8n custom nodes directory
cd ~/.n8n/customInstall the package
npm install n8n-nodes-tuoni
Then restart n8n to load the new node.
Quick Start with Docker π³
The fastest way to get started:
Clone the repository
git clone https://github.com/numbfrank/n8n-nodes-tuoni.git
cd n8n-nodes-tuoniStart n8n with the Tuoni node pre-installed
docker compose up -d
n8n will be available at http://localhost:5678
Default credentials: admin / changeme (set via .env file or environment variables)
#### Environment Variables
Create a .env file or set these environment variables to customize your setup:
| Variable | Description | Default |
| ————————- | ———————————— | ———- |
| N8NBASICAUTH_USER | n8n admin username | admin |
| N8NBASICAUTH_PASSWORD | n8n admin password | changeme |
| N8NSECURECOOKIE | Set to false for local HTTP access | true |
| N8N_PORT | Port for n8n web interface | 5678 |
| GENERIC_TIMEZONE | Timezone for n8n | UTC |
Development Installation
For contributing or local development:
1. Clone the repository:
git clone https://github.com/numbfrank/n8n-nodes-tuoni.git
cd n8n-nodes-tuoni
2. Install dependencies and build:
npm install
npm run build
3. Link the package to your n8n installation:
# Create a symbolic link
npm link # In your n8n custom nodes directory
cd ~/.n8n/custom
npm link n8n-nodes-tuoni
4. Restart n8n to load the new node.
5. Once installed, search for the node named “Tuoni” in the n8n editor.
For more details, see the official community nodes guide.
Credentials
Create a new credential of type “Tuoni API – JWT Authentication API” in n8n:
https://localhost:8443 or https://tuoni.example.com:8443)The credential uses JWT authentication – it automatically obtains a token from your Tuoni server when needed and includes it with all API requests. The token is cached and refreshed automatically when expired.
The credential includes a built-in test that validates connectivity to your Tuoni server by performing a login and querying the agents endpoint.
Operations
This node exposes multiple resource categories. Each category includes common CRUD and control actions aligned with Tuoniβs REST API.
Usage
1. Add the “Tuoni” node to a workflow and select your “Tuoni API – JWT Authentication API” credential.
2. Choose a Resource (e.g., Agent, Command, Listener), then an Operation (e.g., Get All, Create, Update).
3. Fill in required parameters based on the operation.
4. Execute the workflow to interact with the Tuoni server.
Example Workflows
Automated Command Execution:
Listener & Payload Management:
Discovery & Threat Hunting:
Administration:
Troubleshooting
SSL Certificate Errors
Error: DEPTHZEROSELFSIGNEDCERT or self-signed certificate
Solution: Enable “Ignore SSL Issues” in your Tuoni credential settings. This is common when using self-signed certificates in development or internal environments.
401 Unauthorized Errors
Error: 401 Unauthorized when executing node operations
Solutions:
Connection Refused
Error: ECONNREFUSED or Connection refused
Solutions:
Token Expiration
JWT tokens are automatically refreshed when they expire. If you encounter persistent authentication issues, try:
1. Delete and recreate the credential
2. Verify the Tuoni server’s clock is synchronized
Compatibility
Tested with n8n 2.0.0 and later. Community nodes generally follow n8n’s minor version compatibility, but please pin versions as needed in your environment.
Requirements:
Contributing
Contributions are welcome! This is a community-maintained project.
Before submitting code:
npm run lint # Check for linting errors
npm run build # Ensure the package builds successfully
License
MIT License – see LICENSE file for details.