Home DS-Lite / PPPoE / multi-WAN router
A single YAML declares WAN acquisition, prefix delegation, NAT, DNS, and failover for a residential edge.
DHCPv6PDDSLiteTunnelEgressRoutePolicy
Make a host router readable again.
routerd describes WAN acquisition, LAN services, DNS, NAT, route policy, system bootstrap, and observability as typed resources. It is built for small networks where the router must be explicit, repeatable, and inspectable.
Six steps from intent to observation. Each step is safe to repeat.
router.yamlrouterctl validaterouterctl planrouterctl applyrouterd serverouterctl doctor / get / describeA single YAML declares WAN acquisition, prefix delegation, NAT, DNS, and failover for a residential edge.
DHCPv6PDDSLiteTunnelEgressRoutePolicyOverlay tunnels and bridge adoption turn a hypervisor host into a declarative lab router.
InterfaceWireGuardInterfaceVXLANSame resource model renders to systemd, networkd, nftables, rc.conf, or pf depending on the host OS.
PackageSysctlProfilecross-OS renderIntegrate site-to-site or exit-node overlays while keeping the local LAN declarative.
TailscaleNodeWireGuardInterfaceSelective address mobility lets cloud VMs capture and release /32 addresses across providers.
CaptureAddressEventGroupTreat the router like a service: health checks, event streams, connection inspection, and telemetry.
routerctl doctoreventsWeb ConsoleOTelrouterd exposes runtime state through multiple interfaces. No guessing.
CLI inspection of resource phases, event history, and automated health diagnostics.
Live conntrack table queries with per-flow source, destination, NAT mapping, and byte counters.
Browser dashboard showing status, connections, DNS queries, traffic, firewall logs, and config.
Structured log sinks, metrics, and traces exported to any OTel-compatible collector.
Start from the release archive. The installer brings in runtime packages, installs binaries and service templates, then you validate the YAML before changing the host.
curl -LO https://github.com/imksoo/routerd/releases/latest/download/routerd-linux-amd64.tar.gz
curl -LO https://github.com/imksoo/routerd/releases/latest/download/routerd-linux-amd64.tar.gz.sha256
sha256sum -c routerd-linux-amd64.tar.gz.sha256
tar -xzf routerd-linux-amd64.tar.gz
sudo ./install.sh
sudo install -m 0600 /usr/local/etc/routerd/router.yaml.sample /usr/local/etc/routerd/router.yaml
routerctl validate -f /usr/local/etc/routerd/router.yaml --replace
routerctl plan -f /usr/local/etc/routerd/router.yaml --replace
routerd serve --config /usr/local/etc/routerd/router.yamlrouterd is pre-release v1alpha1 software. The project favors clear, safe router semantics over compatibility with early experimental names.