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.3.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.3-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ftagent-1.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 29681c2078badf98de06335bd26e856b75bf0c295060eac2e7c330e6b6c7e007
MD5 5cbce8e0ab399d64a68a681e6f29907e
BLAKE2b-256 0df42ba42c2c16fcf32167a2daa8200fd1c3bff900a9893596f7939146d5371d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ftagent-1.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dc22f7708421d91ceaa0349053a70c5ff0702554db62be47741be26fbd4138b4
MD5 d9afcd9578ac7f90d6623d7edee5b5d3
BLAKE2b-256 1f9b9883ee862e9acbf3d5c288948da881dbd51e2877e2f0eb7ed634db0481a6

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