#!/usr/local/bin/perl my $url='http://list.iblocklist.com/?list=bt_level1&fileformat=cidr&ar' ; my $count = 0; my $ip = ""; my ($deleted,undef) = split(/ /,`pfctl -t p2p -T flush 2>&1`); foreach my $el (`ftp -o - "$url" 2>/dev/null | zcat - | grep "^[0-9]" | sort -u`) { chomp($el); $ip = $ip . " " . $el ; $count++; if($count == 10000) { `pfctl -t p2p -T add $ip 2>&1`; $count = 0; $ip = "" ; } } $total += $count; `echo $ip | pfctl -t p2p -T add -f - 2>&1`; my ($added,undef) = split(/ /,`pfctl -t p2p -T show|wc -l | tr -d ' '`); chomp($added,$deleted); my $diff = $added - $deleted ; if($diff == 0) { print "$added addresses (inchange).\n"; exit(); } if($diff > 0) { $diff = "+" . $diff ; } print "$added addresses ($diff).\n"; # fin