Metalink

{{Short description|File format that describes one or more computer files available for download}}

{{Use American English|date=May 2022}}

{{Use mdy dates|date=May 2022|cs1-dates=y}}

{{distinguish|text=Oracle Corporation's unrelated support website commonly referred to as "Metalink"}}

{{Multiple issues|

{{More citations needed|date=March 2012}}

{{technical|date=March 2012}}

}}

{{Infobox file format

| icon = File:Metalink logo.svg

| extension = .meta4, .metalink

| mime = {{ubl|application/metalink4+xml,|application/metalink+xml}}

| owner =

| creatorcode =

| genre = File distribution

| containerfor =

| containedby =

| extendedfrom = XML, HTTP

| standard = RFC 5854, RFC 6249

| extendedto =

}}

Metalink is an extensible metadata file format that describes one or more computer files available for download. It specifies files appropriate for a user's language and operating system; facilitates file verification and recovery from data corruption; and lists alternate download sources (mirror URIs).

The metadata is encoded in HTTP header fields and/or in an XML file with extension {{mono|.meta4}} or {{mono|.metalink}}. The duplicate download locations provide reliability in case one method fails. Some clients also achieve faster download speeds by allowing different chunks/segments of each file to be downloaded from multiple resources at the same time (segmented downloading).

Metalink supports listing multiple partial and full file hashes along with PGP signatures. Most clients only support verifying MD5, SHA-1, and SHA-256, however. Besides FTP and HTTP mirror locations and rsync, it also supports listing the P2P methods BitTorrent, ed2k, magnet link or any other that uses a URI.

Development history

Metalink 3.0 was publicly released in 2005. It was designed to aid in downloading Linux ISO images and other large files on release day, when servers would be overloaded (each server would have to be tried manually) and to repair large downloads by replacing only the parts with errors instead of fully re-downloading them. It was initially adopted by download managers, and was used by open source projects such as OpenOffice.org and Linux distributions. A community developed around it, more download programs supported it (including proprietary ones) and it saw commercial adoption. In 2008, the community took their work to the Internet Engineering Task Force which resulted in Metalink 4.0 in 2010, described in a Standards Track RFC.{{refn|{{Cite IETF |rfc=5854 |last1=Bryan |first1=Anthony |last2=Tsujikawa |first2=Tatsuhiro |last3=McNab |first3=Neil |last4=Poeml |first4=Peter |language=en-US |publisher=IETF |title=The Metalink Download Description Format |access-date=2022-05-30 |date=June 2010}}}} Metalink 3.0 (with the extension {{mono|.metalink}}) and Metalink 4.0 (with the extension {{mono|.meta4}}) are incompatible because they have a slightly different format. In 2011, another Standards Track RFC described Metalink in HTTP header fields.{{refn|{{Cite IETF |rfc=6249 |last1=Bryan |first1=Anthony |last3=Tsujikawa |first3=Tatsuhiro |last2=McNab |first2=Neil |last4=Poeml |first4=Peter |last5=Nordstrom |first5=Henrik |language=en-US |publisher=IETF |title= Metalink/HTTP: Mirrors and Hashes |access-date=2022-05-30 |date=June 2011}}}}

Client programs

{{More citations needed section|date=October 2016}}

class="wikitable sortable"
Tool

! Debian-based

! Fedora-based

! Arch-based

! BSD-based

! Windows

aria2{{refn|{{Cite web |last=Tsujikawa |first=Tatsuhiro |title=aria2: The next generation download utility |url=https://aria2.github.io/ |url-status=live |archive-url=https://archive.today/20210727160604/https://aria2.github.io/ |archive-date=2021-07-27 |access-date=2022-05-30 |website=GitHub |language=en-US}}}}

| {{yes}}

| {{yes}}

| {{yes}}{{refn|{{Cite web |date=2021-08-21 |title=Package Search |url=https://www.archlinux.org/packages/?name=aria2 |url-status=live |archive-url=https://archive.today/20220530041230/https://archlinux.org/packages/?name=aria2 |archive-date=2022-05-30 |access-date=2022-05-30 |website=Arch Linux |language=en-US}}}}

|

| {{yes}}{{refn|{{Cite web |date=2021-08-21 |title=Aria2 Client 1.36.0 |url=https://chocolatey.org/packages/aria2 |url-status=live |archive-url=https://archive.today/20220530041442/https://community.chocolatey.org/packages/aria2 |archive-date=2022-05-30 |access-date=2022-05-30 |website=Chocolatey |language=en-US}}}}

cURL

| {{no}}; curl no longer supports Metalink{{refn|{{Cite web |date=2021-06-07 |title=metalink: remove |url=https://github.com/curl/curl/commit/265b14d6b37c4298bd5556fabcbc37d36f911693 |website=GitHub |language=en-US}}}}

| {{no}}; curl no longer supports Metalink

| {{no}}; curl no longer supports Metalink

|

|

Wget

| {{yes}}; v1.17 or later built with metalink support

| {{yes}}; v1.17 or later built with metalink support

| {{yes}}; v1.17 or later built with metalink support

| {{yes}}; v1.17 or later built with metalink support

|

DownThemAll

| not in repo

| not in repo

| not in repo

| not in repo

|

FlashGot

| not in repo

| not in repo

| not in repo

| not in repo

|

Free Download Manager

| not in repo

| not in repo

| not in repo

| not in repo

|

GetRight

| not in repo

| not in repo

| not in repo

| not in repo

|

jDownloader

| not in repo

| not in repo

| not in repo

| not in repo

|

KGet

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

Phex

| not in repo

| not in repo

| not in repo

| not in repo

|

SmartFTP

| not in repo

| not in repo

| not in repo

| not in repo

|

easyMule

| not in repo

| not in repo

| not in repo

| not in repo

|

ZYpp

| not in repo

| not in repo

| not in repo

| not in repo

|

{{see also|Comparison of download managers}}

Client libraries

  • libmetalink (MIT License) is a Metalink library written in C. It provides the parsing of Metalink XML files to programs written in C and uses Expat (library) or libxml2. It does not handle the actual downloading of files. It is used by cURL and other client programs.
  • metalink-checker (GPL) is a command line downloader written in Python that supports multi-source downloads and chunk checksums, as well as checking mirrors. It can also be used as a Python library.

In use

Mandriva Linux has integrated Metalink into package management with urpmi and aria2.

Fedora has integrated Metalink into package management with yum. openSUSE has integrated Metalink into package management with ZYpp and aria2.

Wubi, the Windows-based Ubuntu installer, uses [https://web.archive.org/web/20070702224657/http://hampus.vox.nu/metadl/ 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."{{citation needed|date=December 2017}}

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 and so does SageMath, the open-source mathematical software.

According to the main metalinker.org site, the software hosting and collaboration platform Origo generates Metalinks for all hosted releases.https://www.metalinker.org/implementation.html {{Bare URL inline|date=August 2024}}

The following Linux distributions use Metalink for ISO image distribution:{{citation needed|date=October 2016}} Adios, Bayanihan Linux, BeleniX, Berry Linux, BLAG Linux and GNU, Bluewhite64 Linux, Damn Small Linux, Fedora, GoboLinux, Granular Linux, KateOS, Linux Mint, openSUSE, Pardus Linux, PCLinuxOS, PuppyLinux, Sabayon Linux, StartCom Enterprise Linux, SUSE Linux, Ubuntu.

The following FreeBSD based distributions use Metalink for ISO image distribution: DesktopBSD, MidnightBSD, and TrueOS.

See also

References

{{reflist}}