Skip to content

How Specola Works

text
Qt Quick UI / CLI / automation

  MessagePack RPC over local IPC

         specola-core

 listener → router → proxy or DIRECT

Core builds an immutable runtime snapshot from the active TOML configuration. A Mixed Proxy listener, native TUN backend, or Linux eBPF backend supplies a connection. The router evaluates rules in order and resolves policy groups to a final outbound. DNS and the sniffer can add domain metadata before routing, but neither changes the fundamental first-match rule model.

The UI starts and monitors Core, imports configurations, and calls the public control API. It does not include Core headers or invoke Core objects directly. This boundary lets the same Core run without the desktop UI and keeps privileged network helpers outside the UI process.

For the detailed component and failure boundaries, see Architecture.