Metalink as a companion of P2P networks

The file format that enhances content distribution in batch.

This article introduces the capabilities of Metalink (RFC 5854) and how is it useful to share contents over any mean, especially over P2P and XMPP.

About

Metalink is an Internet standard that harnesses the speed and power of P2P networking and traditional downloads in a single click.

A Metalink file is an XML file which allows to share multiple files over different resources in an indiscriminating manner.

Properties

Filetype

MIME-Type

Standard

Advantages

Examples

Distribution of a singular file

This is a Metalink file which lists files of different resources and protocols.

 
 
   2024-05-15T10:41:27Z
   
     2285895680
     MX-23.4_x64
     1.0
     en
     MX-23.4_x64, with a standard Debian 6.1 64 bit kernel and hardware support from Debian Stable. Suitable if your PC is a few years old.
     9155136c5ea83179907dca55c6eb67b1
     b3abe07dd145cc01a8a91a71721d5a80ea210b54
     93e947ce888f6e5a79ab131d812ba5c92c82f0c77bdaa2bb91238c086f32eded
     ftp://ftp.mxlinux.i2p/iso/MX-23.4_x64.iso
     gemini://iso.mxlinux.i2p/MX-23.4_x64.iso
     magnet:?xt=urn:btih:c63a772102952fd53ece929b0e877c507c529d60amp;dn=MX-23.4_x64.iso&tr=http%3A%2F%2Fl2.mxrepo.com%3A6969%2Fannounceamp;tr=http%3A%2F%2Fit.mxrepo.com%3A6969%2Fannounce
     https://l2.mxrepo.com/torrents/MX-23.4_x64.iso.torrent
     ed2k://|file|MX-23.4_x64.iso.torrent|174692|EE14AEC681FFF5CD0886898E8844D81A|/
     ed2k://|file|MX-23.4_x64.iso.torrent|174692|EE14AEC681FFF5CD0886898E8844D81A|h=O3TDN7OE5DMQDU2WPUXX4TZDLLABXUJG|/
     magnet:?dn=MX-23.4_x64.iso.torrentamp;xt=urn:ed2k:ee14aec681fff5cd0886898e8844d81aamp;xt=urn:ed2khash:ee14aec681fff5cd0886898e8844d81aamp;xl=174692
     ed2k://|file|MX-23.4_x64.iso|2285895680|C5737CF98843B6E8BED60AD6F5CFD063|/
     ed2k://|file|MX-23.4_x64.iso|2285895680|C5737CF98843B6E8BED60AD6F5CFD063|h=7SNYO7RDOVONAG43S5AD6ERMHR4R4BTE|/
     magnet:?dn=MX-23.4_x64.isoamp;xt=urn:ed2k:c5737cf98843b6e8bed60ad6f5cfd063amp;xt=urn:ed2khash:c5737cf98843b6e8bed60ad6f5cfd063amp;xl=2285895680
   
 

Notice, that it also includes links to a torrent.

Because a torrent is a metadata file of the file MX-23.4_x64.iso, then it is enclosed in tag "metaurl".

Distribution of multiple files

This is a Metalink which distributes multiple files (images and a document).

 
 
   2024-12-22T23:25:53Z
   
     6364
     a281b9a26b37efb181842688d7269184
     https://git.xmpp-it.net/sch/Slixfeed/raw/branch/master/README.md
     en
     Information about Slixfeed, including installation instructions.
   
   
     187748
     fe9116676d5b434ccf4e643f0a343946
     https://git.xmpp-it.net/sch/Slixfeed/media/branch/master/slixfeed/documentation/screenshots/chat_add_url.png
     en
     monocles chat: Chat intreface.
   
   
     89233
     e4176448486ee41fde213819a5b1d4ca
     https://git.xmpp-it.net/sch/Slixfeed/media/branch/master/slixfeed/documentation/screenshots/adhoc_commands.png
     en
     monocles chat: Ad-Hoc Commands.
   
   
     206658
     d143526f2f276f47c977f328917cc2a5
     https://git.xmpp-it.net/sch/Slixfeed/media/branch/master/slixfeed/documentation/screenshots/adhoc_add_url.png
     en
     Cheogram: Data Form (Subscribe).
   
   
     104694
     12612dd5f323d3573b1316c8a8eb53e1
     https://git.xmpp-it.net/sch/Slixfeed/media/branch/master/slixfeed/documentation/screenshots/adhoc_settings.png
     en
     Cheogram: Data Form (Settings).
   
 

This would be useful to share multiple images on instant messaging systems such as XMPP.

In XMPP, the description of the first file be displayed.

Conclusion

If you do not want to rely on BitTorrent for sharing files, or if you tend to share data sets that are subjected to change from time to time, then Metalink is the solution for you.

Samples

Those samples are of older implementation (Metalink 3.0), yet are good as example.

Two Linux distribution projectss have utilized Metalinks to distribute software over eD2k and HTTP.

eD2k URI (Sabayon Linux)
Hash segments (Mandriva Linux)

Resources

Metalink Versus Torrent
RFC 5854: The Metalink Download Description Format
RFC 6249: Metalink/HTTP: Mirrors and Hashes
Metalink Homesite
Metalink Project

Related

The p2p-configs manifesto