Thanks for the heads up man! It would be nice of someone could modify all that for free (considering you're only gaining a few more milliseconds of your life loading pages) lulz.
Hi! The DNS is set using setprop net.dns1 x.x.x.x and setprop net.dns2 x.x.x.x.
You can run these commands in a rooted shell, but the settings are overwritten when changing from wifi to 3g and back again. I wrote setdns a couple of months ago when playing with these settings. It just resets the nameservers back to your preferred settings whenever the network settings change. I appreciate that it needs cleaning up in places.
There's also lots of scripting that can achieve the same effect. Nicely documented over here:
http://androidforums.com/optimus-m-...sader-review-transfer-speed-tweaking-app.html
I've had a look at masqed crusader. I think that one of the problems is that it relies on running dnsmasq in the background to proxy the DNS requests. It uses its own config file, which includes the ad-blocking mentioned earlier in the thread.
However, dnsmasq is also used for tethering because it provides a DHCP service and DNS proxy for connected devices. This *might* be the reason that some are finding that it breaks tethering.
I had a look at running something similar within setdns, but I couldn't reproduce any measurable difference between using, say, the google servers with a dnsmasq cache and calling it directly. I'm guessing that the Android OS caches the requests anyway, so any speed improvement is that gained by using alternative nameservers for the initial DNS request.
All that said, when I'm connected via 3G my network provider proxies all port 80 web requests (Orange UK). That means that all the DNS querying is done by Orange rather than on the phone. If your network provider does the same thing then changing DNS will make no noticeable difference whatsoever when not connected by wifi.