- contribute
- design
- Mirror pools
The Tails downloads are served using two different mirror pools (HTTP and DNS), depending on the use case.
HTTP pool
The HTTP pool is a web service that redirects clients to the nearest mirror based on their IP geolocation data:
IP geolocation data is automatically and periodically updated from MaxMind's GeoLite2 databases.
Downloads are served under the
download.tails.net
domain (see mirror statistics).Mirrorbits performs the actual redirections according to its own internal score system, which is based on mirrors' weights (imported from
mirrors.json
) and IP geolocation data (Autonomous Systems, countries and calculated distances).The list of mirrors is maintained by Sysadmins via Puppet (see code and exampe data)
mirrors.json (legacy)
We publish a list of HTTP mirrors in a JSON file on our website which will eventually be deprecated but is still used by the Tails Upgrader (up to Tails 5.8) and some bits of the RM process. That file is managed by Puppet.
The mirrors.json
configuration file is essentially a list of mirrors, and for each
of them we need a few values:
url_prefix
: whatever needs to be pre-pended to the path to an ISO (e.g./stable/tails-i386-2.0/tails-i386-2.0.iso
) that is shared between all mirrors, to form a complete URL to that ISO; for examplehttps://mirrors.wikimedia.org/tails/
rsync_url
: this URL is used by the server-side redirector to periodically check each mirror's health.weight
: the probability this mirror has to be picked by the dispatcher code, expressed as a non-negative integer; weight 0 means that the mirror is currently disabled, and will never be redirected toemail
(optional): the email address of the mirror's operatornotes
(optional): various additional notes that can be useful to the managers of the mirror pool
DNS pool
A DNS Round Robin pool (at dl.amnesia.boum.org
) points to a few fast and
reliable mirrors. It is used as a fallback for the versions of Tails Upgrader
included up to Tails 5.8, inclusive. The DNS entries are managed by
Sysadmins
in the same way all the other DNS entries are managed.
Documentation for mirror pool administrators
Documentation is maintained in the Sysadmins private documentation repository.