Squid 3.1 does not route traffic via ProxyChains

debugginghttp-proxyPROXYroutingsquid

EDIT START

To clarify what I need an answer to:

  1. What is different in Squid v3.1 vs v3.0?
  2. Why does the above difference not work with ProxyChains?
  3. What changes do I need to make to Squid 3.1 to make it work with ProxyChains (compilation options, config options, etc.)?

EDIT STOP

Box: Fedora 11 x86_64

Due to a needed feature I upgraded from Squid 3.0 to Squid 3.1 and now proxychains does not seem to work anymore with Squid. proxychains still works fine with any other application.

With 3.0 I start Squid like this:

# proxychains squid -X -N

and all Squid's traffic is sent out through proxychains pre-defined proxy list.

With Squid 3.1 this does not work and all traffic is routed as normal (as if proxychains was not being invoked). The normal proxychains connections log is neither displayed showing that proxychains does not seem to receive any requests at all from Squid to forward its traffic.

Going through the release notes of 3.1, I do not see anything specific that would stop proxychains working with it.

Best Answer

As a possible Rube Goldberg workaround, can't squid be configured to use a proxy itself? If so, and you want the various smart features of proxychains, you could run some other no-op proxy that works under proxychains. Maybe even an earlier version of squid installed in an alternate path and configured to do nothing:

squid-3.1 --> squid-3.0-noop --> proxychains

I.e. invoke proxychains /path/to/squid-3.0/bin/squid (with squid-3.0 configured to proxy request unmodified and listen on, say, port 12345), and then invoke squid-3.1 normally, but configure it to route all requests through localhost:12345.

It's convoluted, but it gets you the 3.1 features plus the proxychains features, at least until/unless some wiser soul figures out how to get it working directly.