■面白かったので、ちょっと作ってみた。
作っておいてアレですが、Squeezeにはサンプルが付属しているので、そちらを使うことをお勧めします。
私の場合、どのURLをブロックしたのか見れないのは困る。
もっとシンプルに必要最小限な表示が欲しいと思ったので、
出来るだけURLが上に来るよう順序も考慮しました。。。
$ ls /usr/share/doc/squidguard/examples/*cgi.gz
/usr/share/doc/squidguard/examples/squidGuard-simple-de.cgi.gz
/usr/share/doc/squidguard/examples/squidGuard-simple.cgi.gz
/usr/share/doc/squidguard/examples/squidGuard.cgi.gz
■クエリの順序をURLを先、クライアントIPを後にする。
固定することになって後で面倒になるので、bash/CGI側ではやりません。
$ sudo grep "redirect http" /etc/squid/squidGuard.conf | grep -v "#" | sed s/"^\t*"//g
redirect http://localhost/cgi-bin/squidGuard.cgi?url=%u&clientaddr=%a
■bash/CGIを設置。
cgi-bin配下に。Squeezeのデフォルトは「/usr/lib/cgi-bin」
URIエンコードして、デコードしている無駄な箇所がありますが、一応。。。
セキュリティ上、余り色んな加工をしようと思わない方が良い。
※bash/CGIはローカル環境内で収まっているべき。
$ w3m -dump https://raw.github.com/labunix/snort_log/master/squidGuard.cgi
cat << EOS1
Content-Type: text/html
<html><head><title>302 Access Denied</title></head>
<body>
<br/>
<table border="0">
<tr>
<td>Status</td>
<td>302 Access Denied</td>
</tr>
<tr>
<td>From</td>
<td>
EOS1
echo "${QUERY_STRING}" | \
nkf -wMQ | tr '=' '%' | \
tr '%' '=' | nkf -WwmQ | \
sed s/"\="/"\:"/g | sed s/"\&"/"<br\/>"/g
cat << EOS2
</td>
</tr>
<tr>
<td>Browser</td>
<td>${HTTP_USER_AGENT}</td>
</tr>
</table>
<br/>
</body>
</html>
EOS2
■以下のように表示されます。
$ sudo grep doubleclick.com /var/lib/squidguard/db/ads/domains
doubleclick.com
$ sudo grep pass /etc/squid/squidGuard.conf | grep -v "#" | grep "\!ads" > /dev/null 2>&1 && echo "ok"
ok
$ w3m -dump http://doubleclick.com/
Status 302 Access Denied
From url:http://doubleclick.com/
clientaddr:192.168.1.88
Browser w3m/0.5.2+cvs-1.1027
■Windows/Chromeからの場合
> chrome http://doubleclick.com/
Status 302 Access Denied
To/From url:http://doubleclick.com/
clientaddr:192.168.188.155
Browser Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.83 Safari/537.1
■Windows/Firefoxからの場合
> firefox http://doubleclick.com/
Status 302 Access Denied
From url:http://doubleclick.com/
clientaddr:192.168.1.55
Browser Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1