I have written server-side software that offers similar functionality to the project you mentioned above. It uses SSH tunnels as a backend and acts as a SOCKS5 proxy, forwarding your traffic to a local SSH tunnel randomly with a configurable amount of loaded tunnels at once. It will also refresh your proxies to make sure they are working, and you will never have a connection drop while you are using it. My software uses Python with the Twisted networking framework, and can support large amounts of connections at once.
Additionally, I could implement this functionality on the client end with Proxifier for windows machines or Proxychains-ng for Linux machines. I would use Dante, which is a SOCKS5 server implementation written in C. Proxifier and Proxychains-ng both have functionality for rotating proxies on the client side.
Thanks for your consideration, please have a nice day.