Well, I’m not a parent, but I have step-grandchildren.
Is it possible to stop children from accessing inappropriate content on the web?
NO! But you can make it difficult for them. One leading blacklist has over 1.5 million bad web addresses in it’s database.
One solution would be to setup a web proxy. A web proxy is something which caches your webpages. The beauty of that is that they can block inappropriate material.
Step by step, this is what I did.
- Find a computer to run it on. A Linksys NSLU2 network storage box. I selected one of these because it’s:
b. uses little power
c. wanted to see if I could remember Linux.
- Flashed a Debian Linux bootloader onto it. This took a bit of effort as the instructions were not completely correct (eg. wrong in parts). The wrong part being that static IP addresses don’t work, you should use DHCP assigned IP address.
- Installed Debian.
Note: the installer fails at the disk formatting portion. This workaround I used can be found here here.
- Installed and configured Squid Proxy.
- Configured iptables.
- Installed Dansguardian.
It worked BUT I learnt the following:
- The Linksys NSLU2 does not have enough memory to run a Web Filtering solution.
- Much which is published on Linux sites is dated.
- Different Linuxes can have different commands to do the same thing (ie. update-rc.d vs. chkconfig)
- iptables probably not needed for what I was doing.
- I suspect SquidGuard might be a better choice of content filtering software.
A parent’s guide to Linux Web filtering (the first thing I read)
note: slanted towards RedHat Linux.
Parts now incorrect: httpd_accel* parameters now replaced, with http_port ip_proxy:
Part 2 of this can be found here