Discussion in 'Android Apps & Games' started by grahamsz, Oct 31, 2008.
You'll need to ask google - I didn't write the drivers.
Hmmm has anyone gotten socks to work with ie or chrome? I don't have firefox
You could use proxifier, there is a portable version of it if you need that.
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
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).
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 dyndns.com or some other dynamic DNS service to attach your home IP. (See http://www.dyndns.com/services/dns/dyndns/.) 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:
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.
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS [B]220.127.116.11[/B]" # this is OpenDNS; change if you want
keepalive 10 120
A. On Mac OS X: You're basically enabling Internet Sharing, but without the DHCP server. Do this by opening Terminal and running:
sudo sysctl -w net.inet.ip.fw.enable=1 # enable the firewall
sudo sysctl -w net.inet.ip.forwarding=1 # enable IP forwarding
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:
sudo sysctl -w net.ipv4.ip_forward # enable IP forwarding
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE # enable network sharing
D. On Windows, you have to make a couple of changes to server.conf. Change the "server 10.8.0.0 255.255.255.0" line to read "server 192.168.0.0 255.255.255.0" 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:
8. Configure OpenVPN on the client by creating a configuration file (call it client.conf) containing the following:
remote www.aradine.com 1194
socks-proxy localhost 1080
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:
[B]/path/to/AndroidSDK[/B]/tools/adb forward tcp:1080 tcp:1080
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.
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.
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)
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 :-(
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)...
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.
I found the application. "Proxifier". It was misspelled throughout the entire post.
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
Oh and I am getting 3g speed, 1236 download 849 upload,
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.
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)
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
I don't know what changes you made between proxyapp and tetherbot, but tetherbot is MUCH faster. Kudos
question: why does youtube work with tetherbot, but ninjavideo.net doesn't (both divx and flash)
ninjavideo uses some insane proxying java application (if you look at the location of the divx video, you'll see its coming from 127.0.0.1:####, which is the java app connecting to somewhere and relaying the video). I assume the java applet bypasses the proxy.
no simple workaround i gather?
im still trying to figure out how to do this on a mac
i dont understand the abd run part
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?
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?
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.
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?
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.