I know this is an old question, but I had a hell of a time undoing my proxy hack so I figured I'd share.
I passed permissions to the device using ADB that would let me change the values to my proxy settings with my own custom application.
The problem is once I used my app with
Settings.Secure.putString(getContentResolver(), Settings.Secure.HTTP_PROXY, "127.0.0.1:8007");
It wouldn't let me set it back to default (No Proxy) no matter what I tried (null, blank, "NONE") basically if I wasn't connected through the proxy it wouldn't talk to the outside world. Even after restart.
SOLUTION I FOUND:
These settings are stored in a SQL database so when the phone restarts it applies them. You just need to go into the database and delete these rows from the table. What I did:
~user$ adb shell
shell@cinco:/ $ su -
FYI...Not sure if you need super user but it can't hurt right . . .
root@cinco:/ $ sqlite3 /data/data/com.android.providers.settings/databases/settings.db
you can see the full list of what's in the global table by doing:
sqlite> select * from global;
in the list you should be able to see the values you wrote in for http_proxy, global_http_proxy_host, and global_http_proxy_port, maybe you know what magic values to set these to so that it works properly, but I do not... my solution, just delete them:
sqlite> delete from global where name="global_http_proxy_host";
sqlite> delete from global where name="global_http_proxy_port";
sqlite> delete from global where name="http_proxy";
restart the phone and like magic there is no more proxy and I get the interwebs!!