Browse the web from a tethered phone

Last Updated:

  1. grahamsz

    grahamsz Active Member

    You'll need to ask google - I didn't write the drivers.

  2. atek3

    atek3 Well-Known Member

    Hmmm has anyone gotten socks to work with ie or chrome? I don't have firefox
  3. Manacit

    Manacit Well-Known Member

    You could use proxifier, there is a portable version of it if you need that.
  4. l3wis

    l3wis Well-Known Member

    This is the 64 bit version of the USB driver. It's unsigned, so before installing it you'll have to put Vista into test mode or it will refuse to load the driver:

    1) Type "bcdedit /set testsigning on" at an admin command prompt
    2) Reboot
    3) Check to see if the desktop says "Test Mode" on the corners

    After that you should be able to install it like a normal driver. If adb seems to be freezing occassionally, try using adb_fixed.exe instead (don't forget to kill the adb server first).

  5. yostinso

    yostinso New Member

    So yesterday I discovered that OpenVPN will happily tunnel over a SOCKS proxy, and proceeded to set it up to connect between my (Mac) laptop and my Mac server at home. Here's how to get it working with, I think, any combination of Windows, *nix, or OS X.

    1. Use or some other dynamic DNS service to attach your home IP. (See Make sure that your DSL modem/cable modem/home router is allowing through port 1194 (TCP) to the machine you're going to be using as a server.

    2a. If you're on OS X, you need to install the TUN/TAP drivers. The easiest way to get these is by downloading tunnelblick and running it once; it will install tun.kext and tap.kext in /Library/Extensions. If you're feeling particular, you can use Show Package Contents on the tunnelblick app, and copy the kext files to /Library/Extensions from the Contents/Resources/ directory in the app package.

    2b. If you're on Linux, you might need to load the TUN module, use "sudo modprobe tun".

    3. Install OpenVPN 2.x on the client.
    A. On a Mac, the easiest way is to use MacPorts. You can just run "sudo port install openvpn2" in a Terminal. There's also a GUI called Viscosity that works really well, but costs $9, and a free one called tunnelblick that I haven't tried.
    B. On Windows, there's a GUI, or command-line version.
    C. On Linux/BSD, use your package manager of choice. Just make sure you get version 2.x.
    4. Install OpenVPN on the server; the install process is the same as for the client.

    5. Generate SSL certificates for security. There's an OpenVPN HOWTO that has good directions for Windows and most *nix distributions. If you installed OpenVPN using MacPorts, the scripts referenced in the HOWTO will be in /opt/local//share/doc/openvpn2/easy-rsa. Follow the HOWTO through building both the client (./build-key client) and server (./build-key-server server) certificates as well as the Diffie-Hellman file (./build-dh) At the end, you should have six files:

    • dh1024.pem
    • server.crt
    • server.key
    • client.crt
    • client.key
    • ca.crt
    • ca.key
    Make a directory on your laptop for holding the client certificates (this directory can be anywhere) and put a copy of ca.crt, client.crt, and client.key in it.

    Make a directory on the server for holding the server certificates, and put a copy of ca.crt, server.crt, server.key in it.

    6. Configure the server. This is a little tricky, because it's easy to allow the client to connect to the server, but getting from there out to the internet requires some fanciness.

    First, create a configuration file for openvpn; just paste the following into a text file on the server (call it server.conf or something). Change the paths as appropriate.

    Code (Text):
    2. port 1194
    3. proto tcp
    4. dev tun
    5. ca [B]/path/to/ca.crt[/B]
    6. cert [B]/path/to/server.crt[/B]
    7. key [B]/path/to/server.key[/B]
    8. dh [B]/path/to/dh1024.pem[/B]
    9. server
    10. ifconfig-pool-persist ipp.txt
    11. push "redirect-gateway def1"
    12. push "dhcp-option DNS [B][/B]" # this is OpenDNS; change if you want
    13. keepalive 10 120
    14. comp-lzo
    15. persist-key
    16. persist-tun
    A. On Mac OS X: You're basically enabling Internet Sharing, but without the DHCP server. Do this by opening Terminal and running:
    Code (Text):
    2. sudo sysctl -w net.inet.ip.fw.enable=1 # enable the firewall
    3. sudo sysctl -w net.inet.ip.forwarding=1 # enable IP forwarding
    4. sudo natd -n en0 -dynamic -clamp_mss # enable network sharing
    B. On BSDs, do the same thing as on a Mac (you might need to install NATD).

    C. On Linux (Ubuntu, anyway), the firewall/NAT are rolled into one:
    Code (Text):
    2. sudo sysctl -w net.ipv4.ip_forward # enable IP forwarding
    3. sudo iptables -t nat -A POSTROUTING -s -o eth0 -j MASQUERADE # enable network sharing
    D. On Windows, you have to make a couple of changes to server.conf. Change the "server" line to read "server" and the line "dev tun" to read "dev tap". Then follow the directions here to enable Internet Connection Sharing (stop reading when he gets to the part about the configuration files.)
    7. Start OpenVPN on the server. From the command line, run:
    Code (Text):
    1. openvpn2 [B]/path/to/server.conf[/B]
    8. Configure OpenVPN on the client by creating a configuration file (call it client.conf) containing the following:
    Code (Text):
    2. persist-key
    3. tls-client
    4. remote 1194
    5. proto tcp-client
    6. port 1194
    7. ca [B]/path/to/ca.crt[/B]
    8. cert [B]/path/to/client.crt[/B]
    9. key [B]/path/to/client.key[/B]
    10. redirect-gateway def1
    11. dev tun
    12. persist-tun
    13. comp-lzo
    14. nobind
    15. socks-proxy localhost 1080
    16. pull
    9. Enable USB debugging on your phone, start the SOCKS proxy in Tetherbot, and then start up Android tethering and run OpenVPN on the client by opening a terminal and running:
    Code (Text):
    2. [B]/path/to/AndroidSDK[/B]/tools/adb forward tcp:1080 tcp:1080
    3. openvpn2 [B]/path/to/client.conf[/B]

    10. Browse internet, use IM, whatever. No extra configuration needed. To kill OpenVPN, just hit Ctrl-C in the window where you ran it. If you don't reboot your server, you can reconnect over and over again.

    Good luck!

    Side bonus - access to your home network from anywhere; if you remove the "socks-proxy" line from client.conf, you can connect when you're not using Android tethering.
  6. Can someone point me to a Profixier download (or equivalent program)? I wasn't able to find it via a GOOGLE search.

    The instructions on this thread were great and I was up and browsing (via Firefox) in less than 30 minutes.

    Now I am just looking for that final piece to handle the rest of the applications for which I need connectivity. (which appears to be Profixier)
  7. tomkerswill

    tomkerswill New Member

    This sounds great. Does anyone know if it's possible to tether the phone to a powerpc mac? I'd love to try this on my powerbook. The sdk is i386 only I think... but I wonder if the adb part of the software can be compiled for powerpc.... does anyone have any ideas about this, or whether other software can be used to establish the tunnel to the phone?

    I can browse files on the g1 using the mac and usb, but there's just no adb command I can find :-(

  8. parrothd

    parrothd Member

    Geezus...(looks like you have unix skills)

    If you have root access to your phone you can setup an wifi Ad-hoc network and use iptables to do actual tethering, (no proxy, no tunnel)...
  9. atek3

    atek3 Well-Known Member

    after fooling around with firefox and foxyproxy eventually i got it to work... i don't know why it wasn't working before.

    but now it is.


  10. I found the application. "Proxifier". It was misspelled throughout the entire post.
  11. msick124

    msick124 New Member

    ok, i am new to this since i just got my G1 yesterday, i can get it to work, but after about 15- 20 mins i start getting a message saying that the proxy is refusing my connection, this happens with both foxy proxy and proxifier, is there something that i may have over looked. When this happens i have to restart both my comp and my g1 to get it to work again. I am using 32 bit vista, i used the exe file that was posted a page or two back to install the drivers and run it while running Tetherbot and either Foxy Proxy or Proxifier. I don't know what RC I have. It happens with Firefox and Chrome, and Im assuming IE, I never use it
  12. msick124

    msick124 New Member

    Oh and I am getting 3g speed, 1236 download 849 upload,
  13. Vouda

    Vouda New Member

    First, Hats off to you Graham....this app deff made the phone for me. I wanted to cry when I was told tethering didn't come with it.

    My question is, and excuse me for being a noob, even though I can connect through Firefox (with FoxyProxy) and IE isn't working for me, is there any hope for us that play online games. I work overnights and have alot of time on my hands and being able to tether my Wing and play things like Wow, EQ2, Warhammer, Aoc, SWG.....the list goes on, was a God-send. The Edge network wasn't anything to write home about, but it was atleast playable. Now that I got this working I was sadly discouraged when I couldn't log on to those servers.

    I know I am not the only 1 who plays online games and I haven't seen any posts regarding it so here it is. I do have some friends that are programmers that play aswell, so they might be able to write an app for it but I am simply the 1st to get the phone and can't program my VCR.

    Thanks for everything so far....keep up the great work.
  14. msick124

    msick124 New Member

    Proxifier will run all connections through the proxy but even so the proxy doesnt like all connections but its worth a try, also if u download it, its a limited 30 day trial. I havent been able to locate a cracked copy yet.

    Here's the official site (hope i'm not stepping on any feet posting it)
  15. msick124

    msick124 New Member

    I found a full version of proxifier but registered version did not change my problem, more so I just realized I didnt say thanks to Beeny and Manacit for first mentioning Proxifier, JDaddin for the shell, and Graham for the proxy. If i ever can get this to fully work you all will be legends in my book
  16. atek3

    atek3 Well-Known Member

    I don't know what changes you made between proxyapp and tetherbot, but tetherbot is MUCH faster. Kudos
  17. atek3

    atek3 Well-Known Member

    question: why does youtube work with tetherbot, but doesn't (both divx and flash)

  18. Manacit

    Manacit Well-Known Member

    ninjavideo uses some insane proxying java application (if you look at the location of the divx video, you'll see its coming from, which is the java app connecting to somewhere and relaying the video). I assume the java applet bypasses the proxy.
  19. atek3

    atek3 Well-Known Member

    no simple workaround i gather?
  20. johnnylicious

    johnnylicious New Member

    im still trying to figure out how to do this on a mac

    im lost

    i dont understand the abd run part
  21. So I have a Cisco VPN client that tunnels over TCP or UDP (NAT / PAT). Does that mean that I am out of luck in connecting via my tethered phone?
  22. t59ski

    t59ski Member

    Does anyone have tethering through the G1 working with windows, IE-7 and Proxifier; if so could you post a set of steps you went through to get it working?
  23. metallic9900

    metallic9900 Member

    I have IE 7 working while using Proxifier and I didn't configure anything in IE

    First run Tetherbot on your phone, second start up proxifier, third run the adb on your desktop/laptop.

    Do you have the G1 driver installed in your pc?

    Also, configure Proxifier to connect at localhost, Port 1080 and your set.

    Good Luck
  24. t59ski

    t59ski Member

    I believe the drivers are installed; when I plug my G1 in I can then select the mount option on the G1 then the device shows up in windows explorer. Does this indicate that the drivers are installed properly?
    Where in Proxifier do I set localhost and port 1080?
  25. jdaddin

    jdaddin Member

    No. I believe when you mount the device (SD Card), it is seen as a mass storage device on Windows and Linux both. In this case, the OS's generic mass storage device drivers are used not the Android drivers.

Share This Page