# Metalink

Metalink ist ein plattform- und anwendungsübergreifender offener Standard, der ein Format für Dateien definiert, mit denen eine Liste von Bezugsquellen und anderen Metainformationen zum Herunterladen einer bestimmten Datei bereitgehalten werden kann.
2008 wurde das Format der Internet Engineering Task Force zur Standardisierung vorgelegt, was im Juni 2010 die Metalink 4.0 Spezifikation in RFC 5854 zur Folge hatte.

## Technik

Metalinks sind XML-Textdateien, die physische Eigenschaften (Dateigröße, Prüfsummen) von Dateien beschreiben und deren Standorte auflisten. Das Format ist offengelegt und erweiterbar.
Die Standorte jeder Datei können in Form von URLs für verschiedene Protokolle aufgeführt sein, wie z. B. HTTP-, FTP- oder rsync-Servern oder – zur Lokalisierung der Datei in Peer-to-Peer-Netzen wie BitTorrent oder eDonkey2000 – den URLs von .torrent-Dateien, Magnet- oder eD2k-Links vorliegen. Diese Links oder Adressen können von herunterladender Software ausgewertet werden und damit auf möglicherweise mehrere redundante Quellen für die gewünschte Datei auflösen. Damit wird einerseits die Zuverlässigkeit eines Downloads erhöht, aber auch beschleunigt, indem gleichzeitig mehrere Teile der gleichen Datei aus mehreren, jeweils unterschiedlichen Quellen (Mirrors) heruntergeladen werden können.
Neben der Liste der Bezugsquellen sind noch Prüfsummen im MD5-, SHA-1- oder SHA-256-Format für die Datei als Ganzes oder auch einzelne Abschnitte der Datei enthalten, wodurch Fehler erkannt werden können und in diesem Fall bei mehreren Prüfsummen auch nicht die ganze Datei erneut geladen werden muss.
Weiterhin können OpenPGP-Signaturen angegeben werden, mit denen die Authentizität der erhaltenen Datei geprüft werden kann.
Metalink 3.0 (mit der Endung .metalink) und Metalink 4.0 Dateien (mit der Endung .meta4) sind miteinander nicht kompatibel.

### Metalink 4.0 Beispiel

Metalink-4.0-Dateien werden mittels des application/metalink4+xml Internet Media Type ausgeliefert. Zur Erzeugung der Metalinks existiert eine ganze Reihe von Software.

## Unterstützung

Download-Manager oder auch Software-Paketverwaltungen unterstützen den Standard, wobei die Unterstützung unterschiedlich weit geht. Vor allem Downloads per rsync-Protokoll und OpenPGP-Signaturen werden von kaum einem Programm geboten.

### Programme

* aria2 (GPL) in Debian Repositorien. Ein Unix-/Windows-Kommandozeilen-Download-Hilfsprogramm, das BitTorrent und Metalink (HTTP/FTP/BitTorrent) unterstützt.
* DownThemAll! (GPL), ein Download-Manager als Firefox-Add-On, der einfache Metalink-Funktionen bietet.
* FlashGot (GPL), ein Firefox-Add-On zum Starten von Downloads in diversen, eigenständigen, externen Download-Managern.
* Free Download Manager (GPL), ein gratis Windows-Download-Manager mit Metalink-Unterstützung (HTTP/FTP) seit v2.5.
* GetRight 6, ein Windows-Download-Manager mit Metalink-Unterstützung (HTTP/FTP/BitTorrent).
* jDownloader ist ein in Java geschriebener Open-Source-Download-Manager.
* KGet (GPL), KDEs eigener Download Manager, mit Metalink-Funktionalität seit KDE 4.
* Metalink Access ist eine Erweiterung für den Opera-Webbrowser, die es ermöglicht, Dateien in Metalinks direkt herunterzuladen.
* Net Transport, ein Windows-Download-Manager.
* Orbit Downloader, ein Windows-Download-Manager mit Metalink-Funktion (HTTP/FTP).
* Phex (GPL), ein Mac-/Unix-/Windows-gnutella-P2P-Programm; unterstützt neben Metalink-Downloads auch den Export ganzer Dateisammlungen als Metalink, um sie z. B. mit anderen zu teilen.
* SmartFTP, ist ein Windows-GUI-FTP-Programm, das es erlaubt, per Metalink Dateien zur FTP-Warteschlange hinzuzufügen und Dateien per Prüfsumme verifizieren kann.
* VeryCDs easyMule (Version 1 gemäß GPL, Ver.2 verletzt evtl. die GPL) ist eine eMule-Version mit Metalink-Support.
* wxDownload Fast (GPL) ist ein Mac-/Unix-/Windows-Download-Manager mit Metalink-Unterstützung (HTTP/FTP).

### Paketverwaltungen

yum und ZYpp machen bei den alltäglichen Software-Aktualisierungen von Linux-Distributionen wie Mandriva, Fedora und openSUSE davon Gebrauch. Auch das Ubuntu-Installationsprogramm Wubi löst damit auf seine Datenquellen auf. Ebenso unterstützt auch die Paketverwaltung von Debian Metalink HTTP Header.

### Anbieter

Es wird bei zahlreichen Linux-Distributionen (wie auch einigen BSDs) einschließlich Ubuntu, Fedora, Mandriva und openSUSE bei der Verbreitung der CD-Abbilder eingesetzt. Auch bei anderer Software wird es für den Download der Programmpakete angeboten: so z. B. bei OpenOffice.org und Sage oder auch beim UniProt Consortium für die Übertragung ihrer großen Protein-Datenbank.