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:

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>