Metalink Logo
   HOME

TheInfoList



OR:

Metalink is an extensible
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
file format A file format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary or free. Some file formats ...
that describes one or more computer files available for download. It specifies files appropriate for the 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 Extension, extend or extended may refer to: Mathematics Logic or set theory * Axiom of extensionality * Extensible cardinal * Extension (model theory) * Extension (predicate logic), the set of tuples of values that satisfy the predicate * E ...
or . 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 PGP or Pgp may refer to: Science and technology * P-glycoprotein, a type of protein * Pelvic girdle pain, a pregnancy discomfort * Personal Genome Project, to sequence genomes and medical records * Pretty Good Privacy, a computer program for the ...
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 Uri may refer to: Places * Canton of Uri, a canton in Switzerland * Úri, a village and commune in Hungary * Uri, Iran, a village in East Azerbaijan Province * Uri, Jammu and Kashmir, a town in India * Uri (island), an island off Malakula Islan ...
.


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 Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
projects such as OpenOffice.org and
Linux distribution A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
s. 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 RFC may refer to: Computing * Request for Comments, a memorandum on Internet standards * Request for change, change management * Remote Function Call, in SAP computer systems * Rhye's and Fall of Civilization, a modification for Sid Meier's Civ ...
. Metalink 3.0 (with the extension ) and Metalink 4.0 (with the extension ) are incompatible because they have a slightly different format. In 2011, another Standards Track
RFC RFC may refer to: Computing * Request for Comments, a memorandum on Internet standards * Request for change, change management * Remote Function Call, in SAP computer systems * Rhye's and Fall of Civilization, a modification for Sid Meier's Civ ...
described Metalink in HTTP header fields.


Client programs


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) Expat is a stream-oriented XML 1.0 parser library, written in C. As one of the first available open-source XML parsers, Expat has found a place in many open-source projects. Such projects include the Apache HTTP Server, Mozilla, Perl, Python a ...
or libxml2. It does not handle the actual downloading of files. It is used by
cURL cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
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 urpmi is a package management tool for installing, removing, updating and querying software packages of local or remote (networked) media. It wraps around the RPM Package Manager in the role of a smart package manager. It uses repositories and wi ...
and aria2.
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
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, use
Metadl
(
LGPL The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
) 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." Currently, OpenOffice.org uses Metalinks to distribute their free office suite.
cURL cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
offers Metalinks of their downloads. UniProt Consortium also provides a Metalink for their large protein database.
Dofus ''Dofus'' is a tactical turn-based massively multiplayer online role-playing game (MMORPG) developed and published by Ankama Games, a French computer game manufacturer. Originally released solely in French, it has since been translated into many ...
, a Flash
MMORPG A massively multiplayer online role-playing game (MMORPG) is a video game that combines aspects of a role-playing video game and a massively multiplayer online game. As in role-playing games (RPGs), the player assumes the role of a Player charac ...
uses Metalinks for downloads and so does SageMath, the open-source mathematical software. The software hosting and collaboration platform Origo generates Metalinks for all hosted releases. The following Linux distributions use Metalink for ISO image distribution: Adios, Bayanihan Linux,
BeleniX BeleniX is a discontinued operating system distribution built using the OpenSolaris source base. It can be used as a Live CD as well as installed to a hard disk. Initially developed as a Live CD along the lines of Knoppix to showcase OpenSolaris ...
,
Berry Linux Berry Linux is a Live CD Linux distribution that has English and Japanese support. Berry Linux is based on and is compatible with Fedora 37 packages. The distribution is primarily focused on use as a Live CD, but it can also be installed to a liv ...
,
BLAG Linux and GNU BLAG Linux and GNU is a discontinued Linux distribution made by the Brixton Linux Action Group. BLAG is a discontinued, single-CD distro with applications desktop users "expect" from a desktop including multimedia, graphics, desktop internet app ...
, Bluewhite64 Linux,
Damn Small Linux Damn Small Linux (DSL) is a discontinued computer operating system for the x86 family of personal computers. It is free and open-source software under the terms of the GNU GPL and other free and open source licenses. It was designed to run graph ...
,
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
,
GoboLinux GoboLinux is a Linux distribution whose most prominent feature is a reorganization of the traditional Linux file system. Rather than following the Filesystem Hierarchy Standard like most Unix-like systems, each program in a GoboLinux system has i ...
,
Granular Linux Granular, or Granular Linux, is a Linux distribution targeted at the common desktop users. Granular is based on PCLinuxOS and comes as an installable live CD. The CD version of Granular features two desktop environments - KDE and a development v ...
,
KateOS KateOS was a Linux distribution originally based on Slackware. It was designed for intermediate users. Its package management system used so called TGZex (.tgz) packages, which unlike Slackware packages support dependency tracking (optional), int ...
, Linux Mint, openSUSE, Pardus Linux,
PCLinuxOS PCLinuxOS, often shortened to PCLOS, is an x86-64 Linux distribution, with KDE Plasma Desktop, MATE and XFCE as its default user interfaces. It is primarily free software operating system for personal computers aimed at ease of use. It is con ...
, PuppyLinux, Sabayon Linux, StartCom Enterprise Linux, SUSE Linux, Ubuntu. The following
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
based distributions use Metalink for ISO image distribution:
DesktopBSD DesktopBSD is a Unix-derivative, desktop-oriented operating system based on FreeBSD. Its goal is to combine the stability of FreeBSD with the ease-of-use of K Desktop Environment 3, which is the default graphical user interface. History and de ...
,
MidnightBSD MidnightBSD is a free Unix, desktop-oriented operating system originally forked from FreeBSD 6.1, and periodically updated with code and drivers from later FreeBSD releases. Its default desktop environment, Xfce, is a lightweight user friendly ...
, and TrueOS.


Metalink client feature comparison

A guide to which clients support which Metalink features: No clients support rsync at this time.


Metalink generation

Metalink is formatted as XML so it can be either hand-crafted or created with an XML library, useful 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 hashes and mirror/p2p lists. * Dynamic online metalinks based on metadata. Automatically created metalinks based on metadata published by each mirror. * MirrorManager ( MIT X11 license) is used by the Fedora Project for dynamically listing mirrors. * MirrorBrain ( GPL, Apache License) is a real-time Metalink generator and download redirector. It can either return Metalinks, or automatically redirect non-Metalink clients (per HTTP redirection) to a mirror server near them. Transparent negotiation of Metalinks, embedding PGP signatures, Metalink/HTTP and other advanced features are supported. It is used for instance by openSUSE and OpenOffice.org.


Example Metalink 4.0 .meta4 file

Metalink 4.0 files have the extension and are XML text files. They are served with the application/metalink4+xml
Internet media type A media type (also known as a MIME type) is a two-part identifier for file formats and format contents transmitted on the Internet. The Internet Assigned Numbers Authority (IANA) is the official authority for the standardization and publication o ...
. 2009-05-15T12:23:23Z 14471447 Example 1.0 en A description of the example file for download. 3d6fece8033d146d8611eab4f032df738c8c1283620fd02a1f2bfec6e27d590d ftp://ftp.example.com/example.ext http://example.com/example.ext http://example.com/example.ext.torrent


Example Metalink/HTTP header fields

Metalink in HTTP header fields makes use of existing standard HTTP header fields such as ETags, Link header fields (for mirrors and P2P), and Instance Digests (for hashes).
Etag: "thvDyvhfIqlvFe+A9MYgxAfm1q5="
Link: ; rel=duplicate
Link: ; rel=duplicate
Link: ; rel=describedby; type="application/x-bittorrent"
Link: ; rel=describedby; type="application/metalink4+xml"
Link: ; rel=describedby; type="application/pgp-signature"
Digest: SHA-256=MWVkMWQxYTRiMzk5MDQ0MzI3NGU5NDEyZTk5OWY1ZGFmNzgyZTJlODYzYjRjYzFhOTlmNTQwYzI2M2QwM2U2MQ


Example Metalink 3.0 .metalink file

Metalink 3.0 files have the extension and are XML text files. example-md5-hash example-sha1-hash ftp://ftp.example.com/example.ext ftp://ftp.example.net/example.ext http://example.com/example.ext http://example.net/example.ext http://example.org/example.ext.torrent


See also

*
ed2k URI scheme In computing, eD2k links (''ed2k://'') are hyperlinks used to denote files stored on computers connected to the eDonkey filesharing P2P network. General Many programs, such as eMule, MLDonkey and the original eDonkey2000 client by '' MetaMachi ...
* Magnet URI scheme * Named data networking


References


External links

* {{Download managers Distributed data storage Download managers Internet Protocol based network software XML-based standards