Click here to Skip to main content
15,118,172 members
Articles / Mobile Apps / Android
Posted 10 May 2011

Tagged as


153 bookmarked

Android Usb Port Forwarding

Rate me:
Please Sign up or sign in to vote.
4.88/5 (51 votes)
26 Dec 2011CPOL4 min read
This tool creates an USB tunnel between the android and the PC. The tunnel will forward communications to and from the host.

Download Windows part : - 3.2 MB
Download Android part - 99.04 KB

(See article in Portuguese here)

Important Update :

For rooted phone, you can use my other program (not yet on codeproject) :

Android reverse tethering : 


The Android architecture does not allow to start communication from the Android to the host through the USB cable.The opposite is possible, using the Google "Android Debug Bridge" (ADB in short).    

This tool will act as a tunnel between the Android client application and the host server. It is a software implementation of a router doing IP port forwarding.


On the Host part, you have to declare the ports you want to be opened on the Android and the tunnel will transfer communications between the android and the host. The host can be any server on the network or your local host. 


  • Enable "Usb debuging" on your Android : Go to parameters / Applications / Development and check  "Usb debuging" 
  • Install "Usb Tunnel" on your Android (see donwnload link on top of the article) or from the market :
  • Screenshot - market.jpg

  • Install the host windows application (see download link on top of the article) or this skydrive link or this GDoc link   
  • On the configuration panel, enter the path to the ADB program. ADB is part of the Android SDK. The installation includes the minimum files required.
  • Add tunnels. Each tunnel is composed of a name, an Android port (low port like 80 can't be used), a host IP and a host port (can be different from the android port)  

HTTP proxy 

If Tethering is a technology that allows you to use the mobile internet connection on your PC, this tool gives you the opposite. It's a sort of Reverse Tethering.   

You can now surf on your mobile (using the internet connection on your PC) through the Usb tunnel and via a proxy. 

If you are on a company network, ask your administrator what IP adddress and port he is using for the proxy. In some cases it can be the default gateway (run ipconfig command at the DOS prompt to find out what the default gateway is). 

If you are on a private network and you have no clue about the proxy adress and port, you can use a public proxy (do search for "Public proxy" on the internet). To help you out, here is link to a list of proxies. 

Another possibility is to install a local http proxy server like squid.  

Step 1 : configure the windows part. Since low ports can't be used, you should use a different high port for the android and another port for the host.  

Sample configuration for a company network : ( on port 80 


Sample configuration for a public internet proxy on port 8080 


Step 2 : Connect he USB cable (of course).  Click the refresh button to display your device in the device list then click connect. The Android Usb tunnel service will start in the background. A connection icon will be added on the notification pannel.  

Step 3 : Setup your browser to use a proxy. Depending on the version of your Android OS, it's possible to define a http proxy in the advanced wifi settings menu (Not tested, available in some Android, but not all). 

Normal Chrome browser

  • I didn't find a way to get it working. Forget about TransparentProxy, ProxyDroid or AsProxy. that require Root and don't work  

Opera mobile 

  • Enter opera:config in the address bar 
  • Expand the proxy line  
  • HTTP server :  
  • HTTPS server :  
  • Use HTTP : checked 
  • Use HTTPS : checked 
  • Click "Save" 

Firefox Mobile

  • Enter about:config in the address bar 
  • In the search filter (below address bar), enter "proxy"
  • Set network.proxy.http to 
  • Set network.proxy.http_port to 8080  
  • Set network.proxy.type to 1 (Manual). Default is 5 (system)  


  •  I didn't find a way to get it working. 

Step 4 : Enjoy! enter any URL on your browser. Your firewall may detect that AndroidTool.exe is trying to access the internet. Give him the rights to access the proxy. 


In this screenshot, you can see the number of active connections , closed connections, total bytes transfered (to and from) 

I checked with an internet speed test. It's just a little bit slower. 


May 2011 : 

   First version  

Decembre 2011 : For rooted phone, you can use my other program (not yet on codeproject) :

   Android reverse tethering : 



This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Thierry Parent
Belgium Belgium
No Biography provided

Comments and Discussions

QuestionUDP Support? Pin
gevi_alex5-Aug-18 5:26
Membergevi_alex5-Aug-18 5:26 
Generalbroken links Pin
Member 1353813123-Nov-17 11:21
MemberMember 1353813123-Nov-17 11:21 
QuestionThe link for Window is not doing Pin
Nguyên Trần Hoàng8-Oct-16 5:49
MemberNguyên Trần Hoàng8-Oct-16 5:49 
QuestionCan provide the source code? Pin
Member 1142497012-Jul-16 16:37
MemberMember 1142497012-Jul-16 16:37 
QuestionSamsung Ace4 SM-G357FZ not ricognized Pin
Member 1210084830-Oct-15 5:55
MemberMember 1210084830-Oct-15 5:55 
QuestionCan we use other apps like play store, watsapp using USB tunnel Pin
Member 1149998111-Mar-15 2:11
MemberMember 1149998111-Mar-15 2:11 
QuestionNo Device Detected XP SP3/Win7 Samsung GT-S7392 Pin
Member 114300485-Feb-15 6:53
MemberMember 114300485-Feb-15 6:53 
QuestionHow to integrate usb tunnel to my project. Pin
lshl12430-Nov-14 1:26
Memberlshl12430-Nov-14 1:26 
AnswerRe: How to integrate usb tunnel to my project. Pin
MrCsabaToth1-Jan-16 19:43
MemberMrCsabaToth1-Jan-16 19:43 
Questiondevice not being detected in win xp Pin
Member 1097592828-Jul-14 4:06
MemberMember 1097592828-Jul-14 4:06 
QuestionDevice Detection Pin
Member 1097396227-Jul-14 1:37
MemberMember 1097396227-Jul-14 1:37 
Hardik Jain11-Jul-14 9:03
MemberHardik Jain11-Jul-14 9:03 
Questiondevice not detected Pin
Member 108047728-May-14 9:14
MemberMember 108047728-May-14 9:14 
QuestionCan provide the source code? Pin
feng li14-Mar-14 18:00
Memberfeng li14-Mar-14 18:00 
Questionsource code Pin
Member 1066255712-Mar-14 18:54
MemberMember 1066255712-Mar-14 18:54 
AnswerRe: source code Pin
MrCsabaToth1-Jan-16 19:12
MemberMrCsabaToth1-Jan-16 19:12 
QuestionSome queries Pin
grand_winner16-Feb-14 0:32
Membergrand_winner16-Feb-14 0:32 
AnswerRe: Some queries Pin
Thierry Parent16-Feb-14 4:21
MemberThierry Parent16-Feb-14 4:21 
GeneralRe: Some queries Pin
Member 129297781-Jan-17 0:18
MemberMember 129297781-Jan-17 0:18 
QuestionGetting apps other than Firefox to work Pin
Member 1046679616-Dec-13 10:39
MemberMember 1046679616-Dec-13 10:39 
AnswerRe: Getting apps other than Firefox to work Pin
Thierry Parent16-Dec-13 21:56
MemberThierry Parent16-Dec-13 21:56 
Questiondevice not dected PinPopular
Member 1041364420-Nov-13 4:11
MemberMember 1041364420-Nov-13 4:11 
QuestionPlease give step by step tutorial... Pin
Member 1041197419-Nov-13 7:38
MemberMember 1041197419-Nov-13 7:38 
AnswerRe: Please give step by step tutorial... Pin
Thierry Parent19-Nov-13 22:20
MemberThierry Parent19-Nov-13 22:20 
QuestionNon rooted Pin
Amit Kumar11-Oct-13 3:41
MemberAmit Kumar11-Oct-13 3:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.