I seem to have missed the fact that `url-methods' populates the option `url-proxy-services' from environment variables when initializing `url-scheme-registry'. As explained in the docs, it actually accepts full URLs instead of just host:port pairs. I take this to mean it's probably less disruptive than initially thought to extend this liberty to `url-proxy-services' itself. I've updated the POC patches to reflect this, so it should now be possible to do: (setenv "HTTPS_PROXY" "socks5h://localhost:9050") (eww "https://check.torproject.org/") Of course, this shouldn't interfere with traditional http proxies, such as those that provide CONNECT tunneling: $ ncat -l --proxy-type http localhost 8888 (setenv "HTTPS_PROXY" "localhost:8888") (eww "https://www.example.com/")