README.md

ATLANTIS

ATLANTIS turns NetFlow (nfcapd) captures into a SQLite database with a Rust pipeline and visualizes it in a SvelteKit dashboard.

Quick start

You need Git, Bun, Node.js, and Docker (requirements), plus nfcapd captures on disk.

  1. Install the project.

    bash
    1git clone https://github.com/flamboh/atlantis.git
    2cd atlantis
    3bun install
    4cp .env.example .env
    5cp datasets.json.example datasets.json
  2. In datasets.json, set root_path to your capture directory and list one source per collector directory (dataset configuration). In .env, set DEFAULT_DATASET to your dataset_id.

  3. Build a database from one day of captures. The first run builds the pipeline image and takes several minutes.

    bash
    1./scripts/netflow-db-docker.sh \
    2 --capture-root /path/to/captures \
    3 pipeline \
    4 --dataset example \
    5 --start-date <YYYY-MM-DD> \
    6 --end-date <YYYY-MM-DD>
  4. Start the dashboard and open http://localhost:5173.

    bash
    1bun run dev:web

If a step fails, read Troubleshooting.

Documentation

Acknowledgment

Developed by Oliver Boorstein under support by NSF Research Experiences for Undergraduates with the Oregon Networking Research Group.

Advised by Chris Misa and Reza Rejaie.