Skip to main content

Flowtriq DDoS Detection Agent — real-time traffic monitoring, incident detection, PCAP capture, and auto-mitigation

Project description

ftagent

Flowtriq DDoS Detection Agent — real-time traffic monitoring, attack detection, PCAP capture, and auto-mitigation for Linux servers.

A valid Flowtriq account and API key are required. Start a free 7-day trial at flowtriq.com.


Requirements

  • Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+, or equivalent)
  • Python 3.8+
  • Root / sudo (required for raw packet capture)
  • A Flowtriq account — sign up free

Install

pip (recommended)

pip install ftagent[full]

The [full] extra installs all dependencies including scapy for packet capture and psutil for system metrics.

From source

git clone https://github.com/flowtriq/ftagent.git
cd ftagent
pip install -e .[full]

Quick start

1. Get your API key

Log in to your Flowtriq dashboardNodesAdd Node → copy the API key shown.

2. Create the config

sudo mkdir -p /etc/ftagent
sudo cp packaging/config.example.json /etc/ftagent/config.json
sudo nano /etc/ftagent/config.json

Set api_key to your key and node_uuid to the Node UUID shown in your Flowtriq dashboard under Nodes. Both are required.

3. Run

sudo ftagent

Or with the Python module:

sudo python3 -m ftagent

The agent will register your node, establish a baseline, and begin monitoring. Your node will appear in the Flowtriq dashboard within 30 seconds.


Install as a systemd service

sudo cp packaging/ftagent.service /etc/systemd/system/ftagent.service
sudo systemctl daemon-reload
sudo systemctl enable ftagent
sudo systemctl start ftagent

# Check status
sudo systemctl status ftagent
sudo journalctl -u ftagent -f

Configuration reference

Config file: /etc/ftagent/config.json

Key Default Description
api_key Required. Your Flowtriq node API key
node_uuid Required. Node UUID from your Flowtriq dashboard → Nodes
api_base https://flowtriq.com/api/v1 API endpoint
interface "auto" Network interface to monitor (eth0, ens3, etc.) or "auto"
pcap_enabled true Enable PCAP capture during incidents
pcap_dir /var/lib/ftagent/pcaps Directory for PCAP files
pcap_max_packets 10000 Max packets per PCAP file
pcap_max_seconds 60 Max seconds per PCAP file
pcap_retention_days 7 Delete PCAPs older than N days
log_file /var/log/ftagent.log Log file path
log_level "INFO" Log level: DEBUG, INFO, WARNING, ERROR
dynamic_threshold true Auto-adjust detection threshold from traffic baseline
baseline_window_minutes 60 Rolling window for baseline calculation
threshold_multiplier 3.0 Alert when PPS exceeds baseline × multiplier
heartbeat_interval 30 Seconds between heartbeat pings
metrics_interval 10 Seconds between metrics reports

CLI flags

sudo ftagent [options]

  --config PATH      Config file path (default: /etc/ftagent/config.json)
  --interface IFACE  Override interface from config
  --test             Trigger a synthetic detection event and exit
  --version          Show version

How it works

  1. Baseline — The agent collects traffic metrics for the configured baseline window and establishes a normal PPS/BPS range for the node.
  2. Detection — Each 10-second metrics window is compared against the baseline. If PPS exceeds baseline × multiplier, an incident is opened.
  3. Classification — Attack traffic is classified by protocol distribution, port patterns, packet size, and IP entropy to identify the attack family.
  4. PCAP — A packet capture starts immediately when an incident opens, giving you forensic data for analysis.
  5. Reporting — The incident is reported to Flowtriq which dispatches alerts to your configured channels (Discord, Slack, Teams, PagerDuty, etc.).
  6. Mitigation — If you have mitigation rules configured, the agent executes approved firewall commands (iptables, Cloudflare WAF, etc.) immediately.
  7. Resolution — When PPS drops back to baseline, the incident is closed, undo commands run, and the PCAP is uploaded.

Docs

Full documentation: flowtriq.com/docs


Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ftagent-1.1.2.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ftagent-1.1.2-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file ftagent-1.1.2.tar.gz.

File metadata

  • Download URL: ftagent-1.1.2.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for ftagent-1.1.2.tar.gz
Algorithm Hash digest
SHA256 ccecb76f7455c0dd7cf3b07337fb860bcbac3250d1f10777baec3234af1b417f
MD5 3c07ba4de5baddda282d538231b05d84
BLAKE2b-256 330d1008dce65af38590c022525a0e936130d365e39ff504f2bf03bd307ef151

See more details on using hashes here.

File details

Details for the file ftagent-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: ftagent-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for ftagent-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9a4eaf92620b2e1d11194e3ef91bf450fa399a7784b2bf27c1c465205db7dd83
MD5 2a9fdcbbc68c987dc3d9ecd8d74760f8
BLAKE2b-256 3e363afbfd1785afced12ff69a7eefd2210feea79c1fcb67b15ee40e5855d577

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page