Geo::Mirror - Find closest Mirror
use Geo::Mirror; my $gm = Geo::Mirror->new(mirror_file => '/path/to/mirrors.txt'); my $mirror = $gm->closest_mirror_by_country('us', $freshness); # $freshness optional, see description below my $mirror = $gm->closest_mirror_by_addr('184.108.40.206', $freshness); # $freshness optional, see description below
This module finds the closest mirror for an IP address. It uses Geo::IP to identify the country that the IP address originated from. If the country is not represented in the mirror list, then it finds the closest country using a latitude/longitude table.
The mirror file should be a space separate list of URL, Country, and mirror freshness. The mirror freshness is optional and can be used by user request a mirror with a minimum freshness.
Copyright (c) 2004, MaxMind LLC, firstname.lastname@example.org
All rights reserved. This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself.