One Router Intent
Interfaces, DHCP, RA, DNS zones, DoH/DoT/DoQ forwarding, DS-Lite, NAT44, route policy, sysctl, packages, and systemd units live in one resource model.
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.
Interfaces, DHCP, RA, DNS zones, DoH/DoT/DoQ forwarding, DS-Lite, NAT44, route policy, sysctl, packages, and systemd units live in one resource model.
DHCPv4, DHCPv6-PD, PPPoE, DNS, health checks, event relay, and firewall logging expose local HTTP+JSON status instead of hiding state in hooks.
routerctl, SQLite-backed events, log sinks, OpenTelemetry hooks, conntrack inspection, and a read-only Web Console keep runtime behavior visible.
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
routerd validate --config /usr/local/etc/routerd/router.yaml
routerd plan --config /usr/local/etc/routerd/router.yaml
routerd apply --config /usr/local/etc/routerd/router.yaml --once --dry-run
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.