Jump to content
Comet Forums

Feature Request : Metalink support


Recommended Posts

Metalink is a format for storing ftp/http mirrors and p2p (bt, magnet, ed2k) in XML. Then clients can download from whatever method they support, hopefully from all at the same time. It also stores info like checksums & uses backwards compatible hyperlinks - you can link to a file like regular, but also link to it's metalink & metalink clients will use the metalink, not just the regular link.

Right now, GetRight and aria2 bittorrent clients support it. Speed Download, iGetter, D4X, KGet, and a few other download managers have added or are adding support. OpenOffice.org uses it to distribute their free office suite.

A simple .metalink looks like this:

<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" generator="Metalink Editor version 1.0.0" xmlns="http://www.metalinker.org/">
<name>Xi Software</name>
<identity>Net Transport</identity>
<description>Net Transport (NetXfer) is a downloading tool.</description>
<file name="NXSetup_multi.zip">
 <hash type="md5">18148ed6dc0fc6a48f345579f099d6bd</hash>
 <hash type="sha1">01586b2c0ec5d8e985138204404878f5ecbeef58</hash>
 <pieces type="sha1" length="262144">
   <hash piece="0">ce50319f58e846e3e0c66a9ada9015e601126864</hash>
   <hash piece="1">c9e73e336831a364cedcd889259b7330d48f90fd</hash>
   <hash piece="2">a7f5281c629ea63c791f320db3b0df85fdb01861</hash>
   <hash piece="3">e6cf5571185db0ec79b551222596462db445bdd6</hash>
   <hash piece="4">8982e850d2e3ea005119beea3cc05daca28de474</hash>
   <hash piece="5">a0e7a3a3a46f1ae5fb4eb8529b6fb8ee82fa43a8</hash>
   <hash piece="6">96540cfade1ce9d3846f41510fbed46965b29568</hash>
   <hash piece="7">87108128d4dde5ba62ffec1f1cc3fc292fc298ca</hash>
 <url type="http"  preference="100">
 <url type="http" location="gb" preference="100">
 <url type="http" location="hu" preference="100">
 <url type="ftp" location="cn" preference="100">

There are also videos on the site of it in action.


Link to comment
Share on other sites

If you add Azureus DHT you can then use Azureus Meta Links. So people will be able to use the meta links that are already supported out there instead of making yet another addition. :)

Unfortunately, many sites, projects, and applications do not use p2p for a variety of reasons. They still use mirrors.

Which is where metalink comes in handy, because you can use just mirrors, just p2p, or a combo.

Link to comment
Share on other sites

  • 11 months later...

Around 13 download programs support metalink now, including GetRight, Free Download Manager, Speed Download, DownThemAll!, Orbit Downloader, Phex, aria2, KGet, SmartFTP, and wxDownload Fast. Many Linux distributions and other projects use it for their downloads.

Right now, DownThemAll!, a Firefox extension, is the easiest way to try metalink out.

Some basic features the information in a metalink can be used for:

* Listing multiple mirrors for higher availability.

* Automatic error recovery and repair of corrupted downloads.

* More information about a download for users.

* Add a file or multiple files to a download queue.

* Share a library of files between filesharing applications.

Metalinks can also contain information like in the PAD file on the front page, which is used to give users more info about a download and for download sites. Here's one way that info (logo, description, publisher, license, OS/arch, etc) can be presented to a user:


Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...
  • 3 months later...

I think Metalink fits in so well w/ BitComet's feature list:

HTTP/FTP Download - Innovative P2P Technology

# Multi-Mirror download: Mirror servers are automatically found for the file being downloaded. Data from these servers are downloaded at the same time to increase download speed 300% or more.

# Multi-Section download: Files are split into several sections which are downloaded at the same time to increase the download speed up to 500% or more.

There's also the MD5 listed on the front page, & the PAD file, both of which can be included as info in the metalink for automatic use.

Link to comment
Share on other sites

I agree with this feature request.

Metalink is cross-platform and cross-protocol compitable, which is almost exactly what BitComet is.

So yes, it would fit perfectly.

It's just a question about how hard it is to implante.

I don't think it would be too much work. BitComet already has the features, it just needs to be able to read the XML to get the info used in those features.

There are a number of open source implementations too, from the tiny 50k metalink checker in Python, to aria2, Downthemall, Free Download Manager, KGet, and wxDownload Fast.

Link to comment
Share on other sites

I agree with this suggestion as well.

Metalink seems to be an emerging standard among the more progressive file transfer platforms out there today, and the synergy with BitComet is pretty obvious (just look at the introductory paragraph on the homepage--BitComet's primary philosophy is multi-protocol.) I'm not too familiar with the technical hurdles this request might entail, but in terms of moving BitComet forward, it seems a match made in heaven.

That's my $0.02, FWIW.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...