/usr/local/bin
#!/usr/bin/perl use strict; use warnings; use CPAN::HandleConfig; use CPAN; use CPAN::Mirrors; use File::Spec; my $file = 'MIRRORED.BY'; my $mirrored_by_file = File::Spec->catfile( CPAN::HandleConfig::cpan_home(), $file ); unless( -e $mirrored_by_file ) { eval { CPAN::FTP->localize( $file, $mirrored_by_file, 3,1) } or die "Could not fetch a $file: $@\n"; } my $mirrors = CPAN::Mirrors->new( $mirrored_by_file ); my $seen = {}; my $n = 5; my $best_continent = $mirrors->find_best_continents( n => $n, seen => $seen, verbose => 1 ); print "Best continent is $best_continent\n"; my @mirrors = $mirrors->get_mirrors_by_continents( $best_continent ); my $callback = sub { my( $m ) = @_; printf "%s = %s ms\n", $m->hostname, 1000 * $m->rtt }; my @sorted_mirrors = $mirrors->get_mirrors_timings( \@mirrors, $seen, $callback ); print "Best mirrors are ", join "\n\t", map( $_->hostname, @sorted_mirrors[0..$n-1] ), "\n"; print "Best urls are\n\t", join( "\n\t", map( $_->http, @sorted_mirrors[0..$n-1] ) ), "\n"; =encoding utf8 =head1 NAME cpan-mirrors - Find the fatest CPAN mirrors nearby =head1 SYNOPSIS % cpan-mirrors Testing Africa is.co.za -> 733.72 ms wa.co.za -> 601.56 ms ucu.ac.ug -> 407.99 ms mirror.ac.za -> 614.05 ms zol.co.zw -> 612.57 ms -->median time: 612.57 ms Testing Oceania serversaustralia.com.au -> 38.62 ms cpan.inspire.net.nz -> 67.81 ms digitalpacific.com.au -> 37.89 ms uber.com.au -> 44.47 ms lagoon.nc -> 67.49 ms -->median time: 44.47 ms Testing North America httpupdate40.cpanel.net -> 254.00 ms httpupdate35.cpanel.net -> 409.75 ms mirrors.sonic.net -> 368.56 ms httpupdate8.cpanel.net -> 409.10 ms cpan.cs.utah.edu -> 408.00 ms -->median time: 408.00 ms Testing Asia vinahost.vn -> 146.10 ms yazd.ac.ir -> 469.29 ms mirrors-ru.go-parts.com -> 367.09 ms sohu.com -> 399.76 ms neolabs.kz -> 610.92 ms -->median time: 399.76 ms Testing South America mmgdesigns.com.ar -> 407.96 ms nbtelecom.com.br -> 401.96 ms sunsite.dcc.uchile.cl -> 415.69 ms linorg.usp.br -> 424.65 ms unal.edu.co -> 407.60 ms -->median time: 407.96 ms Testing Europe uk2.net -> 409.37 ms ambiweb.de -> 710.65 ms bibleonline.ru -> 471.49 ms rol.ru -> 469.70 ms rub.de -> 346.57 ms -->median time: 469.70 ms Median result by continent: 44 ms Oceania 400 ms Asia 408 ms South America 408 ms North America 470 ms Europe 613 ms Africa Best continent is Oceania cpan.catalyst.net.nz = 78.8369178771973 ms cpan.inspire.net.nz = 69.4258213043213 ms cpan.mirrors.ilisys.com.au = 50.2209663391113 ms digitalpacific.com.au = 40.1251316070557 ms lagoon.nc = 88.8760089874268 ms nautile.nc = 65.7081604003906 ms optusnet.com.au = 41.4729118347168 ms serversaustralia.com.au = 46.1521148681641 ms uber.com.au = 48.2730865478516 ms waia.asn.au = 86.2929821014404 ms webtastix.net = 70.5790519714355 ms Best mirrors are digitalpacific.com.au optusnet.com.au serversaustralia.com.au uber.com.au cpan.mirrors.ilisys.com.au Best urls are http://cpan.mirror.digitalpacific.com.au/ http://mirror.optusnet.com.au/CPAN/ http://cpan.mirror.serversaustralia.com.au/ http://cpan.mirror.uber.com.au/ http://cpan.mirrors.ilisys.com.au/ =head1 DESCRIPTION CPAN Mirrors come and go, and maybe you do too. The mirror that was fast then might not be fast now, especially if you changed hemispheres. This program goes through the F<MIRRORED.BY> file and pings a selection of mirrors on each continent to find the fastest mirrors. From the best continent, it samples several mirrors to find the URL you should add to your configuration. If you don't have a F<MIRRORED.BY> file, this program will download one for you. It looks through your existing C<urllist> configuration and then default locations. It stores it in C<~/.cpan> (or your configured location to store files). =head1 TO DO =over 4 =item * Add an option to update the CPAN configuration =item * Add an option to give JSON output =back =head1 AUTHOR brian d foy C<< <bdfoy@cpan.org> >> =head1 LICENSE This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See L<http://www.perl.com/perl/misc/Artistic.html> =cut
.
Edit
..
Edit
blackbox_exporter
Edit
check_grafana_users.sh
Edit
check_node_user_metrics.sh
Edit
cpan
Edit
cpan-mirrors
Edit
crontab
Edit
django-admin
Edit
ea-passenger-runtime-applications-settings
Edit
ea-passenger-runtime_nodejs-is-not-installed
Edit
ea-passenger-runtime_python-is-not-installed
Edit
ea-passenger-runtime_ruby-is-not-installed
Edit
ea-php56
Edit
ea-php74
Edit
ea-php81
Edit
ea-php82
Edit
ea-php83
Edit
ea-php84
Edit
ea_convert_php_ini
Edit
ea_current_to_profile
Edit
ea_install_profile
Edit
ea_sync_user_phpini_settings
Edit
json_xs
Edit
lsphp
Edit
lve_exporter.sh
Edit
node_exporter
Edit
node_user_metrics.sh
Edit
passwd
Edit
pear
Edit
php
Edit
pip
Edit
pip3
Edit
pip3.9
Edit
prometheus
Edit
promtool
Edit
sqlformat
Edit
top_grafana_users.sh
Edit
tpage
Edit
ttree
Edit
wp
Edit
wp-toolkit
Edit