Python script that configures a linux router.
The script takes a JSON config and writes config files for udev, systemd-networkd, dnsmasq, /etc/hosts, iptables, pppd.
Designed to work on top of Arch Linux, but with minimal modifications it can be made to work on other distros.
Installation instructions and more features (web UI anyone?) coming soon.