#!/bin/sh # blocklist p2p url='http://list.iblocklist.com/?list=bt_level1&fileformat=cidr&ar' db=/etc/pf_p2p_ # fetch db ftp -o - "$url" | zcat - | grep "^[0-9]" >> $db chmod 600 $db sort -o $db -u $db rm -rf /tmp/p2p # feed pf wdir=$(mktemp) rm -rf $wdir mkdir $wdir chmod 700 $wdir cd $wdir rm $wdir/p2p* 2>/dev/null split -l 10000 $db p2p pfctl -t p2p -T flush ls p2p* | xargs -n1 pfctl -t p2p -T add -f rm $wdir/p2p* cd /tmp rmdir $wdir # expiring flood entries pfctl -t flood -T expire 86400