9

It is all about being the internet boss. I want to be able to lock in or password protect the DNS settings to OpenDNS, so I can have a safe smartphone, that my kid can use with no fear of accessing pr0n or whatever.

Anybody know if this is possible? I don't want to use another method of content filtering.

5
  • 1
    Note that it is impossible to use OpenDNS to do that since you can't block the Android Market with it.
    – Arda Xi
    Sep 22, 2010 at 17:51
  • Agree with Arda here, once you have those DNS settings in place there would still be no way to limit what can be downloaded or viewed on the phone.
    – Webs
    Sep 22, 2010 at 19:54
  • There would be no way to limit what was Downloaded through the Market but it would block content otherwise. I could accept that. Sep 23, 2010 at 21:26
  • I could probably have an app to report downloaded apps thru app brain or something I think. Also if OpenDNS gets on board they could block downloads of inappropriate apps. Sep 23, 2010 at 21:36
  • A nice permanent way is shown in this XDA post: It has the following advantages: - permanent - DNS provided by DHCP are used, but with lower priority You don't need adb and vi. You can do it with Root Explorer.
    – Guest
    May 13, 2014 at 0:07

3 Answers 3

3

You can change the DNS settings in Android, but you need to root your phone first: http://blog.varunkumar.me/2010/09/how-to-change-dns-server-on-android.html.

I don't believe there is a way to password protect the DNS settings, but at least it wouldn't be obvious for them to figure out how to change the settings.

Of course, one thing you can do to at least protect your kids while they are in your home is to change the DNS settings on your router. Of course, whenever they use your carrier's data network, this won't help.

3
  • This is great. Very close to what I need. It looks like the script could work even on carrier networks, right? In the home router this is already done. (vote up requires 15 reputation) Sep 23, 2010 at 21:35
  • 1
    If you're rooted, check out SetDNS in the Market (free). It might do the job; YMMV.
    – dgw
    Aug 23, 2011 at 1:41
  • 1
    The article and SetDNS app only apply to Android versions under 4.2. For Jelly Bean and above I wrote an app which can be locked with a built in setting.
    – MaxChinni
    Dec 5, 2014 at 14:46
3

I made a similar attempt on Android 11. The closest thing to password-protecting the DNS setting that I found was to password-protect the "Settings" app altogether. My steps:

  1. Install the Lock me out: app blocker app by TEQTIC. There seem to be many apps like that, I selected that one only because of good ratings and reviews. It seems to work well and doesn't require the phone to be rooted.
  2. Set up a policy to lock the Settings app
  3. Enable password-protection in Lock me out
  4. Enable the anti-tampering options in Lock me out, so the app cannot be uninstalled without password

As a result, when user attempts to open Settings, he sees a message about lockout. If you click the message, you can temporarily disable policy, but that requires a password:

Lock me out app in action

Pros:

  • Seems to work. I can't see any way to circumvent that without knowing the password.
  • Doesn't require rooting the phone.

Cons:

  • Requires 3rd party app (the one I used is paid)
  • There is a permanent notification from the app about the lock. I'm not sure if I can hide it without breaking the reliability of the app.
  • You cannot lock just DNS settings, the granularity requires you to lock the whole Settings app.
1

When on WiFi, you can manually set IP information, Settings > Wireless & networks > Wi-Fi Settings > Menu button > Advanced. Mind you, it would be very easy for anyone to modify those settings.

As far as when connected via cellular, I do not know of any way to modify those DNS settings as they come from the carrier and the carrier's towers. I'm pretty sure they don't want their users changing DNS settings which could help them bypass certain restrictions they normally have in place.

If it was feasible, you would need to do some rooting and hacking of files (e.g. /system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf). Supposedly there are DNS files that exist and can be modified, but I wouldn't recommend going this route.

4
  • This (the carrier part) is exactly whats keeping me from getting smartphones. I want this ability so regardless where they connect I get a top-down report and content filtering. This would be useful for businesses and churches and any concerning parent out there really. Sep 23, 2010 at 21:32
  • 1
    You could try calling the carrier and asking them what filtering or content blocking they can do. Or rather than attempt to block the kids from downloading content (which doesn't always work well as kids are smart and find ways around this) have you thought about just sitting down with your kids, having a conversation with them, and educating them about the dangers and getting feedback from them? Might be easier then trying to mess around with DNS and other stuff on the phone.
    – Webs
    Sep 27, 2010 at 13:58
  • 1
    It is not just for me. I want to make this "internet boss stuff" more solid and simple in general for myself and others Oct 5, 2010 at 16:13
  • That dhcpcd file only affects the Wi-Fi connection; cellular data is unaffected by it.
    – dgw
    Aug 23, 2011 at 1:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .