Thursday, November 6, 2008

Tether Your Android G1 to Your Laptop or PC with Tetherbot

This is an experimental SOCKS proxy and Port Bouncer that should allow you to connect your laptop to the internet using the internet connection (EDGE, 3G or Wifi) of your T-Mobile G1 Cellphone.

Installation

Read the bit above about no warranty again. This shouldn't damage your phone, but if it does, it's your own fault!

  • Install the app on your android phone, by clicking here (from your phone browser of course)
    You might have to change your settings to permit apps that don't come from the Google Market by going to your home screen and choosing MENU > Settings > Applications > Unknown Sources.
  • Turn USB debugging on on your phone
    On your G1 go to the home screen, press MENU > Settings > Applications > Development, then enable USB debugging.
  • Follow the instructions here to install the Android driver - you'll need to do this on Windows & Linux but apparently not on the Mac.
  • Download and install the Android SDK for your computer platform. Alternatively if you are on Windows and don't want a 100 meg download, just get the ADB utility from here
  • Plug your phone into your computer

Using the Socks Proxy

The SOCKS proxy will let you connect things like firefox to the internet

  • Choose Tetherbot from your phone's menu
  • Press the "Start Socks" button on your phone
  • Move to the directory that has the adb utility, using inside the Sdk Tools folder and run
    Windows: adb forward tcp:1080 tcp:1080
    Linux/Mac: ./adb forward tcp:1080 tcp:1080
  • Now you should have a socks proxy running on port 1080 that you can use to configure firefox
  • Set your firefox proxy : Options > Advanced > Network > Manual Proxy Configuration
    Socks Proxy: localhost
    Port: 1080
    Leave the others blank
  • Remember to disable your proxy settings in firefox if you want to stop using your phone.

Using the Port Bouncer

The port bouncer will let you connect to a single port on a remote host. This works well if you need to establish an SSH tunnel to your home machine.

This should work for TCP only vpns (openvpn can be configured in this mode) but it wont work for Microsoft PPTP (because it's GRE based) or most typical openvpn setups (because they are UDP based).

  • Choose Tetherbot from your phone's menu
  • Enter the hostname of the server you wish to connect to on your phone
  • Enter the port you wish to use
  • Press the "Start Tunnel" button on your phone
  • Move to the directory that has the adb utility, using inside the Sdk Tools folder and run
    Windows: adb forward tcp:4444 localabstract:Tunnel
    Linux/Mac: ./adb forward tcp:4444 localabstract:Tunnel
  • Now you should have a tunnel connecting from port 4444 on your local host to the port on the host of your choice
  • To establish an ssh connection, type something like
    ssh -p 4444 user@localhost
    and you should be routed through to the server in question

3 comments:

  1. thanks for the manual; works ok

    question now is: how do i connect to the internet from my laptop through the g1?

    thanks,

    Emil

    oneEVatatime@gmaail.com

    ReplyDelete
  2. Doesn't work!!! Followed all directions w/ care. Ran adb as a shortcut and added the integers in to open tcp ports 1080. Once running all exactly as it should, load any page and it tries to do something than the page loads plain white. Doesn't give me an error message or nothing, so I'm guessing u left out some information on the instructions? I know damn well I did everything correctly. Email me: forgottensoul82@gmail.com. thanx, Kev

    ReplyDelete
  3. I tried your guide on Tetherbot usage and I'm proud to say I made it work the first time I tried it.
    US VPN

    ReplyDelete