I'd like to set up a tunneling proxy accessible by URL--so, to access bar.com
through the tunneling proxy, you'd go to foo.com/bar.com
and continue to browse bar.com
transparently from there. I can either set up an SSH tunnel or a VPN connection that I'd like to expose. How can I set up squid (or another proxy server) to route requests through an SSH/VPN connection like this?
2 Answers
First, Setup your ssh tunnel
ssh you@yourproxysever -L8080:localhost:8080
Leave this connection running, this assumes that your proxy server is listening on port 8080.
Second, Setup your web browser to use localhost:8080 as its proxy server
The ssh tunnel will forward packets to your proxy server over ssh.
-
2Use
ssh -fN ...
to make it drop into background after connecting. Feb 28, 2010 at 11:24 -
-
Awesome; thanks! How can I use this to expose that publicly? I'm not exactly clear on how I would set up a webserver to receive a request (say, on 80), forward it to the SSH tunnel, and pass the response back.– aresnickMar 1, 2010 at 15:58
Not quite clear about what you need. But if you need to route web packets over SSH via a proxy, you can use SSH in SOCKS mode (-D
) and use something like Privoxy in SOCKS mode to route it. So the connection would look like this:
[browser]---[privoxy proxy]---[ssh socks]---[remote machine]---[web server]
However, if you want to route traffic to a proxy via a SSH tunnel, you can use SSH in tunnel mode (-L
) to route it something like this:
[browser]---[ssh tunnel]---[proxy on remote machine]---[web server]
-
So what I'd like to do is something like: [browser]---[my webserver]---[ssh tunnel]---[proxy on remote machine]---[remote web server (whatever resource the user requests]– aresnickMar 1, 2010 at 16:00
-
-
In that case, your webserver would need to function as a reverse proxy with an upstream proxy configuration. You might be able to do it with some squid magic but I have a feeling that you will need to write your own server.– sybreonMar 2, 2010 at 1:19