NET::IPFilter - Perl extension for Accessing eMule / Bittorrent IPFilter.dat Files and checking a given IP against this ipfilter.dat IP Range. IT uses conversion from IP to long integers in Perl and afterwards compairing these long integer ranges against the calculated number of the given IP

- NAME
- SYNOPSIS
- DESCRIPTION

- DEPENDENCIE
- EXPORT

- SEE ALSO TORRENT
- AUTHOR
- COPYRIGHT AND LICENSE

# NAME

NET::IPFilter - Perl extension for Accessing eMule / Bittorrent IPFilter.dat Files and checking a given IP against this ipfilter.dat IP Range. IT uses conversion from IP to long integers in Perl and afterwards compairing these long integer ranges against the calculated number of the given IP

Warning: Please Update your Sources. Current Version fixed a very critical bug that prevents Program from working correctly.

# SYNOPSIS

      use NET::IPFilter;

     my $ipfilter = '/home/user/files/ipfilter.dat';
     my $IP = "3.3.19.81"; # :)

     my $obj = NET::IPFilter->new(  ipfilter        => $ipfilter,
                                    tmpdir          => '/var/tmp',
                                    force_init      => '0'
    );

     my $isValid    = $obj->isValid($IP);   #  1 not to be blocked | 0 to be blocked
    print $isValid;

# DESCRIPTION

my $obj = NET::IPFilter->new( | ipfilter | => $ipfilter,
| tmpdir | => '/var/tmp',
| force_init | => '0'
);

ipfilter can be an absolute file in the filesystem or an uri. the uri filename can be a normal textfile or a gzip compressed file

tmpdir classifies a folder where to store some temporary files

force_init can be 0 or 1 where 1 means that all files are downloaded again ( if uri is an http-link )

This current version is intended to be used on Linux/Unix OS System. My new Version NET::IPFilterSimple will be usable for both Linux/Unix and Windows. As i have no solaris or MAC i dont know how to fix the module to bring it to life on that mashines

## DEPENDENCIE

use Carp; use strict; use 5.008008; use HTTP::Request; use LWP::UserAgent; use Compress::Zlib; use Fcntl ':flock';

## EXPORT

            beautifyRawIPfromIPFilter - this function beautifies ips in the form of 222.223.208.000 to 222.223.208.0 - not used in programm

            readIPFilterFile - this is the function that reads and simply preparses the ipfilter.dat file

            httpGetStore - function that downloads the ipfilter.dat file if the uri is an http link

            _ip2long - transfers an ip to a long var ( in perl its a long integer )

            _long2ip - transfers an long integer back to an ip adress - not used in programm

            isValid - checks a given ip against the ipfilter.dat file

            gunzip - uncompression of an gzipped/zipped ipfilter.dat file in the form of ipfilter.dat.gz

            _init - initialising functions

# SEE ALSO TORRENT

eMule | BitTorrent | Torrent Sites using ipfilter.dat perl modules

http://www.zoozle.net

http://www.zoozle.org

http://www.zoozle.biz

http://search.cpan.org/author/SENGER/

NET::IPFilterSimple

# AUTHOR

Sebastian Enger, bigfish82 |ät! gmail?com

# COPYRIGHT AND LICENSE

Copyright (C) 2008 by Sebastian Enger

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

If you find an algorithm that is faster then mine than please send it to my email address.

Currently i am going to release a module NET::IPFilterSimple that i hope is some ms faster than NET::IPFilter =cut