How it started
We needed web scraping. Simple enough, right? Just grab Selenium and go.
Except reality had other plans: CloudFlare blocked us within seconds, Chrome couldn't handle SOCKS5 proxies with authentication, and running multiple processes caused them to crash each other.
We found undetected-chromedriver — it bypassed bot detection, which was exactly what we needed. But the maintainer had abandoned it, and it was broken in all the places that mattered to us.
So we decided: let's fork it and fix it ourselves.
What we added
SOCKS5 with authentication
Chrome doesn't natively support SOCKS5 proxies that require login credentials. Our solution: spin up a local proxy server inside the library itself. Chrome thinks it's talking to localhost with no auth — our proxy quietly adds the credentials and forwards everything.
driver = uc .…