WebContentControl is a parental control GUI (more specifically a GUI for DansGuardian+TinyProxy+FireHol).
Official website: https://launchpad.net/webcontentcontrol
Feedback is very welcome. And help too!
Please report bugs at https://bugs.launchpad.net/webcontentcontrol
IMPORTANT: If you get blank pages for non-banned sites, see here: https://launchpad.net/webcontentcont...ouncement/4830
Please make sure you have the "universe" repository enabled.
Go to System->Administration->Software sources and check the "universe" repository.
More info: https://help.ubuntu.com/community/Repositories/Ubuntu
There are three ways to install WebContentControl:
1)Through the PPA repositories
2)From the Debian package
1)Through the PPA repositories
See here for how to add repositories:Code:deb http://ppa.launchpad.net/webcontentcontrol/webcontentcontrol/ubuntu lucid main deb-src http://ppa.launchpad.net/webcontentcontrol/webcontentcontrol/ubuntu lucid main
Add the repos by command-line:
Once you've added those repositories, just:Code:sudo add-apt-repository ppa:webcontentcontrol/webcontentcontrol sudo apt-get update
(Or use Synaptic package manager if you prefer a GUI.)Code:sudo apt-get install webcontentcontrol
2)From the Debian package
Download the latest .deb from the site and double-click on it or by command-line:
3)From sourceCode:sudo gdebi <package>.deb
Then download the latest version on https://launchpad.net/webcontentcontrol/+download and:Code:sudo apt-get install gambas2-runtime gambas2-gb-qt gambas2-gb-form gambas2-gb-form-dialog gambas2-gb-qt-kde gambas2-gb-qt-kde-html sudo apt-get install dansguardian tinyproxy firehol
The shortcut should be created in Applications->System tools.Code:tar -xzvf webcontentcontrol-1.0.tar.gz cd webcontentcontrol-1.0 ./configure && make && sudo make install
If it isn't, the command-line to launch it is:
How to uninstall it:Code:/usr/bin/webcontentcontrol
____________________________________Code:sudo make uninstall
List of filtering solutions/projects:
- WebContentControl: https://launchpad.net/webcontentcontrol
- Webstrict: http://www.ubuntume.com/webstrict + https://launchpad.net/webstrict
- GChildCare (not yet available): https://launchpad.net/gchildcare
- UbuntuCE's Parental control GUI: http://linux.softpedia.com/get/Secur...ol-24501.shtml
https://help.ubuntu.com/community/SquidGuard + http://www.squidguard.org/
- SmoothGuardian (by the creator of DansGuardian, commercial version with web-based easy to use interface): http://smoothwall.net/products/smoothguardian2008/ + http://dansguardian.org/?page=smoothwall
- MintNanny: http://www.linuxmint.com/blog/?p=350
- MoBlock, an IP blocker: http://moblock-deb.sourceforge.net/ or https://help.ubuntu.com/community/MoBlock (deprecated site: http://moblock.berlios.de/)
- TimeKpr, track and control account usage: https://launchpad.net/timekpr
- Discussion about K9 web protection GNU/Linux port: http://forums.bluecoat.com/viewtopic...=a&hilit=linux (suggested by eric.duveau)
- Mandriva Linux Parental Control: DrakGuard: http://www.mandriva.com/enterprise/e...ux-2008-spring and http://rpm.pbone.net/index.php3/stat...oarch.rpm.html
- A content filtering solution for Linux-based netbooks (proprietary): http://www.mobicip.com/online_safety/netbooks
- Gnome Nanny (under development): http://projects.gnome.org/nanny/ or https://launchpad.net/nanny
- Timedoctor, a closed-source cross-platform time-tracking solution, does not block: http://www.timedoctor.com/index.php
Related links: http://www.rescuetime.com/ (no GNU/Linux support) and http://www.timedoctor.com/blog/2010/...an-rescue-time
- OpenDNS (suggested by forger): http://www.opendns.com/
- GNU/Linux Desktop parental control based on Opendns.com by Eric Duveau: http://forums.opendns.com/comments.p...#Comment_18690
- ScrubIT: http://www.scrubit.com/
Kiosk specific (for internet cafes, etc):
- Kiosk: http://kiosk.mozdev.org/
- Lock down KDE settings: http://jriddell.org/programs/kiosk-article.html
- Lock down Gnome settings + disable virtual terminals: http://www.redhat.com/docs/manuals/e...mand-line.html
- Disable ctrl+alt+backspace: http://www.redhat.com/docs/manuals/e...f-serverf.html
- KDE Kiosk Admin Tool: http://extragear.kde.org/apps/kiosktool/
- Ubuntu server and DansGuardian for filtering public wireless access: http://www.branchdistrictlibrary.org...nsguardian.php
Firewalls and blocking MSN:
- NuFW: An authenticating firewall: http://www.nufw.org/
- How to block MSN: http://blog.eglis.com/index.php/post...e-protocol-MSN (French)
- LogProtect (Windows only, but Free/Libre Software): http://www.logprotect.fr/
- K9 Web Protection (proprietary): http://www1.k9webprotection.com/
- Time control on Windows: http://www.dougknox.com/xp/tips/xp_restrict_users.htm and http://www.builderau.com.au/program/...9282967,00.htm
- Setup without iptables: http://www.vollmar.ch/dansguardian-e.html
- Sarg - Squid Analysis Report Generator: http://sarg.sourceforge.net/sarg.php
- DansGuardian Documentation Wiki: http://contentfilter.futuragts.com/w...?id=main_index
How it works:
Note: Tinyproxy is equivalent to Squid and Firehol is equivalent to iptables (FireHol manages iptables).
- http://dansguardian.org/?page=dgflow (except that WebContentControl forces the use of the proxy through FireHol)
- http://www.zephyrsoft.net/files/linu...ring-howto.pdf (Picture inside, as well as script for mailing banned sites access attempts to someone)
If you know other projects, useful links, etc, please tell me so I can add them to the list.
FAQ, troubleshooting and tips:
- Is user-specific configuration possible?
Not yet. But you can do it manually.
It requires setting up some authentication method (so that dansguardian can identify the user).
I managed to do it using squid (webcontentcontrol uses tinyproxy instead):
See here for more info:
- If the internet doesn't work anymore or isn't filtered: Please post the contents of the following files:
and also the output of this command:Code:/etc/dansguardian/dansguardian.conf /etc/tinyproxy/tinyproxy.conf /etc/firehol/firehol.conf
Code:sudo lsof -i :8080
- If almost everything you google gets blocked: Just turn on Google safe mode again.
- Filtering not working over wireless?
1)Lock WPA interfaces by clicking on the "WPA interfaces unlocked" button.
2)Lock the firefox proxy settings from the GUI and disable/uninstall all other browsers (or lock their proxy settings to port 8080 if you know how to do it).
3)Restart FireHol after wireless has started.
- SSL not blocked?
You have to lock down the browser settings for this to work. cf explanation above.
- Dansguardian tweaking tips:
Use http://urlblacklist.com/ or http://www.shallalist.de/ (suggested by eric.duveau)
- Also, it's useful to comment out "japanese pornography" in the weightedphraselist, as well as whitelist all webmail sites in the "exceptionsitelist".
/etc/dansguardian/lists/exceptionurllist:Code:... .Include</etc/dansguardian/lists/blacklists/mail/domains> ...
/etc/dansguardian/lists/weightedphraselist:Code:... .Include</etc/dansguardian/lists/blacklists/mail/urls> ...
...because some valid sites tend to get blocked by it due to some strange encoding problems.Code:... ##.Include</etc/dansguardian/lists/phraselists/pornography/weighted_japanese> #ALPHA# ...
- Don't forget to prevent getting any filesharing program (or configure your firewall to block ports):
/etc/dansguardian/lists/bannedurllist:Code:... .Include</etc/dansguardian/lists/blacklists/filesharing/domains> ...
An interface to select categories from the blacklists directory is planned.Code:... .Include</etc/dansguardian/lists/blacklists/filesharing/urls> ...
- How to disable X11 forwarding in openssh:
I created a patch for this, which you can get here: http://bazaar.launchpad.net/%7Ezohn-...sableX11.patch
Download openssh-5.2p1.tar.gz from http://www.openssh.com/
Code:tar -xzvf openssh-5.2p1.tar.gz cd openssh-5.2p1 patch -p2 < ../openssh-5.2p1_disableX11.patch ./configure make sudo make install
- Using a custom proxy (like squid):
I added the possibility to disable filtering configuration during install, as well as choose a custom proxy!
Just do the following to use squid instead of tinyproxy:
For now you'll have to configure the .conf files yourself of course.Code:bzr branch lp:webcontentcontrol cd webcontentcontrol ./configure --with-proxy=squid --disable-config && make && sudo make install
But at least, you'll be able to use the GUI to start/stop the filtering and open the .conf files.
Setting ports will probably not work correctly since it was made for tinyproxy.conf.
Please let me know how it works and also post your squid.conf, so I can adapt the install process for it (if you want to have a go at it yourself, look at WCCDIR/scripts/install.sh).
If it works, I'll make a quick release of it.
The rest of this post should now hopefully be unnecessary.
If you want to set up such a system manually without the GUI, here's a very helpful guide which also explains how it works:
I started uploading my code to launchpad for version control (&bug reports+ distribution):
I also joined the GChildCare project and plan to help it. So this is only a project to get a working GUI quickly up and running.
Until this is the case, please follow the instructions below.
This "Howto" is an updated version of this one:
Downloads are at the bottom of this post.
Note: WebContentControl.tar.gz is meant for developers and contains the source code of a new GUI I'm working on.
The original GUI was made by nanomad. I just made a few changes so that it should work "out of the box".
I created a new thread because nanomad stopped updating the other one.
If you still encounter problems, please tell me.
Note:Here is a simple (but powerful) install script for a parental control feature
It is based on tinyproxy + firehol + dansguardian.
Download the attached archive, extract it and run the script (2x click or from a terminal) (There are a couple of hidden files and folder too in the archive)
It will d/l, install and configure all you need + install a GUI created by me to configure everything (it is located under System --> Administration)
Another parental control GUI is available from Ubuntu ME here:
However, it is browser dependent, meaning that it will only work with properly configured browsers. In other words, it can easily be bypassed by using another browser or changing the browser config if it isn't locked.
An easy way to fix this is installing firehol. However, it is then also necessary to configure it correctly...
If I have time, I might try using their nice GUI with the browser-independent system from the one given here.
For Hardy and later versions:
gambas-runtime has been replaced by gambas2-runtime, so until the GUI is made compatible with the new version, you may download&install the old gambas-runtime here:
Troubleshooting: If you are having problems:
1)Please post the console output of the installation process (just rerun the installation and copy/paste the output before closing the terminal window)
An easier way to do this (until I add automatic log creation ):
For installation problems:
For uninstallation problems:Code:./.setup 1>install.log 2>&1
2)If the GUI won't launch: post the output of the following command:Code:./.remove 1>uninstall.log 2>&1