Sunday, January 29, 2012

Issue 1273: the android proxy problem explained to users and developers

Hi guys! 

Have you already set the proxy in your favourite Android device? If you still have some problems, maybe I can give you some help. But first of all let's make the presentations! 
I'm LeChuck, I'm a developer, I love coding and I love Android. I'm not English, and I'm not a great writer, so please be patient. I want to thank the host of this blog to let me introduce you my little project (a Blog and some tools for Android such applications for end users and a library for developers). What's the main purpose of these things? Why did I chose to start this project? Simple! An annoying bug.. Can you believe it? Yes, only one single bug that has a sinister and frightening name:

What does it mean? In few words, that on Android you can't setup an HTTP proxy for Wi-Fi networks. Google partially solved this problem starting from the 3.1 version but our favourite OS still lacks the support for authenticated proxies. 
As you can see from the Current Distribution of platform versions more than 95% of devices lacks of native support for HTTP proxy for Wi-Fi networks.


Why is this bug so annoying? Because, as you will discover reading my blog, it could seems so easy to solve it, but no one ever found a simple solution to do it. A solution that doesn't need to root your new phone, or complicated operations to be executed by a normal user without a background in computer science. If you think that this problem isn't a big deal, here you can find thousands of people that think like me: http://code.google.com/p/android/issues/detail?id=1273.

At this point one big question can be legitimate, why Google never solve this issue completely? I'll try to involve some developers, talk to some Googlers and also with your help, I hope we can find all together an answer to this question.
As you will discover reading my blog, the lacks of the possibility to set the proxy settings for and Android device can be overcome using some shortcuts. The main problem here is that we (all users!) need to ask to developers to use these settings in our favourite applications. Because what some developers need to understand is that the users want their phone to connect to Internet through their HTTP proxy server in a snap! They want all the applications that they installed on their phone to be able to connect through the proxy server, without setting for each application the proxy settings. They want the applications (or the system) to do the job in a transparent way (and they also don't know what transparency means in computer science!!!). Oh! I was forgetting.. 

The most obvious thing: they don't want to root their phone! 

In fact I would say that more than 75% of the android users still don't know what means rooting a phone. A normal user doesn't want to root his phone. A normal user want his phone to simply work, in any condition, in any place. A normal user sometimes can claim too much from his phone (I'm sorry it still doesn't prepare your favourite flavour of tea), but as a developers we have to work to provide to a normal user an easy and fast way to do everything with his phone. It's our job. It's what we are paid for. So please, stop asking a normal user to root his phone! They don't want to do it. They don't know how to do it. They don't know what means rooting!

So, what can developers do? They can start using the Android Proxy Library I'm working on, using it in their applications to easily support the proxy. 
And what can end users do? Directly ask to the developers to support the proxy settings in their favourite applications!

In the meantime I'm working on an application that will let to overcome the lack of support to authenticated proxies, so stay tuned!

If you are interested you can find more informations here: http://issue1273.blogspot.com/

Saturday, January 14, 2012

How to make Proxy work in LG P500

First of all, sorry for not updating this blog for a long time. I was busy with other works and thanks to the emails and comments that came to me asking how to use proxy on other android phones like LG P500. Sadly, this phone doesn't come with an in-built android proxy app like some of the Samsung phones (Galaxy, Galaxy S2) and hence this post is directed towards anyone using LG P500.  

Note:- This is tested in LG P500 and it works. If you want to try it in other phone do it at your own risk

Follow these steps to enjoy proxy support in LG P500 and it works both for un-authenticated and authenticated proxy.
  1. You need Opera to make this work. So download the latest one using this link 
  2. Open Opera browser and type Opera:config and now the config screen opens.
  3. Now you should scroll down until you see the proxy section. 
  4. There is a sub-menu where you will see the HTTP server and HTTP servers 
  5. Enter your proxy value in the boxes. Make sure to enter the details in both the HTTP server and HTTP servers otherwise the proxy will not work. I don't want to go behind the technical aspect of why this should be done. Just make sure to fill them both without fail. 
  6. Now check the boxes Use HTTP and Use HTTPS. Again check them both without fail for the proxy to work. 
  7. Save the sub-menu and exit out of the Opera screen 
  8. Restart the Opera and now Proxy will work definitely. 
  9. If you proxy has an authentication a window will pop-up when you run the opera asking for the username and pass. Just fill it to make the proxy work.  

Now coming to another important detail, while using this setting make sure to have another browser installed for using in non-proxy wifi, as your configured opera browser will not work. If you have any queries don't hesitate to comment here.

Here is a step by step screen shot of how to do it :)





Tuesday, March 29, 2011

The MIUI ROM : Proxy Support Included

I rooted my Android phone the very next day after purchasing it. Ok. I'm lying. :D. I rooted it about a week afterwards. Initially, I was kinda hesitant given all the hype that surrounded the rooting process. Now, with the proliferation of unrevoked ( if you don't know what unrevoked is, well, google it ), it's become much more simple. I began flashing roms like it was nobody's business. I was browsing through XDA all the time and I literally needed to get a life.:D. I tried out several roms and out of the lot, OpenDesire and CyanogenMod proved to be my favorites. One of the main reasons being the inbuilt proxy support that they brought along with them.

Now, every ROM has its pros and cons. If you look at OpenDesire, it's battery life is unmatched. If you look at CM, its feature set is awesome. Recently, a group of Chinese programmers released a custom ROM named MIUI ( I think this was back in December 2010 ) and several others have used this ROM as the base and built their modifications on top of it.One such ROM is the MIUI AU ROM. I flashed it on my phone a few days back and I must say, It is unbelievable.

The UI is probably the best part. Though it is very reminiscent of the iPhone UI, it is a good and refreshing change from the usual android UIs that I've been using until now. The developers have given a completely revamped look and it is over-the-top. It has nearly every conceivable feature inbuilt. I usually used to install a whole horde of third party apps on earlier roms to get these functionalities. However, this one has most of the stuff inbuilt so there's not much to worry about.

The only hassle about the MIUI ROM that amateurs might face is the preparation that is required to install it. You have to set up your SD card to support A2SD+ and that requires a little work to be done. Once you've done that, you can just load and flash the zip file from the SD card as you would usually. And before you ask, yes. It does have proxy support.:D

For those of you who are interested, check out the MIUI-AU website. The instructions that they have posted on the website are as detailed as detailed can get. So you should have no problems setting it up. One more thing. Don't get fooled by the screenshots in the MIUI website. The actual ROM looks much better. I don't understand why the developers won't put in better screens on the website. It certainly would attract a much wider audience.

And as always, if you have any questions, feel free to leave comments below!

Saturday, March 26, 2011

TransProxy: Android Proxy App


Alright people. There's this app called Transproxy which seems to be a viable solution to the proxy problem. Now, I am not sure if it will work with all your android phones out there. But from what I've tested, it works just fine. I do my testing on an HTC Desire btw. Like always, I tested it in a network where internet access is through a proxy server, but without authentication. So if someone could check this out on an authentication based proxy network, it would be real helpful!



There's not much to making this work. You just install it and when you run the app, you'll see the above screen. Just enter the details and let it run. It's as simple as that. Even n00bs will find this one easy to work with.:D
Please comment and let me know if this app works for you. If not, well I'll give you some other suggestions.

Thursday, March 24, 2011

ASProxy: Android Proxy App

Android proxy apps are probably the fastest growing kind in the android app scene. It seems weird that Google has not yet incorporated proxy settings into the official android releases. Nevertheless, given the hacker friendly nature of Android, some developers have come out with solutions for this. I have written earlier about proxy solutions for android. I came across this one quite some time back. However, I've had a terrible amount of work at hand and did not find time to update the blog until today!

This one isn't too hard to configure. To make it easier for you guys, I am attaching snapshots here to give you a brief idea about what ASProxy is capable of.

I've tested this in a proxy network and it works just fine. However, the thing is, the network where I tested it did not have authentication enforcements. So if anyone out there could test ASProxy in a username/password enable proxy network, it would help all of us! Installation is very straight-forward. Just install the apk and run the app. You'll see the screens that are shown below. Alright. No more dilly-dallying. Check out the snapshots below!





So as you can see, all you have to do it go to options and enter the proxy details. Then hit the big pink button to start up the proxy app and voila! What's great about this app is that it's not just a browser proxy app. You can use other apps such as gtalk, market etc. Such a feature is not available in all android proxy apps out there. So this one is a cut above the rest.
Do comment if you guys face any problems. Let's see how best we can handle it!

Tuesday, September 7, 2010

Proxy Settings Android Application

Instead of changing the Rom to set proxy as I mentioned in the first post here is the application to make the proxy work in your Android phones.Still you have to root the phone.Rooting can be done using a single click as described in the tutorial in my previous post.

Here is the link to the application.

I have tested this applications with various ROMS,various Android phones and it works very well with proxy as long as it is a http/http(s) proxy...I can browse webpages,use google maps,look at Android Market using the Appbrain application.Make sure to run this application and key in these details :

Proxy Host:-

Proxy Port:- (already set to 8080 by default)

Enjoy using the Android Proxy Settings Application...Make sure to share your comments...I will be posting further updates on this in the blog.So stay tuned!!

Friday, August 27, 2010

A step-by-step guide to set up proxy in Android mobiles




Are you a proud owner of one of the Android mobiles- Nexusone, HTC desire, Droid, Galaxy, etc? Or are you still on the search to see if Android mobiles are really worth all the hype? Then, our say would be “Android is one of the amazing cutting edge technologies of today which has features that no mobile ever can imagine”. Be it the flexibility in customization or the speed and power, Android phones rock.


One such speciality is that you can run any and every website that can be run on a computer owing to the HTML5 compatibility. Which means that you can surf, mail, chat upload and do wonders with your pocket-sized Android mobile! But the million dollar question is HOW TO ENABLE PROXY SETTING FOR THE ANDROID PHONE EASILY

Today most colleges and workplaces are wifi enabled with a local proxy configuration. It is quite obvious that the wireless network can be used for net access only with the proxy enabled. To enable proxy settings you’ll have to install custom ROM and for that ROOTING is essential. Tracking how to do that can be a cumbersome task. And that's where we come to help you do it quickly and easily. Read on !!!




ALL YOU NEED TO DO

  • Root your android mobile

  • Install custom ROM (Open Desire)

  • Set the proxy for the wireless network followed by Orbot installation
ROOTING ANDROID MOBILE (For Windows users)

REQUIREMENTS

Unrevoked3 for Windows – download here
PREPARING YOUR MOBILE



  1. Incase you have already installed HTC Sync, uninstall it.

  2. Install the hboot driver following these steps. Note: Though the steps given in the link.

  3. Reinstall HTC Sync.

  4. You would have downloaded a file called reflash-bundle.exe. Double click it.

  5. It will ask you to specify the download destination. Give a rememberable location.
ROOTING
  1. Go to the place where you installed Unrevoked.
  2. Ensure that “USB DEBUGGING” option is turned on.
  3. Select SETTINGS-"APPLICATION-DEVELOPMENT "on your Android mobile.
  4. Conect your android phone to computer through USB.
  5. Run reflash.
  6. It may take some time. Meanwhile your phone is rooted automatically.
  7. The operation has successfully if you don’t get stuck up anywhere in the middle.
  8. And at the end of all this, your phone is rooted !!!
POST-ROOTING TASKS

Once the rooting process is completed successfully, HTC Sync can be installed again.So, Finally, your android mobile is rooted and you will be in the “Recovery mode”.
Just restart your mobile in the “Normal mode” and boom !!! you have the root permissions !!!

ROOTING ANDROID MOBILE (For LINUX Users)

REQUIREMENTS


  1. A blank cd
  2. A CD/DVD writer installed with a good software to burn with. (Don’t have a burner? Try this software )
  3. A Linux Live CD (Don’t have? Try Slax)
  4. If on a wireless network, Download “Unrevoked” for Linux and copy it onto a USB stick or your phone’s SD card.
STEPS
  1. Burn your Linux Live CD to your blank CD using the burner.
  2. Put the burnt CD in the CD drive and restart the system.
  3. Your CD should start booting. If not, change the boot sequence and make your CD to boot before your hard drive.
  4. You will see Slax start screen. Select “Slax Graphics Mode (KDE)“.Wait for it to load.
  5. The Slax desktop opens. Start Firefox using the icon in the taskbar at the bottom, and go to: http://unrevoked.com/.
  6. Select the name of your Android mobile, click “Unrevoked3″ and select “Download for Linux”. Click Save when prompted.
  7. If you are on a wireless network just copy the “Unrevoked” software that you previously put in your USB drive or SD card to the Desktop.
  8. Extract the downloaded file. (Detailed steps given below)
  9. On your android phone, select Settings->Applications->Development and check if “USB Debugging” Option is turned on.
  10. Connect your mobile to the USB cable.
  11. Run “Unrevoked”(reflash) and rest while it automatically roots your mobile.
  12. If you finally see a “success” message you know that you have a rooted phone now!!!
HOW TO EXTRACT THE FILE DOWNLOADED FROM FIREFOX

  1. Close any opened windows. Go to Slax Desktop.
  2. Double-click the HOME icon on the Desktop- click Downloads.
  3. Right-click reflash.tar.gz and select Preview in Archiver
  4. In the window that opens right click the file, and select “Extract”
  5. When it asks you to select a location, click the Folder icon next the text box (named root) and select Downloads
  6. Click OK.
POST ROOTING TASKS
Once the rooting process is completed successfully, HTC Sync can be installed again.So, Finally, your android mobile is rooted and you will be in the “Recovery mode”.
Just restart your mobile in the “Normal mode” and boom !!! you have the root permissions !!!

WHAT ALL CAN I DO WITH A ROOTED PHONE???

You can
    • run any application that requires ROOT permission like


          • Shootme (allows you to take screen shots)

          • Titanium Backup(back up all apps and apps data)

    • install custom ROMS like the leaked versions of Froyo which aids you to enable proxy , our ultimate aim!!!

    • install custom themes and Bootscreen .

    • install all your applications in the memory card rather than in the phone.
ALL U NEED TO DO


  • Root your android mobile

  • Install custom ROM (Open Desire)

  • Set the proxy for the wireless network followed by Orbot installation
The next step is installing Custom Rom that supports proxy connection. One such Rom is Open Desire I will be talking exclusively on how to install the Rom following that will describe on how to use the proxy settings. You need to install Rom Manager to install Rom without any problem

STEPS TO INSTALL A ROM
  1. Take a backup of all data and application. This is very important.
  2. There is an option to do it with ease in ROM Manager called “Backup current ROM”.
  3. Download the ROM file from the post on XDA. Some custom ROMs like the HTC Sense Froyo need a radio file. If so, then download that file too.
  4. Connect the Android mobile to your system in the Disk Drive mode.
  5. Copy the downloaded ROM file( compulsorily zipped) and a radio file (if needed) into the SD card.
  6. Unmount the phone.
  7. Eject the SD card and change the phone mode to “Charge Only”.
  8. Reboot the mobile into in Recovery mode.
    • STEPS TO REBOOT
    1. If you have installed ROM Manager, choose “reboot into Recovery” option.
    2. Else if you have installed adb, just open Command Prompt/Terminal and enter the command: adb shell reboot recovery.
    3. Else Turn off your phone->Hold Volume Down key->select Recovery by pressing Power button.
  1. Now you will be in the Recovery mode.
  2. Select the zip file (ROM file)from the SD card and install it.
  3. Specify which ROM you wish to install from the given list.
  4. Once the ROM is installed, keep pressing the back button until you reach the start screen of Clockwork Recovery.
  5. Reboot the system now.

NOTE: If the ROM installation need a new radio installation to complete, check if there is any specific steps in the ROM topic, if not , repeat steps 9-12, but select the zipped radio file instead of the zipped ROM file in step 11.

15. The phone will automatically restart and attempt to boot in the custom ROM.

ABOUT OpenDesire


OpenDesire was made with made purely for the HTC Desire and is compiled from a variety of public repositories, OpenDesire is NOT a port of any HTC ROM, it is compiled from source purely with the exception of the Google Apps for which the source code is not publicised.

OpenDesire was built with stability and reliability in mind and therefore does not contain any additional applications. Since version 3.x some community maintained repositories from CyanogenMod have been included in the release.

FEATURES

  • Built 100% from source (with the exception of Google Apps)

  • 2.6.34.x kernel

  • Google Apps

  • Superuser by ChainsDD

  • Legacy A2SD with Cache2SD

  • Busybox

  • 720p camcorder support

  • FLAC / WMA / WMV media support

  • Deodexed & Zipaligned

  • many more mods/tweaks & hacks

ALL U NEED TO DO

Root your android mobile
Install custom ROM (Open Desire)
Set the proxy for the wireless network from settings followed by Orbot installation.

Here are some of the pictures showing the proxy settings in my phone..


















Once all these settings are done you can browse internet via proxy through the browser.To enable using the applications via proxy Orbot installation is necessary.





Orbot:-
Install Orbot to enable using all applications via proxy settings!!
Orbot is an application that allows mobile phone users to access the web, instant messaging and email without being monitored or blocked by their mobile internet service provider. Orbot brings the features and functionality of Tor to the Android mobile operating system.
Orbot contains Tor, libevent and privoxy. Orbot provides a local HTTP proxy and the standard SOCKS4A/SOCKS5 proxy interfaces into the Tor network. Orbot has the ability to transparently torify all of the TCP traffic on your Android device when it has the correct permissions.
Orbot can be installed from android market.
I will be adding more details to the guide in future...Please post your queries,doubts in the comments section...I will try to answer them!!