# Metalink

Metalink est un standard et un framework ouvert pour des logiciels de téléchargement (gestionnaires de téléchargements, clients BitTorrent, navigateurs Web, clients FTP, logiciels P2P…). Afin d'améliorer la fiabilité ainsi que le débit d'un téléchargement, il stocke les différents emplacements possibles des fichiers (FTP/HTTP/P2P) dans un seul fichier (un fichier .metalink). Ainsi, chaque segment d'un fichier peut être téléchargé depuis plusieurs sources simultanément (téléchargement segmenté). Avec une connexion Internet à haut débit, cela conduit souvent à un téléchargement plus fiable et plus rapide qu'avec un téléchargement depuis un seul serveur.
Le standard propose également d'autres fonctionnalités, telles que l'authentification des sources, la vérification automatique de la somme de contrôle (checksum) lorsqu'un téléchargement est terminé, ou le choix automatique de l'OS et/ou de la langue. Les fichiers Metalinks sont aussi rétro-compatibles avec les liens hypertextes classiques en utilisant le format http://URL#!metalink3!http://URLtoMetalink.
Metalink est extensible et supporte les sommes de contrôle MD5 et SHA-1 ainsi que les signatures PGP. En plus des miroirs FTP, HTTP et rsync, il supporte aussi les protocoles pair à pair BitTorrent, ed2k, et Magnet Link.

## Histoire

Les deux premières versions ne sont pas rendues publiques. La première était rustique, « similaire à un simple fichier texte ». En 1998, la deuxième version ajoute le support de XML. Elles gèrent alors les liens de téléchargement FTP ou HTTP.
La version 3.0 est la première qui soit rendue publique. Elle ajoute le support des liens de téléchargement pair-à-pair. Le format en est actuellement à sa version 4.
Le format est un standard officiel depuis juin 2010, où son principe a été décrit dans la RFC 5854. La RFC 6249 complète un an plus tard sa documentation en décrivant l'intégration du format aux headers HTTP. Après un pic d'activité entre 2010 et 2015, le projet est beaucoup moins actif.

## Principe général

TorrentFreak (un forum relatif à BitTorrent) décrit Metalink comme ceci : « Nous avons tous vu ces pages de téléchargement où une liste de miroirs http, ftp et bittorrent sont proposés. Nous n'en choisissons qu'un parmi la liste, mais ne serait-ce pas génial si nous pouvions les utiliser tous en même temps? Metalink est la solution. Il fonctionne ainsi, le fichier .metalink indique à votre gestionnaire de téléchargement où il peut prendre le fichier, et se connecte aux différentes sources en même temps. »
downloadsquad décrit de cette façon : « Metalinks rend les pages de téléchargement complexes obsolètes en remplaçant les longues liste de miroirs et les trackers BitTorrent par un simple fichier .metalink. Comme vous l'avez déjà deviné, un fichier .metalink est un fichier qui indique à votre gestionnaire de téléchargement les différents endroits où il peut télécharger le fichier. Le fichier lui-même prend la forme d'une structure XML standard et peut contenir un nombre illimité de sources HTTP et FTP aussi bien que des trackers BitTorrent et ed2k ou des liens magnétiques. »

## Implémentations
### Logiciels

* Aria2 (GPL) est un programme en ligne de commande pour Unix. C'est un « utilitaire de téléchargement à haute vitesse » qui supporte BitTorrent et Metalink (HTTP/FTP/BitTorrent).
* DownThemAll!, une extension Firefox (GPL) qui supporte Metalink depuis la version 1.1 (voir (en) « Changes for DownThemAll! 1.1 »).
* cURL (licence libre MIT/X derivate), logiciel de transfert réseau
* FlashGot, une extension Firefox (GPL) qui s'intègre avec de nombreux Gestionnaires de Téléchargements, il supporte Metalink.
* GetRight 6, un Gestionnaire de Téléchargement pour Windows, il supporte Metalink.
* kget, un gestionnaire de téléchargement libre pour l'environnement de bureau KDE.
* Speed Download, un Gestionnaire de Téléchargement pour Mac, il supporte Metalink depuis la version 4.10.
* UGet Download Manager, un gestionnaire de téléchargement utilisant la boite à outils graphique GTK+.
* wxDownload Fast (GPL) est un gestionnaire de téléchargement pour Mac/Unix/Windows qui supporte Metalink.
Voir une comparaison des logiciels de téléchargement (en) pour de plus amples détails sur leurs supports de Metalink et leurs autres fonctionnalités.

### Clients dédiés à une application

* apt-metalink spécialisé dans les paquets de type Debian

### Utilisations remarquables

Actuellement, OpenOffice.org utilise Metalink pour distribuer sa propre suite bureautique. openSUSE,Brixton Linux Action Group, StartCom Enterprise Linux, Berry Linux, Ubuntu Christian Edition, Xubuntu et DesktopBSD l'utilisent également aussi pour distribuer les ISO de leurs distributions respectives.

## Exemple de fichier .metalink

Les fichiers .metalinks sont des fichiers texte au format XML.