ExfilGuardian
Getting Started

Development

Run ExfilGuardian in development mode

Nx Monorepo

The project uses Nx for monorepo orchestration. All dev, build, test, and lint commands go through Nx, which handles task dependencies and caching.

Start Everything

bun run dev

This starts desktop, docs-site, and server in parallel via nx run-many.

Start Individual Services

bun run dev:desktop    # Next.js + Electron dashboard
bun run dev:docs       # Fumadocs site (localhost:3001)
bun run dev:server     # Rust gRPC + REST server

Dependency Graph

Visualize project relationships:

bun run graph

Manual Setup

If you prefer running services manually:

Desktop App

The full desktop application combines Electron with Next.js for a native dashboard with real-time alert monitoring.

cd desktop && bun run dev:electron

This starts:

  • Next.js dev server on http://localhost:3000
  • Electron window with hot reload

Web Only

For frontend development without Electron, run the Next.js dev server standalone.

cd desktop && bun run dev

Access the web interface at http://localhost:3000.

Documentation Site

The documentation site is built with Fumadocs and lives in the docs-site directory.

cd docs-site
bun install
bun run dev

Visit http://localhost:3001 to preview documentation changes.

Rust Backend

Server

The gRPC server receives telemetry from agents and runs the analysis pipeline (DPI, signatures, behavioral, correlation). It loads configuration from config.yaml at startup.

cargo run -p exfil-server

Agent

The Windows agent connects to the server via gRPC and streams flow data. Requires a running driver and Windows environment.

cargo run -p exfil-agent

Analysis Crate

The shared analysis library can be built and tested on any platform.

cargo build -p exfil-analysis
cargo test -p exfil-analysis

Certificate Generation

Generate mTLS certificates for agent-server authentication.

cargo run -p exfil-certs-gen

On this page