squidGuard - Other Sources
Here is a guide to related documentation
happy user's squidGuard page
Prigent, Network Administrator at the University of Toulouse,
France, has written an excellent page about squidGuard in both French
and English. He
has done a neutral
comparison of known free redirectors for Squid. He also has
links to some URL/domain
lists/patterns you may find useful in conjunction with Squid
A user contributed FAQ:
An alternative FAQ by Andrea Berger
The official Squid Releases
The Squid programmers/authors original documentation on Squid's
redirector interface of the latest devel, pre and stable releases.
Pointers to Squid redirector packages and more.
official Squid FAQ:
Answers to almost all your questions about Squid are now available
in the Squid Wiki.
Pointers to even more Squid related documentation.
Useful software links
Here is a guide to more or less free software tools you may or may
Well, that is what this is all about :-)
The proxy software Squid.
Berkeley DB - The Berkeley Database library:
squidGuard requires this library. You must install at least version 2.7.7
of DB if your system does not already have it. Later versions are to be
preferred. The Berkeley Database library can be used free of
charge with squidGuard since squidGuard is GPL.
A Webmin Module for squidGuard. Thanks to Tim Niemueller.
GNU's replacement for compress:
You need gzip/gunzip/zcat
to unzip the squidGuard distribution. If you ever plan to work
with freeware for UNIX-like environments then gzip/gunzip/zcat
is a must.
Gmake - GNU make:
If you don't have a development environment with a "make"
compatible build tool and stuff listed below, then the Free Software Foundation is your
best friend. The Free Software Foundation makes free versions of
everything you need to set up a development environment for
UNIX-like systems. Besides the University of California,
Design, the free software from the Free Software Foundation is the
main reason there are things called 386bsd, NetBSD, FreeBSD,
Linux, etc. etc. Thanks to the constant open source revision and
refinement via the Internet over the years since 1983, the Free
Software Foundation in most cases makes faster, better and less
buggy reincarnations of most UNIX-like tools an libraries than the
commercial vendors do and the code runs on almost any UNIX-like
platform you can think of so you can set up a more uniform
environment on a multivendor fleet. Therefor we recommend using GNU tools wherever you can!
The GNU C Compiler:
If you don't have an ANSI C compiler then the Free Software Foundation is your
best friend. Gcc makes faster and less buggy code than many
commercial compilers and runs on almost any UNIX-like platforms
you can think of, so we recommend using it anyway unless your
commercial compiler is really clever. squidGuard is currently
developed with gcc-3.3.6.
The GNU/FSF parser generator, Bison:
- The Berkeley Yacc parser generator:
If you for some strange reason don't have a "yacc" (Yet
Another Compiler Compiler) compatible parser generator then The GNU/FSF parser
generator, (bison) and The Berkeley Yacc
parser generator (byacc) are your friends. You need yacc,
byacc or bison to compile src/sg.y into src/y.tab.c and
src/y.tab.h. Bison makes faster parsers than most commercial
versions of yacc, so we recommend using it anyway as long as its
copyright isn't a problem for you (You may not use Bison to build
commercial software). If you can't use Bison and lack yacc, use
byacc which has a more liberal copyright. (Though the parser speed
doesn't matter much for squidGuard since it is used for parsing
the config file only).
The Fast Lexical Analyzer Generator:
If you for some strange reason don't have a "lex"
compatible lexical analyzer generator then the Fast Lexical Analyzer Generator
(flex) is your friend. You need lex/flex to compile src/sg.l
into src/lex.yy.c. Flex makes faster scanners than many
(most/all?) commercial versions of lex, so we recommend using it
anyway. (Though the lexer speed doesn't matter much for squidGuard
since it is used for parsing the config file only). squidGuard is
currently developed with flex-2.5.33.
the GNU regex library:
Rx - A fast
replacement for the GNU regex library:
squidGuard must be linked with a regular expression library that
supports regcomp() and regexec(). If your system
for some strange reason don't have this the GNU regex or rx libraries may be good
alternatives. We haven't done any comparison of these libraries
yet, but have successfully linked squidGuard with both. These may
be faster than many commercial variants anyway, so you may
consider using one of them even if your system have a compatible
library. Finding a fast regular expression executer,
regexec(), may be critical for good performance if you
run squidGuard with many and/or complex regular expressions. The
performance of the regular expression compiler regcomp()
is less critical since all expression compilation is done at load
time, not when handling requests.
Apache - The most popular web server
on the Internet:
Although your redirectors could point to nonexisting URLs, it
would be a better idea in most configurations to redirect to
existing URLs. So you probably need a web server. If you don't
have a web server we strongly recommend Apache. You can
install it on the proxy server or a nearby server.
The popular all in one language:
You don't really need Perl to run squidGuard, but it comes very
handy when making CGI scripts, HTML parsers, URL collectors,
database compactors etc. etc.
Pidentd - a
free Portable Ident Daemon for Unix:
To be able to use user IDs in the
client rules definitions the actual
clients must support RFC931/RFC1413. Pidentd is
Nowadays you may find that squiguard can work well non user names even
without an identd running.
squidlog2combined is a free tool that lets you convert native
Squid accesslogs to the Apache combined log format, suitable for
log analyzers like Webalizer and others. It
has some really nice options.
Webalizer -a free web
server log file analyzer:
Webalizer is a
fast, free web server log file analysis program. It produces
highly detailed, easily configurable usage reports in HTML format,
for viewing with a standard web browser. With Squid you may find
it usefull in combination with squidlog2combined