Skip to content

Policy-based routing 
for Linux routers

Route traffic selectively through VPN, WAN, or custom tables. 
Built for OpenWRT, Keenetic® and Netcraze® routers.

Selective Routing

Route traffic based on domain lists, IP CIDRs, ports, and addresses. First-match rule evaluation with configurable fallback.

Web Interface

Manage routing rules, monitor outbound health, and reload configuration from a clean browser-based dashboard — no SSH required.

keen-pbr.local
keen-pbr logo
keen-pbr
Get packets sorted
Dashboard
Service health, DNS checks and active routes
running
Core service
DNS check
Outbounds health

Failover & Health Checks

urltest probes candidate outbounds by latency and picks the fastest within tolerance. Circuit breaker prevents flapping under sustained failures.

urltest outbound
eth0 87ms BEST
wlan0 142ms BEST

Multiple Outbound Types

Route traffic to a specific interface, to an existing routing table (e.g. WAN), or block it completely. Use urltest to monitor latency and automatically select the best interface.

DNS Integration

Generates dnsmasq server= and ipset= directives so resolved domain IPs are instantly routed through the correct outbound.

Dual Firewall Backend

Auto-detects nftables or iptables. Works on both modern and legacy kernels without configuration changes.

REST API

Built-in HTTP API for health checks, live kernel routing verification, and hot config reloads — no daemon restart required.

Auto-updating lists

Remote domain and IP lists are downloaded at startup and refreshed on a configurable cron schedule, with local cache fallback.