Components¶
Platform Filter is made up of several cooperating services. Each component can be deployed and configured independently.
| Component | Description |
|---|---|
| RADIUS Listener | RADIUS accounting listener that maps IP addresses to subscriber identifiers |
| Device Register | Receives new-device notifications from the Recursor or DNSdist and registers them in Redis, Postgres, and Kafka |
| Organization Manager | REST API to manage IP CIDR allocations per organisation and fan the resulting ranges out to the IP Mapper over NATS |
| IP Mapper | Tracks subscriber IP session allocations and maps IP addresses to sessions |
| OX Feed Mirror | HTTP caching mirror for OX Feeds — reduces inter-datacenter bandwidth and speeds up filter-node recovery |
| Settings Syncer | Syncs subscriber settings and IP mappings from Redis to a local LMDB |
| OX Feed Client | Keeps a local LMDB database in sync with one or more OX Feed HTTP servers for URL categorization |
| OX Feed Command Source | Runs an external command on an interval and turns its output into a versioned OX Feed with snapshots and deltas |
| OX Feed HTTP API Downloader | Mirrors an upstream OX Feed HTTP API (such as oxfeed-vtfeed) into a local feed directory of snapshots, deltas, and code map |
| OX Feed RPZ Downloader | Pulls a DNS Response Policy Zone via AXFR/IXFR and republishes the records as a versioned OX Feed |
| OX Feed Gitfeed | Converts a CSV file stored in git into a versioned OX Feed with snapshots and deltas |
| Simulator HTTP Server | HTTP and NATS service that runs the Platform Filter Lua engine for ad-hoc simulation queries and optional remote proxy decisions |
| TCP Proxy | Routes HTTP and HTTPS connections by inspecting only the initial client bytes, asks the simulator for an allow/block decision, and tunnels the rest at the TCP level |
| Carbonizer | Scrapes Prometheus /metrics endpoints, converts the samples to Carbon dotted paths, and forwards them to Graphite-compatible servers |