Template:Infobox file format

Template:About Template:Distinguish2

Metalink is a cross-platform and cross-application open standard/framework/file format for programs that download, including download managers, BitTorrent clients, Web browsers, FTP clients, and P2P programs. For increased convenience, it stores the multiple download locations for a file (FTP/HTTP/P2P) in a single metafile with the extension .metalink. This provides reliability in case one method fails. For fast Internet connections, it also speeds up the process by allowing chunks/segments of each file to be downloaded from multiple resources at the same time (segmented downloading).

Other features include automatic checksum verification of finished downloads, automatic repair of downloads with errors, listing multiple files to be added to a download queue, and automatic OS/language selection.

Metalink is extensible, and supports listing multiple partial and full file hashes/checksums along with PGP signatures. Most clients only support verifying MD5, SHA-1, & SHA-256, however. Besides FTP and HTTP mirror locations and rsync, it also supports listing the P2P methods BitTorrent, ed2k, and magnet link.

Client programs[edit | edit source]

  • aria2 (GPL) 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 basic 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) in version 2.5.
  • GetRight 6, a Windows Download Manager, supports Metalink (HTTP/FTP/BitTorrent).
  • KGet (GPL), KDE's native download manager, supports Metalink in KDE 4.
  • libmetalink (MIT License) is a Metalink library written in C language. It is intended to add Metalink functionality, such as parsing Metalink XML files, to programs written in C.
  • 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 Windows-based Ubuntu installer.
  • Metalink Checker (GPL) is a cross platform command line downloader written in Python that supports multi-source downloads, as well as checking mirrors listed in .metalinks.
  • Orbit Downloader, a Windows Download Manager, supports Metalink (HTTP/FTP).
  • Net Transport, a Windows Download Manager, supports Metalink.
  • Phex (GPL), a Mac/Unix/Windows Gnutella client, supports Metalink downloads along with exporting a library to Metalink for sharing between users.
  • Retriever is a cross platform Java download manager that supports Metalink and BitTorrent.
  • 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) as of version 4.1.0.
  • TheWorld Browser is a Web Browser on Windows that has built-in Metalink (HTTP/FTP) support.
  • VeryCD easyMule is a version of eMule with Metalink support.
  • wxDownload Fast (GPL) is a Mac/Unix/Windows download manager that supports Metalink (HTTP/FTP).

See Comparison of download managers or below for details on which of them support Metalink and have other features.

In use[edit | edit source]

Wubi, the Windows-based Ubuntu installer, uses Metadl (LGPL) to download Ubuntu ISO images and takes advantage of Metalink's features of higher availability and increased reliability. If there are errors in the download, they are repaired, instead of restarting the large download.

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."

Metalink is also being tested with Arch Linux's Pacman which is used for package management.

Currently, OpenOffice.org uses Metalinks to distribute their free office suite. cURL offers Metalinks of their downloads. UniProt Consortium also provides a Metalink for their large protein database. Dofus, a Flash MMORPG uses Metalinks for downloads.

The following distributions use Metalink for ISO image distribution: Arch Linux, BeleniX, Berry Linux, BLAG Linux and GNU, Damn Small Linux, DesktopBSD, KateOS, Linux Mint, openSUSE, PC-BSD, Pardus Linux, PuppyLinux, redWall Firewall, Sabayon Linux, StartCom Enterprise Linux, SUSE Linux, Ubuntu.

Metalink client feature comparison[edit | edit source]

A guide to which client support which Metalink features:

aria2 DownThemAll Free Download Manager GetRight KGet Metadl Metalink Checker Orbit Downloader Phex Retriever SmartFTP Speed Download TheWorld wxDownload Fast
License Free Software (GNU General Public License) Free Software (GNU General Public License) Free Software (GNU General Public License) Proprietary / $29.95 for Standard, $49.95 for Pro Free Software (GNU General Public License) Free Software (GNU Lesser General Public License) Free Software (GNU General Public License) Proprietary / Freeware Free Software (GNU General Public License) Proprietary / Freeware Proprietary / Freeware for personal, $36.95 commercial Proprietary / $25 Proprietary / Freeware Free Software (GNU General Public License)
Interface CLI GUI GUI GUI GUI GUI CLI GUI GUI GUI GUI GUI GUI GUI
Runs on Linux Template:Yes Template:Yes Template:No Template:No Template:Yes Template:No Template:Yes Template:No Template:Yes Template:Yes Template:No Template:No Template:No Template:Yes
Runs on Windows Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:No Template:Yes Template:Yes
Runs on Mac OS X Template:Yes Template:Yes Template:No Template:No Template:No Template:No Template:Yes Template:No Template:Yes Template:Yes Template:No Template:Yes Template:No Template:No
Resume Downloads Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes ? Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes
Segmented Downloads Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:No Template:Yes Template:Yes ? Template:Yes Template:No Template:Yes Template:Yes Template:Yes
Multiple File support Template:Yes Template:Yes Template:No Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes ? Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes
"location" Template:Yes Template:Yes Template:No Template:No Template:No Template:No Template:Yes Template:No ? Template:Yes Template:No Template:No Template:No Template:No
OS Template:Yes Template:Yes Template:No Template:No Template:No Template:No Template:Yes Template:No ? Template:Yes Template:No Template:Yes Template:No Template:No
Language Template:Yes Template:Yes Template:No Template:No Template:No Template:No Template:Yes Template:Yes ? Template:Yes Template:No Template:Yes Template:No Template:No
HTTP with Transparent Negotiation Template:Yes Template:Yes Template:No Template:No Template:No Template:No Template:Yes Template:No Template:No Template:Yes Template:No Template:No Template:No Template:No
HTTP Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes ? Template:Yes Template:No Template:Yes Template:Yes Template:Yes
FTP Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes ? Template:Yes Template:Yes Template:Yes ? Template:Yes
BitTorrent Template:Yes Template:No Template:Yes Template:Yes Template:Yes Template:No Template:No Template:No ? Template:Yes Template:No Template:No Template:No Template:No
magnet Template:No Template:No Template:No Template:No Template:No Template:No Template:No Template:Yes ? Template:No Template:No Template:No Template:No Template:No
MD5 Checksums Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes ? Template:Yes Template:Yes Template:Yes Template:No Template:Yes
SHA-1 Checksums Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes ? Template:Yes Template:Yes Template:Yes Template:No Template:Yes
SHA-256 Checksums Template:Yes Template:Yes Template:No Template:No Template:No Template:No Template:Yes Template:No ? Template:Yes Template:No Template:No Template:No Template:No
Piece Checksums Template:Yes Template:No Template:No Template:No Template:No Template:Yes Template:Yes Template:No ? Template:Yes Template:No Template:No Template:No Template:No
PGP Signatures Template:No Template:No Template:No Template:No Template:No Template:No Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No Template:No

No clients support ed2k or rsync yet.

Metalink generation[edit | edit source]

Metalink is XML so they can be hand crafted or XML tools can be used for automation. These tools are specifically for Metalink.

  • Bouncer is "database driven mirror management app that has three main components - a bounce script, a sentry script to check mirrors and files for integrity and a set of web-based administration tools." Bouncer supports Metalink via a patch that has not yet been integrated upstream.
  • Geo McFly (GPL) is an on the fly generator of metalinks based on the downloader's geographical location, written in Python.
  • Metalink Editor (GPL) is a Cross Platform GUI Metalink editor written in Python which allows you to create and edit Metalinks.
  • Metalink Library (GPL) is a Cross Platform Metalink library for Python and PHP based on Metalink Editor with many automatic features and an easy command-line interface to generate Metalink and Torrent files.
  • Metalink Generator can also be used to create Metalinks by filling out a Web form.
  • Metalink tools (GPL) Unix/Windows command line tools for generating Metalinks with checksums and mirror/p2p lists.
  • Metamirrors Metagenerate provides an easy to use Web UI to create Metalinks.
  • MirrorManager (MIT X11 License) is used by the Fedora Project for dynamically listing mirrors. This patch has not yet been integrated upstream.
  • openSUSE download redirector (the MirrorBrain) supports Metalink and is used by openSUSE and automatically redirects clients (per HTTP redirection) to a mirror server near them.
  • Origo is a new and easy to use software development and hosting platform for open and closed source projects. Among many features, it has easy release management and mirroring with automatic metalink generation.
  • RoPkg::Metalink / Metalink @ Packages Resources (GPL) for automated Metalink generation.
  • Simba (GPL), the mirroring tool, includes automatic Metalink generation as one of its features.

Example .metalink file[edit | edit source]

.metalink is an XML text file.

 <?xml version="1.0" encoding="UTF-8" ?>
 <metalink version="3.0" xmlns="http://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.example.com/example.ext</url>
       <url type="ftp" location="uk" preference="90">ftp://ftp.example.net/example.ext</url>
       <url type="http" location="us" preference="90">http://example.com/example.ext</url> 
       <url type="http" location="de" preference="90">http://example.net/example.ext</url>
       <url type="bittorrent" preference="100">http://example.org/example.ext.torrent</url>
       <url type="rsync"/>
       <url type="magnet"/>
       <url type="ed2k"/>
     </resources>
     </file>
   </files>
 </metalink>

External links[edit | edit source]

es:Metalink fr:Metalink pl:Metalink pt:Metalink ru:Metalink

Community content is available under CC-BY-SA unless otherwise noted.