PDA

View Full Version : [UPDATED 2/25/2009] SocksProxy v1.0: Free SOCKS proxy for internet sharing


pchasco
4th August 2008, 06:15 PM
I have created an SOCKS proxy server application to run on Windows Mobile phones. A SOCKS proxy is a proxy server that is capable of forwarding nearly all types of network traffic, similar to a NAT router. It is very simple to use. Simply type in the port you would like the proxy server to listen on (defaults is 1080), then click the large "Start Proxy" button.

In order to run this application you will need the .NET Compact Framework 3.5 (http://www.microsoft.com/downloads/details.aspx?FamilyID=e3821449-3c6b-42f1-9fd9-0041345b3385&displaylang=en) installed on your device.

Some applications are SOCKS-ready and others are not. You can use FreeCap (http://freecap.ru/eng) (freeware) to SOCKS enable any Windows application. ** FreeCap seems to have problems connecting to SocksProxy. Let me know if it works or doesn't work for you. **

I am *NOT* responsible for any fees charged to anyone for the use of this software. There is no warranty and no guarantee.

[UPDATE 2/25/2009]
I've completed the new version of SocksProxy. It implements socks version 4a. There is no security, so it will allow anyone to connect with any user id.

Please let me know of any issues you find.

[UPDATE 2/24/2009]
SocksProxy v1.0 Reboot

--------------------------------------------------------------------------------

I've completed the new proxy server. It looks pretty much like the old one, but I've anchored the controls to the edges so it should scale properly with VGA devices.

I've written a new Socks 4a proxy from scratch and completed ditched all the old code. It seems to be working pretty well, though a bit slow. I think I need to increase the size of my read buffers. I will have to write a smarter heuristic for determining the size of the buffer per connection though. I have them at 128 Kb now. I need to grow each buffer dynamically according to how it's being used, that way I don't create large buffers for connections that are only transfering small amounts before closing (downloading a small gif or javascript file, for example).

I'll probably release it tomorrow after some more testing.

BTW: I'm posting this through the proxy right now!

[UPDATE 2/24/2009]
I've decided not to move forward with the J2ME version of SocksProxy. I will however be writing a new .NET CF version. The current version's proxy is based on code I ported from a proxy targeted to the standard .NET framework. Some features in the standard framework are absent in the compact framework. When porting the proxy I pretty much just did it as quick and dirty as I could because I really wanted something that just got the job done. I didn't care how stable or 'good' it was because I hadn't even intended on releasing it to anyone. Since it looks like there's still a lot of interest I will be writing a new one from scratch. Don't expect too much; It'll be the simplest thing that possibly works, but it'll be stable and reliable.

I'll be naming this version SocksProxy 1.0 Reboot. I'm not upping the version number because I'm really not going to be adding any new features.


[UPDATE 11/4/2008]
I am working on a J2ME version of this application. I will no longer be maintaining the .NET version of the application. The SVN repository for the .NET version will continue to be available. I have no plans on taking it down.

I have decided to switch to J2ME because I will be able to reuse source code in a future Android release -- that is, if Google or someone adds the ability for Android to have more than one IP address.

[UPDATE 10/27/2008]
There is a usage issue with the application with certain configurations of Windows Mobile and Activesync. It seems that when the Activesync host (your PC) has a connection to the internet the handheld device will prefer to connect to the internet via the PC's connection rather than its cellular connection. This completely eliminates any benefit to using the proxy. Does anyone know how to prevent the handheld from routing its internet traffic back through Activesync? Note that this is NOT solved by setting the "Allow data connections" setting in Activesync.

[UPDATE 10/27/2008]
I have updated the SVN respository (https://pchasco.homedns.org/svn/SocksProxy/trunk). Here are the changes:

* Changed "Listening on" box to list all IPs on the handheld
* Added an IP box. Enter an IP to listen on that IP or leave blank to listen on all.
* Rearranged form
* Added "Use selected IP" button to insert into the IP box the IP selected in the list of available IP addresses.

You can enter any IP address in the IP box, but the proxy will fail to start if the IP is not valid for your device.

Mr_Gee
11th September 2008, 03:19 PM
Hi pchasco,

Could you explain a bit more what this does (and how it works)?
The reason I ask is that I'm looking for an application for the PPC which allows me to share its internet connection by pointing the Desktop browser' proxy to the PPC.

This allows me to be connected to the wired network and using this proxied browser to browse even the blocked sites ...

Can your application be used for this?
If so could you also explain how it works..
I've ran the App on my PPC, and clicked start, this gave me an IP address
next i hooked it up to USB and pointed IE's proxy to that address...didn't work
I also tried to activate the 3G first and/or with ICS activated
but both times I didn't see a IP address...

I'm probably doing something wrong..
Thanks

pchasco
11th September 2008, 03:29 PM
This is a SOCKS proxy, so it does not work in quite the same way that a normal HTTP proxy does. For internet explorer you'll have to open the advanced proxy options and fill in the information for the SOCKS host:port entry.

abdulzis
11th September 2008, 07:07 PM
Can someone please explain a sample usage of this software on Windows Mobile?

hoopsbwc34
11th September 2008, 08:00 PM
This is a SOCKS proxy, so it does not work in quite the same way that a normal HTTP proxy does. For internet explorer you'll have to open the advanced proxy options and fill in the information for the SOCKS host:port entry.

Have you used this with ICS? In other words, share your internet connection with a computer and then have the computer connect via your sock proxy to the internet?

pchasco
11th September 2008, 08:02 PM
Can someone please explain a sample usage of this software on Windows Mobile?

I'm not sure what you mean. An example of how to use it or an example describing why someone would want to use it?

pchasco
11th September 2008, 08:04 PM
Have you used this with ICS? In other words, share your internet connection with a computer and then have the computer connect via your sock proxy to the internet?

I am not sure why you would need to use both SOCKS proxy and ICS at the same time. They are both means to provide internet connectivity through your phone to another device. If ICS were an option on my phone, I would use it over SOCKS unless the client device did not support it.

hoopsbwc34
11th September 2008, 08:35 PM
I am not sure why you would need to use both SOCKS proxy and ICS at the same time. They are both means to provide internet connectivity through your phone to another device. If ICS were an option on my phone, I would use it over SOCKS unless the client device did not support it.

Basically, I'm trying to allow access to two networks at the same time. So I want to adjust my settings in firefox to point to my WM phone and your socks proxy. Then my other applications and IE can use my LAN. Otherwise, to get my WM ICS to work I have to disable my LAN connection which I need for certain apps.

edit... I'm good with using it without ICS, but that doesn't seem to work either. No matter when I click start proxy, I get an IP of 0.0.0.0 and if I connect my computer via USB I can't ping that address.

pchasco
11th September 2008, 09:38 PM
Basically, I'm trying to allow access to two networks at the same time. So I want to adjust my settings in firefox to point to my WM phone and your socks proxy. Then my other applications and IE can use my LAN. Otherwise, to get my WM ICS to work I have to disable my LAN connection which I need for certain apps.

Then setting the SOCKS proxy setting without setting any other proxy settings should work in Internet Explorer. I've been trying to test it, but my phone refuses to access the internet through the cellular connection right now; it's always going through my PC while activesync is connected. I can't get it to stop! The funny thing is IE on my PC is making its HTTP requests through my phone, then my phone is going right back through my PC to the internet!

hoopsbwc34
11th September 2008, 09:41 PM
Then setting the SOCKS proxy setting without setting any other proxy settings should work in Internet Explorer. I've been trying to test it, but my phone refuses to access the internet through the cellular connection right now; it's always going through my PC while activesync is connected. I can't get it to stop! The funny thing is IE on my PC is making its HTTP requests through my phone, then my phone is going right back through my PC to the internet!

That's what I tried... but the IP address I get is 0.0.0.0 from your app. What IP do you usually get back when you run it? Do you just connect via USB? If ActiveSync is running is that an issue?

hoopsbwc34
11th September 2008, 09:43 PM
Then setting the SOCKS proxy setting without setting any other proxy settings should work in Internet Explorer. I've been trying to test it, but my phone refuses to access the internet through the cellular connection right now; it's always going through my PC while activesync is connected. I can't get it to stop! The funny thing is IE on my PC is making its HTTP requests through my phone, then my phone is going right back through my PC to the internet!

I think there is a setting in ActiveSync that says "allow wireless connections when connected" sounds like that might be your problem.

hoopsbwc34
12th September 2008, 12:08 AM
Hi pchasco,

Could you explain a bit more what this does (and how it works)?
The reason I ask is that I'm looking for an application for the PPC which allows me to share its internet connection by pointing the Desktop browser' proxy to the PPC.

This allows me to be connected to the wired network and using this proxied browser to browse even the blocked sites ...

Can your application be used for this?
If so could you also explain how it works..
I've ran the App on my PPC, and clicked start, this gave me an IP address
next i hooked it up to USB and pointed IE's proxy to that address...didn't work
I also tried to activate the 3G first and/or with ICS activated
but both times I didn't see a IP address...

I'm probably doing something wrong..
Thanks

Sounds like the same thing that is happening to me. I finally got it to give me an IP address, but only if my data connection is inactive. As soon as the data connection is active it becomes a 0.0.0.0 IP address. Bug?

I tried to establish the IP, then activate the data connection... still doesn't work when I enter the IP:port into my proxy list for firefox.

pchasco
12th September 2008, 02:16 PM
That's what I tried... but the IP address I get is 0.0.0.0 from your app. What IP do you usually get back when you run it? Do you just connect via USB? If ActiveSync is running is that an issue?

I am not sure why you are receiving 0 as your IP address. Check in Settings->Connections->USB to PC that "Enable advanced network functionality" is selected.

Mr_Gee
12th September 2008, 04:39 PM
Gave it another try

Connected to ActiveSync (AS) loaded the application
removed the AS connection, started the application
It showed me the IP address op 127.0.0.1 (localhost)
Stopped the App, initiated the gprs and started the App again.
now i'm getting an IP of 0.0.0.0, I restarted the App a couple of times but no dice

I also checked if the advanced network functionality was enabled and it was..

pchasco
12th September 2008, 04:53 PM
Gave it another try

Connected to ActiveSync (AS) loaded the application
removed the AS connection, started the application
It showed me the IP address op 127.0.0.1 (localhost)
Stopped the App, initiated the gprs and started the App again.
now i'm getting an IP of 0.0.0.0, I restarted the App a couple of times but no dice

I also checked if the advanced network functionality was enabled and it was..

Hmm... I'm not sure what's going on here. 127.0.0.1 is the loopback interface-- It is only valid for your phone to connect to itself. If your computer attempted to connect to 127.0.0.1 it would connect to itself, not your phone.

Mr_Gee
12th September 2008, 04:59 PM
Hmm... I'm not sure what's going on here. 127.0.0.1 is the loopback interface-- It is only valid for your phone to connect to itself. If your computer attempted to connect to 127.0.0.1 it would connect to itself, not your phone.
Yes I know... :-/

pchasco
12th September 2008, 05:13 PM
Well, if I have time in the next few days I will take a look and see whether there is anything I can do. Maybe there is another IP address available on your device but for whatever reason I'm displaying the loopback instead of the external interface.

What happens when you set your proxy client up to go to 169.254.2.1:1080?

hoopsbwc34
12th September 2008, 05:43 PM
Gave it another try

Connected to ActiveSync (AS) loaded the application
removed the AS connection, started the application
It showed me the IP address op 127.0.0.1 (localhost)
Stopped the App, initiated the gprs and started the App again.
now i'm getting an IP of 0.0.0.0, I restarted the App a couple of times but no dice

I also checked if the advanced network functionality was enabled and it was..

Sounds like the same bug I am getting.

abdulzis
12th September 2008, 05:48 PM
An example describing why someone would want to use it?

hoopsbwc34
12th September 2008, 06:28 PM
An example describing why someone would want to use it?

If you can't use ICS and want to connect to the internet from your desktop, you can connect your phone using USB and start this proxy, then you can setup your desktop connection to use the proxy to get internet access.

hoopsbwc34
16th September 2008, 05:31 AM
Any update? Anyone else know of a similar program?

Mr_Gee
17th September 2008, 11:25 AM
pchasco were you able to find the case of the issue?

pchasco
17th September 2008, 02:26 PM
Sorry, I've not had time to work on it.

Mr_Gee
17th September 2008, 04:25 PM
Sorry, I've not had time to work on it.

No worries :)

hoopsbwc34
24th September 2008, 10:01 PM
Any update pchasco?

hoopsbwc34
26th September 2008, 05:49 PM
Any chance you could post the source pchasco? I wouldn't mind taking a look and trying to figure it out.

Zenoran
2nd October 2008, 06:05 PM
HOLY CRAP.

Turn on ICS to bind to my local computer over USB and get 192.168.0.1.. turn this thing on.. set Firefox to socks5 @ 192.168.0.1 and BAM unfiltered internet at work.

I love you.

Mr_Gee
2nd October 2008, 08:21 PM
HOLY CRAP.

Turn on ICS to bind to my local computer over USB and get 192.168.0.1.. turn this thing on.. set Firefox to socks5 @ 192.168.0.1 and BAM unfiltered internet at work.

I love you.

Cool i need to try that :-)
Lets hope it works

hoopsbwc34
3rd October 2008, 12:59 AM
HOLY CRAP.

Turn on ICS to bind to my local computer over USB and get 192.168.0.1.. turn this thing on.. set Firefox to socks5 @ 192.168.0.1 and BAM unfiltered internet at work.

I love you.

I tried this the first time, with no luck. It doesn't get an IP address (just shows 0.0.0.0) when I do it. What phone/OS are you using?

hoopsbwc34
3rd October 2008, 01:48 AM
Here's the pattern for me:

If I have any data connection and start the proxy I get 0.0.0.0

If I am connected via activesync (no data connection) I get 192.168.55.101 (but then I can't do anything because I have no data connection and I can't start one)

If I have no data connection and I'm not connected to USB I get 127.0.0.1

Mr_Gee
3rd October 2008, 11:53 AM
Here's the pattern for me:

If I have any data connection and start the proxy I get 0.0.0.0

If I am connected via activesync (no data connection) I get 192.168.55.101 (but then I can't do anything because I have no data connection and I can't start one)

If I have no data connection and I'm not connected to USB I get 127.0.0.1

Same here... :mad:
Maybe it has to do with the type of phone, which one do you have?
I have a diamond..

Zenoran
3rd October 2008, 04:20 PM
activesync isn't ICS... you can't have activesync even loaded if you want to use ICS.. I actually disable usb connection from activesync when I want to use ICS...

If ICS is working properly it will assign 192.168.0.1 to your phone and your computer will get see a new adapter with that address set as the default gateway... you should be able to use internet just like normal (without a proxy) in ICS if it's working properly...

Where I find the socks proxy more useful is a bit more complicated... if you're on a work LAN all of your work applications would go through your work's default gateway even if you have ICS connected... default gateway basically routes all calls to the internet through one place so if you're in firefox it will route all your traffic through that gateway... the problem is you can't have more than one default gateway, anything that doesn't go through the default has to have static routes assigned which is a pain for internet browsing (so many diff addresses).

this is where the proxy comes in.. proxies forward ALL requests through the proxy server instead of going through default gateway... so when you setup a proxy in firefox as 192.168.0.1 it will use the ICS connection and tunnel all your requests through that instead of the default gateway, allowing you to remain on your work intranet and route specific apps through your phone by pointing them to the socks proxy...


If you guys aren't getting 192.168.0.1 in the proxy window once you click start then ICS probably isn't working right.. your first step would be to make sure ICS is working, then you can move on to the proxy.


if you go into CMD prompt and type 'ipconfig' you should see an adapter (which I renamed to WM) that looks something like this:

Ethernet adapter WM:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.102
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1

IME Activesync always conflicts with 'advanced networking' in wm so I always right click on tray icon, go to connections and uncheck usb...

hoopsbwc34
3rd October 2008, 05:40 PM
I wish that was true, but ICS works fine. I get a new adapter and connection on my PC. When I check my ipconfig, it shows my "windows mobile connection" using gateway 192.168.0.1 just as you say. However the proxy program doesn't seem to bind to that address for some reason (just shows 0.0.0.0), so trying to set my proxy to use 192.168.0.1 doesn't do anything.

What phone do you have? Mr Gee and I both have HTC phones (I have the Touch, he has the Diamond)

activesync isn't ICS... you can't have activesync even loaded if you want to use ICS.. I actually disable usb connection from activesync when I want to use ICS...

If ICS is working properly it will assign 192.168.0.1 to your phone and your computer will get see a new adapter with that address set as the default gateway... you should be able to use internet just like normal (without a proxy) in ICS if it's working properly...

Where I find the socks proxy more useful is a bit more complicated... if you're on a work LAN all of your work applications would go through your work's default gateway even if you have ICS connected... default gateway basically routes all calls to the internet through one place so if you're in firefox it will route all your traffic through that gateway... the problem is you can't have more than one default gateway, anything that doesn't go through the default has to have static routes assigned which is a pain for internet browsing (so many diff addresses).

this is where the proxy comes in.. proxies forward ALL requests through the proxy server instead of going through default gateway... so when you setup a proxy in firefox as 192.168.0.1 it will use the ICS connection and tunnel all your requests through that instead of the default gateway, allowing you to remain on your work intranet and route specific apps through your phone by pointing them to the socks proxy...


If you guys aren't getting 192.168.0.1 in the proxy window once you click start then ICS probably isn't working right.. your first step would be to make sure ICS is working, then you can move on to the proxy.


if you go into CMD prompt and type 'ipconfig' you should see an adapter (which I renamed to WM) that looks something like this:

Ethernet adapter WM:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.102
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1

IME Activesync always conflicts with 'advanced networking' in wm so I always right click on tray icon, go to connections and uncheck usb...

Zenoran
3rd October 2008, 06:07 PM
Ahhh interesting then ya it does appear to be a problem with the proxy app then... I'm using an HTC Titan (xv6800) with wm6.1 custom ROM... Just for verification, when ICS is loaded on my device it adds the 192.168.0.1 address in the list on the proxy app where you guys are apparently seeing the 0.0.0.0... This is in ADDITION to my internet ip address... so I have 2 in the box... I didn't really do anything special to get this working it just worked, surprisingly!

hope the dev can help you guys out this app is awesome for us with restrictive networks at work ;)

hoopsbwc34
18th October 2008, 07:59 PM
Any chance of getting the source code to take a look at these problems phasco?

pchasco
22nd October 2008, 04:23 PM
I've created an SVN repository of the source code. You can get it here:

https://pchasco.homedns.org/svn/SocksProxy/trunk

If you have changes you'd like to merge in, let me know and I can provide you with a user account with the appropriate permissions.

I regret that the software hasn't worked for a lot of you. I've only got one WM phone and it works on it.

hoopsbwc34
25th October 2008, 06:29 AM
<<duplicate see below>>

hoopsbwc34
25th October 2008, 06:32 AM
Thanks pchasco... I'd like to set it up to let me set the IP address (or as a hack just hard code it to the 192.168.0.1 IP). Can I set this in listerner.cs? It also says I can just set the IPAddress to IPAddress.Any to listen on all IP addresses.... maybe this would work?

I've got a friend who I think can help. If you can provide some guidance that would be great...thanks. Or if you had time to post a couple things to try that would be even better!

pchasco
27th October 2008, 03:30 PM
Thanks pchasco... I'd like to set it up to let me set the IP address (or as a hack just hard code it to the 192.168.0.1 IP). Can I set this in listerner.cs? It also says I can just set the IPAddress to IPAddress.Any to listen on all IP addresses.... maybe this would work?

I'm already telling it to listen on any available IP address:

// From ApplicationForm.startStopButton_Click

Listener l = proxy.CreateSocksListener(System.Net.IPAddress.Any ,
ushort.Parse(portTextBox.Text));


The text box below just lists IP addresses that are available on your handheld. If no IP address or only 0.0.0.0 is listed, then the application is unaware of any IPs. And it certainly cannot listen on IPs that it's not aware even exist.

I'll add a box to enter an IP, but I'm not sure whether it will make any difference for you.

pchasco
27th October 2008, 04:20 PM
I have updated the SVN respository and posted a new zip. See original post in thread.

sonofzeus
27th October 2008, 05:27 PM
hi, i previously had the problem where no ip would show up, i've tried the latest version and now i get the ip list, i choose one and configure firefox to use that one as the proxy server, however firefox says Connection Interrupted, The connection to the server was reset while the page was loading. The network link was interrupted while negotiating a connection. Please try again.

I first run internet connection sharing and once that is conected i run the proxy server and always get this message :(

pchasco
27th October 2008, 05:35 PM
hi, i previously had the problem where no ip would show up, i've tried the latest version and now i get the ip list, i choose one and configure firefox to use that one as the proxy server, however firefox says Connection Interrupted, The connection to the server was reset while the page was loading. The network link was interrupted while negotiating a connection. Please try again.

I first run internet connection sharing and once that is conected i run the proxy server and always get this message :(

Why don't you try it without Internet Connection Sharing. You shouldn't need it for Proxy to work-- it may be the cause of your problem.

hoopsbwc34
27th October 2008, 09:49 PM
Thanks pchasco! There must have been some problem in trying to do "any" IP. Now, when I connect to ICS, then turn on the proxy I see two IPs including 192.168.0.1 (which is my ICS connection to my computer). I don't have the 0.0.0.0 IP any more!

I selected 192.168.0.1 IP specifically, and am typing this to you now using my proxy connection.

I do see the same problem as listed above. Intermittently I lose my connection and get that warning, or it takes a long time to load a page. Not sure why that is... I tried to run it without ICS and it doesn't work for me. Mainly because I did a tracert on the IP that the proxy is giving me in that case (192.168.55.101) and it routes it somewhere on my lan...

Thanks again!!

sonofzeus
27th October 2008, 10:09 PM
Thanks phasco! There must have been some problem in trying to do "any" IP. Now, when I connect to ICS, then turn on the proxy I see two IPs including 192.168.0.1 (which is my ICS connection to my computer). I don't have the 0.0.0.0 IP any more!

I selected 192.168.0.1 IP specifically, and am typing this to you now using my proxy connection.

I do see the same problem as listed above. Intermittently I lose my connection and get that warning, or it takes a long time to load a page. Not sure why that is... I tried to run it without ICS and it doesn't work for me. Mainly because I did a tracert on the IP that the proxy is giving me in that case (192.168.55.101) and it routes it somewhere on my lan...

Thanks again!!
Matt

same problem here, it gives me the same error message without ICS.

hoopsbwc34
27th October 2008, 10:33 PM
For those that are interested...I ran some speedtests through with ICS only, and with ICS and the proxy... the biggest difference was a longer latency delay with the proxy, not sure why that would be. I did the test several times and alternated back and forth, and these were pretty standard results.

Proxy:
http://www.speedtest.net/result/345857927.png (http://www.speedtest.net)

ICS only:
http://www.speedtest.net/result/345856433.png (http://www.speedtest.net)

hoopsbwc34
27th October 2008, 11:45 PM
Stopping and restarting the proxy when I get the Network errors cleans things up and gets it running again... not sure what causes the hang up. Maybe there is some clean-up that can be done in the program every once in a while to emulate disconnecting and reconnecting?

pchasco
28th October 2008, 02:41 PM
Stopping and restarting the proxy when I get the Network errors cleans things up and gets it running again... not sure what causes the hang up. Maybe there is some clean-up that can be done in the program every once in a while to emulate disconnecting and reconnecting?

Can you post more specifics? What kind of network errors are you receiving?

hoopsbwc34
29th October 2008, 06:43 AM
Can you post more specifics? What kind of network errors are you receiving?

Same as sonofzeus, connection gets reset or I get a server not responding. I'll notice in the status bar that the connection stops progressing (get's hung up at "connecting to ....") so I just stop and start the proxy and it starts going to the next step ("downloading" or whatever). I did notice this happened more if I had more than one tab in Firefox. If I kept browsing just one tab it seemed to happen less.

hoopsbwc34
31st October 2008, 06:21 PM
Just a follow up, it seems to especially struggle with AJAX web pages like facebook, gmail. I find I'm stopping and starting every 5-10 seconds or so to keep pages loading.

pchasco
31st October 2008, 07:03 PM
That makes sense if there's a leak. Maybe I'll have some time to look into it next week :)

pchasco
4th November 2008, 09:41 PM
I am working on a J2ME version of this application. I will no longer be maintaining the .NET version of the application. The SVN repository for the .NET version will continue to be available. I have no plans on taking it down.

I have decided to switch to J2ME because I will be able to reuse source code in a future Android release -- that is, if Google or someone adds the ability for Android to have more than one IP address.

hoopsbwc34
5th November 2008, 01:08 AM
Let me know when it is ready and I'll try it out as well.

hoopsbwc34
11th December 2008, 06:19 PM
Any update on the J2ME version? I noticed the .NET version has a lot of trouble with AJAX and streaming type connections. I tried to use logmein, and it works great as a direct connection using Internet Sharing, but it never connects if I use the proxy. I'm hoping the new version improves in this area. Logmein would be a good tool to use as a test.

Zenoran
6th January 2009, 04:41 PM
any chance at vga version? squishes everything in a tiny little square on vga devices it seems :(

hoopsbwc34
22nd January 2009, 09:00 PM
Just a bump to let the op know I still check this every week to see if there is a J2EE version or any other updates. I'm still using the current version but it's AJAX issues make a new version welcome!

Mr_Gee
29th January 2009, 05:45 PM
Another small bump, and a request for this or future versions.

I'd like to see VGA support and the ConnectionSharing integrated
just so I do not need to start 2 applications :-)

Zenoran
30th January 2009, 08:07 PM
Another small bump, and a request for this or future versions.

I'd like to see VGA support and the ConnectionSharing integrated
just so I do not need to start 2 applications :-)


blehhhh.. damn bumps making me think there's a new version... but noooooo!

poorgrad
8th February 2009, 01:58 AM
Thanks for the good work. Once upon a time I wrote a SOCKS4 proxy for Windows 95.
I tried it out with my HTC touch connected over RNDIS to my Linux (Fedora) machine and was about to proxy requests from Firefox through the phone.

Is this a SOCKS5 or SOCKS4 proxy?
If it's a SOCKS5 proxy you can reroute DNS requests in Firefox to the proxy by setting network.proxy.socks_remote_dns to true. Maybe that will help with the network disconnects? Note that there is no UI to control this setting yet (see this FireFox bug (https://bugzilla.mozilla.org/show_bug.cgi?id=134105)). You need to set it in the about:config page.

hoopsbwc34
9th February 2009, 07:35 PM
Thanks for the good work. Once upon a time I wrote a SOCKS4 proxy for Windows 95.
I tried it out with my HTC touch connected over RNDIS to my Linux (Fedora) machine and was about to proxy requests from Firefox through the phone.

Is this a SOCKS5 or SOCKS4 proxy?
If it's a SOCKS5 proxy you can reroute DNS requests in Firefox to the proxy by setting network.proxy.socks_remote_dns to true. Maybe that will help with the network disconnects? Note that there is no UI to control this setting yet (see this FireFox bug (https://bugzilla.mozilla.org/show_bug.cgi?id=134105)). You need to set it in the about:config page.

I believe it is SOCKS5 (at least that is what I have Firefox proxy set to). I tried this config setting, but there was no noticeable improvement.

pchasco
24th February 2009, 04:02 PM
All,

I've decided not to move forward with the J2ME version of SocksProxy. I will however be writing a new .NET CF version. The current version's proxy is based on code I ported from a proxy targeted to the standard .NET framework. Some features in the standard framework are absent in the compact framework. When porting the proxy I pretty much just did it as quick and dirty as I could because I really wanted something that just got the job done. I didn't care how stable or 'good' it was because I hadn't even intended on releasing it to anyone. Since it looks like there's still a lot of interest I will be writing a new one from scratch. Don't expect too much; It'll be the simplest thing that possibly works, but it'll be stable and reliable.

I'll be naming this version SocksProxy 1.0 Reboot. I'm not upping the version number because I'm really not going to be adding any new features.

pchasco
24th February 2009, 11:42 PM
I've completed the new proxy server. It looks pretty much like the old one, but I've anchored the controls to the edges so it should scale properly with VGA devices.

I've written a new Socks 4a proxy from scratch and completed ditched all the old code. It seems to be working pretty well, though a bit slow. I think I need to increase the size of my read buffers. I will have to write a smarter heuristic for determining the size of the buffer per connection though. I have them at 128 Kb now. I need to grow each buffer dynamically according to how it's being used, that way I don't create large buffers for connections that are only transfering small amounts before closing (downloading a small gif or javascript file, for example).

I'll probably release it tomorrow after some more testing.

BTW: I'm posting this through the proxy right now!

pchasco
25th February 2009, 09:45 PM
I've completed the new version of SocksProxy. It implements socks version 4a. There is no security, so it will allow anyone to connect with any user id.

Please let me know of any issues you find.

Thanks!

kostas66
26th February 2009, 03:48 PM
I've completed the new version of SocksProxy. It implements socks version 4a. There is no security, so it will allow anyone to connect with any user id.

Please let me know of any issues you find.

Thanks!

Hi pchasco,
a "little" question:

I actually have the possibility to acess a "company APN" and, through a proxy (with account and pw) to access the internet for free...

I was wondering if, as it is now or with some modifications, your proxy program is able to authenticate (with account and pw) to an external proxy and allow all programs (ie. Weather, that actually does not updates through a proxy) to access the internet... it could be, for me, the perfect solution !

Thanks a lot !
K

pchasco
26th February 2009, 04:07 PM
Hi pchasco,
a "little" question:

I actually have the possibility to acess a "company APN" and, through a proxy (with account and pw) to access the internet for free...

I was wondering if, as it is now or with some modifications, your proxy program is able to authenticate (with account and pw) to an external proxy and allow all programs (ie. Weather, that actually does not updates through a proxy) to access the internet... it could be, for me, the perfect solution !

Thanks a lot !
K

I'm not quite sure I understand your question... Are you asking if it's possible to chain through to another proxy, or are you asking if it's possible to proxy traffic on the phone that doesn't normally support proxy through SocksProxy? The answer to both of those questions would be no. SocksProxy is a simple, no-frills proxy server.

kostas66
26th February 2009, 04:43 PM
I'm not quite sure I understand your question... Are you asking if it's possible to chain through to another proxy, or are you asking if it's possible to proxy traffic on the phone that doesn't normally support proxy through SocksProxy? The answer to both of those questions would be no. SocksProxy is a simple, no-frills proxy server.

Will try to explain better (will PM you, to avoid "spamming" your thread...).

Thanks for the reply.
K

hoopsbwc34
24th March 2009, 01:07 AM
I was able to get it installed and running here's what happened:

Wouldn't let me run because I had the wrong version of .NET CF, recommend the app tell you to download version 3.5

Wouldn't let me bring up any sites... firefox would just try to download them as application/octet-stream (tried google.com, facebook, xda-developers)

Noticed that the Kbps would spike for a second at around 1.X (in and out) then go back to 0 for 10-20 seconds, then spike again.

Let me know if there is more I can provide as far as details.

pchasco
24th March 2009, 03:34 PM
That's strange. Would you try it in IE and tell me what happens?

I believe on the original post I mentioned that you will need .NET 3.5 installed to your device to run the software. I cannot have the app tell you to install 3.5 because the app will not even load if 3.5 isn't present. It's a chicken and egg situation.

SlamTheDoor
27th March 2009, 09:03 PM
I got a lot of use out of the first version of this application but have a problem with the current version. The application crashes as soon as I try connecting through the proxy from my PC.

I have a Touch Diamond. As I said, the version of the proxy from last year has worked great for me. But this one immediately crashes when I attempt a connection. Any thoughts on why this happens?

pchasco
27th March 2009, 09:23 PM
I'm not sure what the problem is right now and I am not in a position to investigate the issue at the moment. I will look at it this weekend. I suppose it could be a concurrency issue that I didn't encounter when testing on my phone, though I am really just guessing at the moment.

jorgitobg
20th May 2009, 12:05 PM
hi,

i have the same problem than SlamTheDoor... just installed the proxy never work but allways crash with same error...

regards,

hoopsbwc34
22nd July 2009, 09:09 PM
pchasco... not sure if you are still maintaing this... but I have now tried this on Sprint's Touch and Treo Pro with the same result. Data transfers are so slow it just basically doesn't work. I did finally get a crash so I have some data that might help... here are the details:


Moblware.SocksProxy.exe
ObjectDisposedException
System.Net.Sockets.Socket
at
System.Net.Sockets.Socket.throwIfDisposed()
at
System.Net.Scokets.Socket.get_remoteEndPoint()
at
Mobleware.SocksProxy2.proxyServer.AcceptAndSpawnPr oxySession(TcpListenerlistener)
at
Mobleware.SocksProxy2.ProxyServer.Serve()


I am able to ping the proxy (192.168.0.1) with delays between 20-40ms (which by itself seems long). But data transfers crawl, and often just don't work.

Thanks.

dmwagner
25th November 2009, 11:04 PM
I get the same crashing on my TP.

Does anyone know of another app like this?

montyny
31st December 2009, 09:05 PM
I was looking forward to experimenting with this on my Ozone.

Howecver, after installing the app, when I try to start it, I get the errors captured in the screen shot.

Any ideas?

cheers - Bryan.