I guess my first question is, why is this built on IPv4 rather than IPv6...
The architecture of vprox is pretty generic though and could support IPv6 as well.
In a perfect world I'd also be asking whether you considered NAT64, but unfortunately I'm well aware that's a giant world of pain to get to work on Linux (involving either out-of-tree Jool, or full-on VPP)
Glad to know that IPv6-only is working well for you. "In a perfect world…" :)
(FTR, it works for us because our CI is relatively self-contained. And we have local git mirrors… f***ing github…)
(I would already have expected this to be quite effective in forcing IPv6, but tbh I'm still surprised just how effective.)