reflector

2014-03-27 19:21 UTC
  • Xyne

Metadata

Description:

A Python 3 module and script to retrieve and filter the latest Pacman mirror list.

Latest Version:

2014

Architecture:

  • any

Dependencies:

  • python3

Optional Dependencies:

  • rsync: rate rsync mirrors

Arch Repositories:

  • [community]
  • [xyne-any]
  • [xyne-i686]
  • [xyne-x86_64]

Arch Forum ID:

115714

Tags:

About

Reflector retrieves information from archlinux.org's Mirror Status service via the JSON interface and filters servers based on user options to generate Pacman mirrorlists. Please see reflector --help for details.

Acknowledgement

Thanks to Pierre for creating the previous MirrorStatus interface for Reflector on archlinux.de.

Help Message

$ reflector --help

usage: reflector [-h] [--connection-timeout n] [--list-countries]
                 [--cache-timeout n] [--save <filepath>]
                 [--sort {country,age,score,rate,delay}] [--threads n]
                 [--verbose] [-a n] [-c <country>] [-f n] [-i <regex>]
                 [-x <regex>] [-l n] [-n n] [-p <protocol>]

retrieve and filter a list of the latest Arch Linux mirrors

optional arguments:
  -h, --help            show this help message and exit
  --connection-timeout n
                        The number of seconds to wait before a connection
                        times out.
  --list-countries      Display a table of the distribution of servers by
                        country.
  --cache-timeout n     The cache timeout in seconds for the data retrieved
                        from the Arch Linux Mirror Status API. The default is
                        300 (5 minutes).
  --save <filepath>     Save the mirrorlist to the given path.
  --sort {country,age,score,rate,delay}
                        Sort the mirrorlist. "country": server's location;
                        "age": last server synchronization; "score":
                        MirrorStatus score; "rate": download rate; "delay":
                        MirrorStatus delay.
  --threads n           The number of threads to use when rating mirrors.
  --verbose             Print extra information to STDERR. Only works with
                        some options.

filters:
  The following filters are inclusive, i.e. the returned list will only
  contain mirrors for which all of the given conditions are met.

  -a n, --age n         Only return mirrors that have synchronized in the last
                        n hours. n may be an integer or a decimal number.
  -c <country>, --country <country>
                        Match one of the given countries (case-sensitive). Use
                        "--list-countries" to see which are available.
  -f n, --fastest n     Return the n fastest mirrors that meet the other
                        criteria. Do not use this option without other
                        filtering options.
  -i <regex>, --include <regex>
                        Include servers that match <regex>, where <regex> is a
                        Python regular express.
  -x <regex>, --exclude <regex>
                        Exclude servers that match <regex>, where <regex> is a
                        Python regular express.
  -l n, --latest n      Limit the list to the n most recently synchronized
                        servers.
  -n n, --number n      Return at most n mirrors.
  -p <protocol>, --protocol <protocol>
                        Match one of the given protocols, e.g. "http", "ftp".

CHANGELOG

2013-12-15

  • added code to time rsync downloads (suggested by Teo Guo Ci, implemented with a slightly different approach)
  • get_mirrorlist method now accepts an unquoted command list.
  • updated string formatting commands (e.g. 'foo %s %s' % (x, y) to 'foo {} {}'.format(x, y))
  • changed format of generated mirrorlist header
  • fixed help message for --verbose (STDOUT -> STDERR)

2013-01-04

  • added --include and --exclude filter options
  • removed --grep option (replaced by --include)

2012-06-28

  • added JSON data caching to avoid redundant connections to archlinux.org
  • added --connection-timeout and --cache-timeout options

2012-03-24

  • added "delay" and "score" to sort options

2011-03-25

  • rewritten in Python 3 following the deprecation of the perl-xyne-arch package
Contact
echo xyne.archlinux.ca | sed 's/\./@/'
Feeds
Blog News
Validation
XHTML 1.0 Strict CSS level 3 Atom 1.0