OpenWRT, what you want is OpenWRT.
I've just switched after something like 6 or 7 years of pretty painless DD-WRT, and OpenWRT is just better.
Organised configuration files, sensical zoning for the firewalls, a real package manager, a real filesystem rather than overuse of NVRAM.
It feels like something that's been designed rather than hacked together.
Also, OpenWRT used to be harder to configure, but with the LUCI webinterface it really isn't that different from DD-WRT now.
Lastly, the project is actually free, run in an open manner and hasn't spiralled out of control with the lead developer obfuscating the web interface and some builds being ony available on the forums.