I have been using sshuttle on my linux desktop for a long time to circumvent the restrictions of vietnamese ISPs. However I wonder if there's a similar easy to use software for windows? Something that can redirect all/selected traffic through a ssh tunnel?


5 Answers 5


I believe the OP is asking for a way to tunnel all traffic not just ones that let you set proxy settings. The problem is that some programs do not let you specify proxy settings which is where sshuttle comes into play. sshuttle allows any program to go through your tunnel not just ones that you specify a proxy server.

  • 4
    While this is 100% correct, it is more a comment than an answer. Dec 17, 2020 at 10:32

Better yet - use PuTTY and just set it up through that. You don't need anything like ProxyCap, just point your browsers proxy setting for SOCKS to your loaclhost on whatever port you specified for your -D .

One IMPORTANT note on this. "Problem solved" isn't quite right. Whilst yes, your normal browser traffic http/s will go through the SSH tunnel there are still a couple of problems, one of which can be overcome by this method, one which cannot.

The GREAT thing about sshuttle is that it doesn't put TCP over TCP. Doing that is BAD which is why they don't do it. They mux all their traffic locally before sending through the SSH (TCP) tunnel and reassemble it at the other side (ssh server end). THIS is quite likely why the OP asked this question. I was searching for something with this capability when I found this post...

The SECOND thing to note is that unless you redirect all your DNS traffic from your browser through the tunnel you'll be "leaking" your DNS queries out over the net which will pretty much negate the purpose of your SSH tunnel in the first place.

Using Firefox for example in the URL field enter "about:config" without the "", accept the "I'll be careful" and then filter for "socks_remote_dns" then double click the entry to change it to "True". That's it, your browser DNS will now go through the specified proxy port too. Still doesn't solve the TCP over TCP problem though so you'll not get a good session experience.

More reading can be found on the tcp over tcp here: https://github.com/apenwarr/sshuttle

  • PuTTY works, but it is proven to be slow. May 6, 2018 at 8:53

For Windows, use Cygwin and ssh to your destination:

ssh -D 8000 -N user@destination.com

Now download ProxyCap for Windows and setup socks5 proxy to your local host on port 8000. Problem solved, everything goes via the ssh tunnel.

  • 2
    Anything usable other than of proxycap that is free?
    – Terrance
    Feb 6, 2013 at 3:37
  • Thanks for this suggestion. This is the only thing I was able to find that worked for my situation, which was that my Cisco vpn client suddenly and inexplicably was no longer able to connect to the office vpn server (packets being dropped somewhere). Using ProxyCap, which has a built-in ssh feature (no need to use cygwin or putty), I was able to specify a linux server outside my home network (this linux server can connect to the vpn server). And then in ProxyCap just specify the vpn client program in "Routing Rules" under "Programs." May 20, 2018 at 15:46

You can run sshuttle on a virtual machine and the redirect the traffic to that vm. Check this out:


  • 4
    Welcome to Super User! Thank you for you contribution, but whilst this may potentially answer the question, it would be preferable to include the essential information here, and provide the link for reference. Please edit your answer to include that information. Thanks :)
    – bertieb
    Jun 6, 2018 at 12:27

There seems to be this package for WSL2. You can give it a try https://github.com/yabeenico/wsshuttle

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.