APPLICATION FIREWALL

Work in progress

InterFire

Linux-first application firewall in Rust.

InterFire is a Linux-first application firewall with process-aware connection rules and network filtering, built in Rust.

← Back to all projects

KEY FEATURES

What InterFire does.

Process-Aware Firewall: Attribute outbound connections to their originating process and apply per-application rules.

eBPF TCP Observation: Kernel-level eBPF programs observe TCP connections for real-time network visibility without performance penalty.

NFQUEUE Verdict Path: Netfilter NFQUEUE integration (queue 4242) for packet-level accept/drop verdicts on outbound traffic.

TOML Rules: Declarative rule configuration in TOML with process matching, port filtering, and action definitions.

TUI Control Plane: Terminal-based user interface for monitoring active connections, managing rules, and viewing logs.

GPUI Desktop: Native desktop application built with GPUI for visual firewall management and real-time connection monitoring.

systemd Packaging: Production-ready systemd service configuration for daemon management and auto-restart.

ARCHITECTURE

How it works.

InterFire operates as a daemon (`interfired`) that coordinates between multiple subsystems: the eBPF observer attaches to the kernel to monitor TCP connections and attribute them to processes, while the NFQUEUE verdict path intercepts outbound packets for accept/drop decisions. Rules are defined in TOML and loaded by the rule engine, which matches connections against process names, ports, and protocols. The daemon exposes an IPC interface consumed by the CLI (`interfirectl`), the TUI (built with ratatui), and the GPUI desktop shell. This architecture separates the kernel-level observation from the user-facing control plane, allowing multiple interfaces to manage the same firewall state.

TECHNOLOGY STACK

Built with.

RustTokioaya eBPFnftablesNetfilterratatuiGPUInixtracingTOML