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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ftagent-1.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 34316b13c424a357941420dc0d9260e85f37558bb21e2c11f28e3ac02d880a58
MD5 cece9fb1edf9e44674d28b2cc9c3e38e
BLAKE2b-256 0bbbbd69ea3980d45b95d58bbc656516a3568e3481bfb7f591199d335eeafb42

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ftagent-1.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d83f42eb7ce900527c9fd7888a93403e6eb1669d4f7c118aedf308e7a515f02
MD5 d97d8fac7528855563479315c561bab2
BLAKE2b-256 ee8daa2f4366439e7efd71993b42a275adb1929597da10eb0b684ca459df41b2

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