Jump to content

Metalink

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Ohados (talk | contribs) at 11:59, 23 July 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Metalink
Metalink logo.
Filename extension
.metalink
Internet media type
application/metalink+xml
Type of formatFile distribution
Extended fromXML
This article is about the open standard. For the telecommunication company see Metalink Ltd..
NOTE: Metalink is unrelated to Oracle Corporation's support website.

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: URI scheme|magnet link]].

Client programs

  • 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 a Windows Download Manager, supports Metalink (HTTP/FTP) in a BETA version.
  • GetRight 6, a Windows Download Manager, supports Metalink (HTTP/FTP/BitTorrent).
  • KGet (GPL), the native download manager that is part of KDE4, has added initial support to SVN.
  • 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 (GPL), a Mac/Unix/Windows Gnutella client, supports Metalink downloads along with 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) as of version 4.1.0.
  • 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.


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

In use

Wubi, the planned official Ubuntu installer for Windows, 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: openSUSE, Linux Mint, BLAG Linux and GNU, StartCom Enterprise Linux, Arch Linux, DesktopBSD, PC-BSD, BeleniX, Berry Linux, Pardus Linux, SUSE Linux, Ubuntu Christian Edition, PuppyLinux, redWall Firewall.

A guide to which client support which Metalink features:

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

No clients support ed2k, rsync, or PGP signatures yet.

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.
  • Metalink Editor (GPL) is a Cross Platform GUI Metalink editor written in Python which allows you to create and edit Metalinks.
  • Metalink tools (GPL) Unix/Windows command line tools for generating Metalinks with checksums and mirror/p2p lists.
  • Simba (GPL), the mirroring tool, includes automatic Metalink generation as one of its features.

.metalinks are XML text files.


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