Chrome cannot do SOCKS5 username/password auth (crbug 40323993), so pydoll's SOCKS5Forwarder bridges two handshakes. On its left face it speaks a no-auth handshake to Chrome; on its right face it speaks the full authenticated handshake to the remote proxy, injecting the credentials Chrome cannot. Press Replay, or step with Prev / Next.
no-auth SOCKS5Chrome ↔ forwarder
authenticated SOCKS5forwarder ↔ remote proxy
Chrome
no SOCKS5 auth ready
forwarder
127.0.0.1:1081 listening
remote proxy
proxy:1080 idle
user / ••••held
awaitingpending
→ example.com:443
bidirectional byte relay
on the wire
step 0 / 10
The forwarder holds the credentials and the CONNECT target as state. It injects the credentials on the right (Chrome never sends them) and forwards Chrome's CONNECT to the remote verbatim, preserving the exact address bytes and type. It binds to 127.0.0.1 only, so it is reachable solely from your machine. Pure-Python, zero-dependency: pydoll.utils.SOCKS5Forwarder. Refs: RFC 1928, RFC 1929, crbug 40323993.