Opera 9socks hack

Been trying out Opera 9 – great browser. Probably not as versatile as Firefox when you factor in the extensions, but it’s fast, sexy, and highly polished. Where it particularly shines over Firefox is in the memory footprint – I’ve been using both browsers all day, and Firefox is right up around 173MB, with Opera sitting at a cool 47MB – and that’s with the mail window open. Unscientific, yes. But you can feel it – with lots of tabs open in Firefox, the computer’s not as responsive. So I’d like to use Opera more.

But it’s lacking a killer feature for me – SOCKS support. When I get to work every morning, I open an SSH session to my home server. It sets up a dynamic tunnel that Firefox can use as a SOCKS proxy. And that ensures that I’ll never be asked about “excessive Internet usage” – all they’d see would be a bunch of nonsense being sent over a nonstandard port. Not that I’m doing anything wrong; I just feel better not being monitored.

But anyway, this won’t work with Opera, because it doesn’t support SOCKS proxies. And that’s kind of sad – or was, until I figured out a workaround. I installed tinyproxy (I like tiny), but it could just as well be Squid or Privoxy or some other HTTP proxy. It’s set up on my home server. To prevent outside connections, I changed the “Listen” and “Allow” directives to “127.0.0.1”. And I set up another tunnel in SSH – not dynamic, just a local tunnel from my work desktop to the home server on tinyproxy’s port. And then I told Opera to use localhost as the HTTP proxy server.

Still, it’d be cool if Opera came out with SOCKS support – it’d probably be useful to some corporate IT departments in addition to the usual gang of tinfoil-hat types. A big problem with a setup like this is that DNS requests get leaked – they aren’t passed through the proxy, so if those are monitored, it’s still possible to guess what content you’re viewing. With native SOCKS support, it would be possible to pass ALL network traffic through the proxy – HTTPS, DNS, email, etc.

The other option is something like FreeCap, which hooks into the Windows network stack to redirect connections through the SOCKS server. I haven’t tried this one yet, but I’ve tried the non-free SocksCap and found that it made things pretty unstable. Maybe I’ll give it a try…

Update, July 6: FreeCap works really well, much better than SocksCap. Score one for open source. So there’s no need to do all the crazy server-admin stuff with tinyproxy. Unless you want to 😉