Icap filtering server
c-icap [ -f config-file ] [ -N ] [ -d debug-level ] [ -D ]
c-icap is an implementation of an ICAP server. It can be used with HTTP proxies that support the ICAP protocol. Most of the comercial HTTP proxies must support ICAP pcotocol.
Specify the configuration file
Do not run as daemon
Specify the debug level
Print debug info to stdout
/etc/c-icap/c-icap.conf
The main configuration file
/etc/c-icap/c-icap.magic
In this file defined the types of files and the groups of file types.
/var/run/c-icap.pid
By default c-icap writes its pid in this file. The path of this file can changed using the PidFile configuration parameter in the c-icap.conf file
/var/run/c-icap.ctl
The commands socket. This file used to send commands to the icap server from command line. For information about implemented commands look below in the "Implemented commands" sub-section
Currently the following commands are implemented:
The c-icap will shutdown
The service will reread the config file without the need to stop and restart the c-icap server. The services will be reinitialized
This command causes c-icap to close and reopen the log files. This is very useful for log rotation.
Services and modules can define their own commands.
Examples:
echo -n "reconfigure" > /var/run/c-icap.ctl
mv /var/log/c-icap/access.log /var/log/c-icap/access.log.1 echo -n "relog" > /var/run/c-icap.ctl
Lookup tables are simple read-only databases. A lookup table can defined in c-icap.conf file using the form: type:path where the type is the type of lookup table and path is the extra information required to use the table (e.g. file path). Currently the following lookup table types defined internally by c-icap:
Simple text file databases. The database records are stored in text files in the form:
key[: value1, value2 ...]
file:/path/to/the/file.txt
Similar to file lookup tables but c-icap uses fast hashes for searching.
hash:/path/to/the/file.txt
Similar to the file lookup tables but the keys are regular expressions in the form /regex/flags where flags are 'i' to ignore case or nothing.
/^[a-m].*/i: group1
/^[n-z].*/i: group2
regex:/path/to/the/file.txt
Someone can retrieve runtime information using the info service. The information includes bytes received and transmited, active services, information about service usage and many other. The information provided in HTML and text format.
Example:
c-icap-client -i localhost -s "info?view=text" -req "a_url"
Many...
Tsantilas Christos