I have two internet connections – one via a 3G modem, and the other via wireless. The modem is faster so I normally browse with it, but it does not support torrent downloads while my wireless does. When the two are connected, my PC automatically makes every connection through the modem.
Is there a way I can force a particular program, e.g. uTorrent, to browse through my wireless internet connection instead?
To my knowledge, Windows has no built-in feature for this, but there are third party applications that will help you do the trick. In my experience, ForceBindIP has always worked quite nicely. It does exactly what it says on the tin: running a program through ForceBindIP will make sure it uses a specified interface.
In your case, it would be a matter of installing the program (or extracting the portable version) and running µTorrent using
ForceBindIP.exe 126.96.36.199 %PROGRAMFILES%\uTorrent\uTorrent.exe, replacing 188.8.131.52 with the address of the wireless interface.
In case there is no route from your wireless interface to the destination, you need to add one. It can be any route you want, but for an application such as µTorrent, you will probably want to route traffic to all destinations instead of specific IP ranges.
To do this, bring up the elevated command prompt, type
ipconfig and take note of the gateway of your wireless connection, which is probably the IP address of your access point (e.g. 192.168.2.1). Next, type
route print and check the two-digit identifier of your wireless card in the interface list (e.g. 12), as well as the metric of the 0.0.0.0 entry in the routing table. Then, add the route using:
route -p add 0.0.0.0 mask 0.0.0.0 192.168.2.1 metric 50 if 12.
The -p switch ensures the route survives a reboot, but it might still break if the wireless interface gets a new identifier. The ‘0.0.0.0 mask 0.0.0.0’ means the route is valid for all destinations. ‘192.168.2.1’ refers to the address of the gateway you want to use. ‘Metric 50’ adds a certain cost to this route and you’ll want to set it well above the metric of the other 0.0.0.0 entry to avoid programs not bound to a given interface of using it instead of the wired connection. Finally, ‘if 12’ sets the interface to which the route applies.
I do something similar to this. I’m connected to my network with my wired NIC. I tether my phone with my wireless NIC. I’ve set up my computer to use the wired over the wireless first. Then I made a VirtualBox which I run in seamless mode (Ubuntu, but it doesn’t matter). Then everywhere I browse in the VirtualBox will not go through the wired connection. VirtualBox allows shared folders, so all downloads go to the same download directory. The only thing is that I’m wasting CPU and memory, however, I am most secure. I also run the seamless on my second monitor, so now I’m Über kewl.
You could run a Torrent Client in the VirtualBox
No, this can’t be done for a particular program, it can only be done for a particular target IP address (or subnet): you could add a static route to your system in order to tell it to reach all sites via the modem connection but use the wireless connections to reach a specific IP address or subnet.
But since you want to do this for torrent downloads, and torrent downloads (by their very definition) make lots of connections to lots of remote systems anywhere in the world, this can’t really be applied to your situation.
Just throwing this out there but wouldn’t a simpler method be to use an Emulator like Virtualbox? You can boot a separate OS in VB and bind it’s Virtual Connection to a specified Network Interface. So you could boot a small Linux OS running a Torrent program to one of your connections, while your normal Windows OS just uses the default. Wouldn’t this bypass the Windows iptables?
Yes you can, for your specific problem: use the modem for browsing only.
Set up the wireless network to be used all the time, by changing the order of your network adapters (wireless first): http://windows.microsoft.com/en-US/windows-vista/Change-the-order-of-network-protocol-bindings
Next you need an HTTP Proxy server which will redirect the http packets through the modem connection. FreeProxy seems to know adapter binding (I googled this one, I guess it can be any proxy software that knows bindings), so I guess it will work: http://www.softpedia.com/get/Internet/Servers/Proxy-Servers/FreeProxy.shtml. Now you have to set up the server to use the connection from the modem. So, in the Proxy Service configuration window, let’s say you set the local binding to the wireless adapter and Remote binding to the modem (I hope it’s this way or not the other way around as I have only one adapter to check this out, so for me both are the same). Click “Done”. Click “Start/Stop”, and then “Start” for console mode (I checked this app just now, and for service mode perhaps there is more to configure).
In the connection settings of your browser select connecting through your proxy server (
<WIRELESS_IP_ADDRESS>:<port>, port should be 8080 by default).
That’s about it.
you can use connectify dispatch to join two internet connections into one and dedicate the sockets download connectify dispatch and see the magic also make sure to select right options either Gen 2 or Round Robin and thats it. BOOM!