NAME
IP::Country::DB_File::Builder - Build an IP address to country code database
VERSION
version 3.03
SYNOPSIS
use IP::Country::DB_File::Builder;
IP::Country::DB_File::Builder->fetch_files();
my $builder = IP::Country::DB_File::Builder->new('ipcc.db');
$builder->build();
IP::Country::DB_File::Builder->remove_files();
DESCRIPTION
This module builds the database used to lookup country codes from IP addresses with IP::Country::DB_File.
The database is built from the publically available statistics files of the Regional Internet Registries. Currently, the files are downloaded from the following hard-coded locations:
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest
ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-extended-latest
ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest
ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest
You can build the database directly from Perl, or by calling the build_ipcc.pl
command. Since the country code data changes occasionally, you should consider updating the database from time to time. You can also use a database built on a different machine as long as the libdb versions are compatible.
CONSTRUCTOR
new
my $builder = IP::Country::DB_File::Builder->new( [$db_file] );
Creates a new builder object and the database file $db_file. $db_file defaults to ipcc.db. The database file is truncated if it already exists.
METHODS
build
$builder->build( [$dir] );
Builds a database from the statistics files in directory $dir. $dir defaults to the current directory.
num_ranges_v4
my $num = $builder->num_ranges_v4;
Return the number of (possibly merged) IPv4 address ranges with country codes after a database build.
num_ranges_v6
my $num = $builder->num_ranges_v6;
Return the number of (possibly merged) IPv6 address ranges with country codes after a database build.
num_addresses_v4
my $num = $builder->num_addresses_v4;
Return the number of IPv4 addresses with country codes after a database build.
CLASS METHODS
fetch_files
IP::Country::DB_File::Builder->fetch_files( [$dir] );
Fetches the statistics files from the FTP servers of the RIRs and stores them in $dir. $dir defaults to the current directory.
This function only fetches files and doesn't build the database yet.
remove_files
IP::Country::DB_File::Builder->remove_files( [$dir] );
Deletes the previously fetched statistics files in $dir. $dir defaults to the current directory.
AUTHOR
Nick Wellnhofer <wellnhofer@aevum.de>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Nick Wellnhofer.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.