What is dansguardian?
DansGuardian is an award winning Open Source web content filter which currently runs on Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, HP-UX, and Solaris. It filters the actual content of pages based on many methods including phrase matching, PICS filtering and URL filtering. It does not purely filter based on a banned list of sites like lesser totally commercial filters.
DansGuardian is designed to be completely flexible and allows you to tailor the filtering to your exact needs. It can be as draconian or as unobstructive as you want. The default settings are geared towards what a primary school might want but DansGuardian puts you in control of what you want to block.
DansGuardian is a true web content filter.
Where to download?
Startup script can be taken from [source dir]/data/scripts/systemv-init. Copy it to init.d:
~#cp systemv-init /etc/init.d/dansguardian
Run chkconfig to make it start across booting properly:
~#chkconfig --add dansguardian
~#chkconfig --level 35 dansguardian on
Note: For Fedora users, you may need to use /sbin/chkconfig instead of chkconfig.
How to upgrade?
1. Download the latest source code.
2. Extract it: tar xzvf dansguardian-188.8.131.52.tar.gz
3. cd into the source dir.
4. configure : ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-clamd=yes
5. Run make : make
6. Install : make install
The main configuration file for dansguardian is /etc/dansguardian/dansguardian.conf. It is heavily documented. Tkae your time to read the comments in there before modifying. Below is the most important directives to be modified (example):
filter_ip = 192.168.5.2
filter_port = 3128
proxy_ip = 127.0.0.1
Note: 192.168.5.2 is the IP which dansguardian will listen on. If left empty, it will listen on all IPs. For increase security, please state IP(s) that it needs to listen on. filter_port is the port it will bind to. proxy _ip is the ip where the proxy server (daemon, e.g squid) listens on. Note that you must run proxy server before running dansguardian or it will fail to start.
Integration with antivirus
contentscanner = '/etc/dansguardian/contentscanners/clamdscan.conf'
In this file, change clamdudsfile like this :
clamdudsfile = '/tmp/clamd'
/tmp/clamd is the socket file for my clamav daemon (clamd). Change it accordingly.