Metalink is a system that aims to improve the download process. They offer increased availability and error correction, and are popular with iso_image downloads.
.metalink files are simple XML files that contain a list of resources for a file (URLs for all the mirrors and P2P resources) along with checksums and other metadata. Mirrors can have details like their location listed, allowing downloads to be filtered by location to use local mirrors which is more efficient. Checksums are used to automatically verify files, along with repair information to fix corrupted files already downloaded and downloads in progress. Multiple files can also be listed (which could allow Metalink to be used similarly to jigdo files).
.metalinks for individual Debian ISOs are at http://download.packages.ro/metalink/debian/ with all ISOs for an architecture listed in a single .metalink are at http://download.packages.ro/metalink/debian/collections/
Metalink is supported by these ?Downloader programs:
aria2 (GPL), in the Debian repositories, is a Unix/Windows command line "high speed download utility" that supports BitTorrent and Metalink (HTTP/FTP/BitTorrent).
DownThemAll! (GPL), a Firefox extension and download manager that has Metalink support.
?FlashGot (GPL), a Firefox extension for integrating with many Download Managers, supports Metalink.
- Free Download Manager (GPL), a Windows Download Manager, supports Metalink (HTTP/FTP).
?GetRight, a Windows Download Manager, supports Metalink (HTTP/FTP/BitTorrent).
- KGet, the native download manager that is part of KDE4, supports Metalink.
- Metadl (LGPL) is a NSIS download plugin based on cURL that supports Metalink and downloads from one URL, supports download resume, and verifies checksums. Metadl is used by Wubi, the planned official Ubuntu installer for Windows.
- Orbit Downloader, a Windows Download Manager, supports Metalink (HTTP/FTP).
- Phex, a Mac/Unix/Windows Gnutella client, supports exporting a library to Metalink for sharing between users.
- SmartFTP, a Windows GUI FTP client, supports Metalink for adding files to an FTP transfer queue and checksum verification (does not supported segmented downloads).
- Speed Download, a Mac Download Manager, supports Metalink (HTTP/FTP).
- wxDownload Fast (GPL) is a Mac/Unix/Windows download manager that supports Metalink (HTTP/FTP).
Also, Appupdater (GPL) for Windows "is similar to apt-get or yum on Linux. It automates the process of installing and maintaining up to date versions of programs." It uses Metalinks for a specific set of programs and does not allow downloading with other .metalinks obtained elsewhere.
Current projects that use Metalinks for their downloads: openSUSE, OpenOffice.org, cURL, ?UniProt Consortium, Eiffel Software, DOFUS, Arch Linux, blag linux, ?StartCom Linux, Berry Linux, DesktopBSD, PC-BSD, Linux Mint, Ubuntu Christian Edition, redWall Firewall, ?GoboLinux, TrueBSD, ?PuppyLinux.
Here is an example .metalink file (listing only a single file).
<metalink version="3.0" xmlns="http://www.metalinker.org/"> <files> <file name="example.ext"> <verification> <hash type="md5">example-md5-hash</hash> <hash type="sha1">example-sha1-hash</hash> <signature type="pgp"/> </verification> <resources> <url type="ftp" location="us" preference="90">ftp://ftp.example1.com/example.ext</url> <url type="ftp" location="uk" preference="90">ftp://ftp.example2.com/example.ext</url> <url type="http" location="us" preference="90">http://www.example1.com/example.ext</url> <url type="http" location="uk" preference="90">http://www.example2.com/example.ext</url> <url type="http" location="de" preference="90">http://www.example3.com/example.ext</url> <url type="bittorrent" preference="100">http://www.ex.com/example.ext.torrent</url> <url type="rsync"/> <url type="magnet"/> <url type="ed2k"/> </resources> </file> </files> </metalink>