Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Metalinks Tries to Simplify Downloads 62

ant_tmwx writes "Metalinks collect information about files in an XML format used by programs that download. The information includes mirror lists, ways to retrieve the file on P2P networks, checksums for verifying and correcting downloads, operating system, language, and other details. Using Metalinks details the Free Software programs you can use to download them with. There are also clients on Mac and Windows. With a list of multiple ways to download a file, programs can switch to another method if one goes down. Or a file can be downloaded from multiple mirrors at once, usually making the download go much faster. Downloads can be repaired during transfer to guarantee no errors. All this makes things automatic which are usually not possible or at least difficult, and increases efficiency, availability, and reliability over regular download links., openSUSE, and other Linux/BSD distributions use them for large downloads."
This discussion has been archived. No new comments can be posted.

Metalinks Tries to Simplify Downloads

Comments Filter:

    Or, depending on your location, use one of these mirrors:

    Seriously though, I like the basic idea, but the system does add an extra point of failure.
    • by Anonymous Coward
      > [...] I like the basic idea, but the system does add an extra point of failure.

      Avoiding problems with dead servers is not the only use of mirrors. Metalink is more used to group all informations to get a file, reliably (hash checks), using your preferred protocol (and, possibly, multiple protocols at once), and as fast as possible (by downloading little, from a lot of places, rather than a lot, from a single place).
    • by grumbel ( 592662 )
      ### Seriously though, I like the basic idea, but the system does add an extra point of failure.

      Does it? Its not totally fool proof since the original server hosting the link file could still go down, but thats not an extra point of failure, since its no different then the server going down when trying to download the real file from it in the first place. Once you have the Metalink file everything should be fine.

  • by MMC Monster ( 602931 ) on Sunday February 25, 2007 @10:38AM (#18142862)
    Are there clients that integrate (ie: extensions) for Firefox, IE, Safari, and Opera? If there is proper integration with these clients (meaning seamless downloading without opening third party download managers), this might actually go well.

    It's bad enough when I tell my dad to download a torrent and he complains that a torrent manager client pops up; especially when he doesn't realize that closing the window may not stop the torrent.
    • by cronius ( 813431 ) on Sunday February 25, 2007 @10:49AM (#18142924)
      From []:

      Download Metalinks with these programs...
      GetRight (Windows) is a Download Manager that supports Metalink.
      FlashGot (Cross platform, Open Source) is a Firefox extension that integrates with around 30 Download Managers and supports Metalink with wxDownload Fast, Speed Download, and GetRight 5.2d and later.
      aria2 (Unix/Windows, Open Source) is a high speed download utility that supports segmented downloads, BitTorrent, and Metalink (HTTP/FTP/BitTorrent integrated) from the command line.
      Speed Download (Mac) is a slick Download Manager with fast downloads & P2P filesharing. It integrates with popular Mac browsers like Safari, Camino, & Firefox (along with 5 others).
      wxDownload Fast (Mac/Unix/Windows, Open Source) supports Metalink.
      Free Download Manager (Windows) unreleased BETA supports Metalink.
      Orbit Downloader (Windows) is a new download manager with interesting P2P features.
      SmartFTP (Windows), an excellent FTP client on Windows, supports Metalink for adding files to a transfer queue and checksum verification (no acceleration).
      Phex (Mac/Unix/Windows) is a Gnutella P2P client that can export Metalinks.


      If you like Metalink, request support in these clients on their forums or bug trackers:

      CuteFTP is a Windows GUI FTP client.
      Bouncer (Open Source) powers downloads for various projects like Mozilla. A patch for Metalink generation has been submitted by Bram Neijt but not yet integrated.
      cURL (Cross platform, Open Source) an interface for libcurl would be cool. Anyone up for writing one?
      Shareaza (Open Source) would be great as well.
      Opera is a great standards compliant browser that's always adding new features. Current threads: 1, 2, 3
      Firefox (Open Source) is pretty neat too.
      So looks like we need to wait alittle.
    • DownThemAll [] a popular Firefox download manager extension has basic support in development.

      KGet for KDE4 (their download manager) also has just added initial support.

      Both are free open source projects, so help out if you're able.
    • The Orbit downloader is better. And here is a step-by-step tutorial for downloading metalink: alink-Downloader.htm/ []
  • You can do that with computers? Honestly, how hard is it to pick your OS out of a list of download links?

    I don't think it's a bad idea, I just don't get why it's on /.

    Or in the case of us gentoo folk, just build the damn program and eliminate any doubt :-)

    • by jZnat ( 793348 ) *
      You know, it might be trivial to change emerge's use of wget to use an application that also supports metalinks (or a wrapper to support wget and a metalinks program) which could be useful...
  • by grasshoppa ( 657393 ) <(skennedy) (at) (> on Sunday February 25, 2007 @10:46AM (#18142906) Homepage
    From their page:

    Why should you use it?

    Your downloads will be simpler, faster, and more reliable...without you doing anything differently.

    Bittorrent already does this just about as effectively as this idea will.

    It's a neutral framework that doesn't favor any one program, Operating system, or group, and is easy to implement.

    Once again, bittorrent is just as easy. And its OS agnostic.

    Site owners
    Resume and recover from single servers going down.

    Sorta an issue with bittorrent, but not really. House the seed in multiple locations. Or better yet, have your clients take a copy of the seed and share that with their peers in the case of a downed server.

    Downloads can automatically be split between sources (mirrors/P2P) and all downloads will be verified.
    More people can get access to your files easier, more reliably, even at the most heavily accessed times.
    This means less retries and cheaper bandwidth and support bills. Saving money = good.

    Once again, this is where bittorrent shines. A lot of people going after your files? Great, that means it's got a better availability on your torrent, more bandwidth for everyone.

    To me, this looks like a solution in search of a problem.
    • Re: (Score:3, Insightful)

      by mikkelm ( 1000451 )
      I don't know about you, but given adequate capacity, I prefer to get my files via FTP or HTTP. Bittorrent is fundamentally unreliable when it comes to download speed and susceptible to packet shaping and the likes. In order to slow this down, theoretically, assuming that all paths are available you'd have to throttle the native P2P as well as FTP -and- HTTP, and I don't know of many ISPs that throttle even FTP, let alone HTTP.

      Bittorrent is neat and handy if you don't have the capacity or balls to exclusivel
      • by TheRaven64 ( 641858 ) on Sunday February 25, 2007 @12:02PM (#18143370) Journal
        BitTorrent has two major disadvantages:
        1. It is fundamentally inefficient. The overall overhead of using BitTorrent on the Internet is greater than direct downloads.[1]
        2. It uses the most expensive bandwidth for distribution. Consumer upload bandwidth is the most scarce and about the most expensive bandwidth you can buy
        The only advantage of BitTorrent is that you (the content provider) aren't paying for as much of the bandwidth. On the other hand, bandwidth bought in bulk is so cheap that it's really not worth if for most people.

        This system, however, would allow me to easily download automatically from the mirror closest to me. It would also be pretty easy using a little ECMAScript to grab the correct mirror using the browser's locale and present a direct download link.

        [1] Actually, it's a pretty horrible protocol. It doesn't do anything with location information, so it adds a lot of extra load to the backbones. It uses TCP, so it will never support multicast without a fundamental redesign, and the algorithms for rate distribution have some fundamental flaws.

        • by __aailob1448 ( 541069 ) on Sunday February 25, 2007 @01:43PM (#18144130) Journal
          If it's a pretty horrible protocol, why has it become so popular? Is it possible that all or some of those design "flaws" you mentionned are necessary for it to do what it does? And if not, why have you not created your own, awesomer fileswarming protocol? In fact, why has nobody else?

          And I'm really asking here. Not just disguising my attacks as questions.
          • Some of those flaws are needed to do what it does, others arn't major enough that anyone would switch -- If someone came out with a p2p app that corrected just those minor things people would say "who cares?" and stick to pirating things with their shiny copy of utorrent.

            Really, I've always prefered downloads split between multiple fast mirrors(split http, FTP as done by the actual piracy scene) rather than multiple slow client peers (utorrent, kazaa, any other common 'end user' piracy). I hope this metalin
      • You hold good points, but then explain to me why downloading a Linux distro (take SLAX for example) is faster over Bittorrent than FTP or HTTP?
        • Most likely because the source you're doing your FTP/HTTP downloads from isn't fast enough. Both FTP and HTTP are undeniably more efficient than Bittorrent, even in the unlikely event that the torrent you're leeching from is maxing your connection.
        • SLAX apparently does not have very fast, or very many, mirrors. Try downloading an ISO from a distribution that has a robust mirror network. If your connection speed is high enough, you'll see a difference.
        • How come downloading a WoW patch over the built in bittorrent client is slower than loading up firefox and searching for the same patch on a traditional download site, even including the manual searching for the file?

          It also depends on your definition of "fast" really. If the files ETA is more than 15 minutes I'm usually going to spend at least the first 5 looking for a better way to download it.
    • by Jonah Hex ( 651948 ) <hexdotms@gmai l . com> on Sunday February 25, 2007 @11:21AM (#18143074) Homepage Journal
      It does not look like it excludes ANY type of file transfer, if your client supports it you can do it is how it looks to me.

      Example - MetaLink XML contains the following formats:
      5 different HTTP sites
      2 FTP sites
      3 BitTorrent Trackers
      eMule/Edonkey Hash

      Example - Client One has implemented:
      HTTP, FTP and BitTorrent

      Example - Client Two has implemented:
      BitTorrent and eMule

      Example - Client Three has implemented:
      HTTP, FTP, BitTorrent and eMule

      I'm surprised it's taken this long to come up with this sort of client independant format.

      Jonah HEX
    • by grumbel ( 592662 ) <> on Sunday February 25, 2007 @11:51AM (#18143310) Homepage
      ### Bittorrent already does this just about as effectively as this idea will.

      If the tracker goes down or there happens to be a lack of seeds the link is dead. With Metalink on the other side a client could automatically use *all* ways to get a file, not just a single tracker or server, but multiple http servers, P2P networks and torrent all at the same time, if one goes down there might still be plenty of others left.

      ### Once again, bittorrent is just as easy. And its OS agnostic.

      But not protocol or server agnostic.

      ### To me, this looks like a solution in search of a problem.

      Ever tried to download a file from Sourceforge or any other server with a dozens of mirrors which you have to manually select? That is exactly the problem that Metalink solves, its a standard way to show where the mirrors are, completly independent of the protocol in use. Thus it allows the client to automatically select them or use them all at the same time for faster download, no more stupid manual mirror selection just to find out that the host is down or slow as hell.

      Metalink doesn't try to replace bittorrent, quite the opposite, it tries to provide a way to simply bundle all links that lead to the same file, torrent included.
      • by anethema ( 99553 )
        Actually, the torrents you're referring to are old hat.

        With DHT and multiple trackers a torrent is pretty much unkillable. Even if you have a lot of peers and no seeds, you usually have the entire file distributed throughout the peers and more seeds will be created.

        For example on each torrent has maybe 5 (plus or minus) trackers associated with it. And DHT ensures that even if ALL of the trackers go down, peers will continue to find and download from each other.

        It is a fairly robust download met
    • The advantage I hope this might provide over bittorrent is making it completely invisable to the user. For a while I've wanted a bittorrent client that was completely invisable to the user. It just goes and downloads and closes itself automatically after it is finished and the ratio reaches 1.0, or the user moves the file. I find explaning bittorrent to my parents annoying, and while they've got it now, it would have been nice if firefox could have simply done it completely invisably from them.

      Power users w
      • For a while I've wanted a bittorrent client that was completely invisable to the user.

        And it exists. Either...

        • a small torrent client exe-file that is piggy-backed with the actual torrent file and started if the user has no client. Downhill battle []'s Blog Torrent [] has such an exemple, called "Easy Download". People just click on the link and the necessary client is automagically installed.
        • a on-the-fly P2P-izer, that just works by pre-pending a prefix to the address (just like the Coral cache). Dif []
    • If this application doesn't fuck up my router like BitTorrent does, I'm there.
    • by Ilgaz ( 86384 )
      Bittorrent can never shine while their official site ( pushes piracy from main page. It is a great idea but wasted to pirates and thieves in majority.
  • If this standard is accepted by IE and Firefox, *then* it will be news. Until then it's just buzzword compliant crap.
    • by mgblst ( 80109 )
      No, until then it is an idea, a good idea. If there are problems with it, we have the chance to point them out, before we start convincing the big browsers to adopt this?

      I can't see how this is a bad idea, it seems like great to me. Sure bittorrent has its place, but so does this.

      And what is wrong with you? Why can't we talk about this idea? Maybe you are on the wrong site, fox news is maybe more what you want.
  • It will be great for sites that have a LOT of mirrors. Particularly sourceforge, of which no single mirror is reliably "fast enough" for me.
    • by jZnat ( 793348 ) *
      Ever tried using the Easynews mirror? Easynews is a dedicated Usenet [a.b] provider with extremely fat tubes, so I think you should get a good speed from them. I typically do...
  • Strangely enough, the OpenOffice distribution page links to a pay-for Metalink client for the Mac [], but hopefully, just two links above, there's the cross-platform open source client. That's confusing. I clicked on the Mac client, thinking I would end up at a Mac-oriented free (even open source?) client, but no, one must choose the cross-platform. Nothing really wrong there, only that it's confusing.

    Unrelated, I saw numerous attempts of such integrated p2p downloads. The part that got me from the Metalink ma
    • Ok. I just had to follow some more links to realize that the open source cross-platform alternative doesn't offer MacOS X binaries yet, one has to compile from source. That's a showstopper for most Mac users... well, with Metalink getting more attention, I'm not worried, mature clients will come soon.
  • I tried to find additional info about location embedding but haven't succeeded so far. From the wikipedia page [], the XML code includes url type="http" location="uk" preference="90"> t /url, the part I don't get, as a geospatial professional (see sig), is why the location is encoded as the country code. What are the reasons? Does it make more sense to encode location with a simple lat-lon values (similar to, say, the georss [] standard do). Some countries being so large, I fa
    • Re: (Score:3, Interesting)

      by TheRaven64 ( 641858 )

      What did I got wrong?

      You are not thinking in terms of cost. When you buy capacity in bulk, you might get a flat rate, but you are more likely to get one rate for national and one rate for international traffic. In the UK, I believe it's fairly common to get a more expensive rate for transatlantic traffic. If I'm hosting a mirror in the UK, then it will cost me more if Americans use it than people in France. Any finer-grained information doesn't really matter.

      Of course, with IPv6 we ought to be able to get rid of this kind

    • by sveinb ( 305718 )
      Had the internet had the topology of a mesh, then you would be right. However, the internet has a hierarchical structure where things like cities and nations frequently show up as hubs. As an example: The number of hops from my computer in Oslo to a server in Tromsø (same nation) is most likely smaller than the number of hops to a server in Gothenburg (different nation), even though the geographical distance is shorter to Gothenburg.
  • I've looked around the site, and I've found no document for the specification of a metalink file. IMO, this will easily lead to many conflicts with different clients each having their own version of "Metalinks".
  • by hey ( 83763 ) on Sunday February 25, 2007 @12:37PM (#18143650) Journal
    This is a good idea. It attempts to formalize something thats been done many times before. We do it manually when download from Sourceforge, Yum has a list of mirrors it does automatically. A standard would be nice. I would like to see a new web protocol for it - ie:


    Then inside simply a list of URLs and weights...

   [] 10
   [] 10
            torrent:// 20

    XML doesn't help.
    • by Kjella ( 173770 )
      Well, it's certainly missing localization. Now if you've coded up that spec and got that implemented, good luck changing it. I'm quite partial to XML for one thing - you can add tags and have backwards compatibility by ignoring unknown tags. What if you want to add say a standard location for the PGP/GPG signature? Maybe you want the certs to be part of the ML file? What if you want to specify that some sites have access restrictions, like for example the Mandriva club? Sure, you could get an access denied,
  • But "simplify" and "XML format" in once sentence does not always "return true;". If the number of information stored in XML will grow how much CPU time and storage it will require? Wouldn't it be better to get in into database and provide XML based API? Querying XML is a bit slower than asking any DB. Even SQLite.
    • The important part is not how stuff is stored on the server - in fact, that's completely irrelevant. Relevant is only what the client is presented. XML is rather good at storing structured data and most browsers can parse it already. OTOH packing everything into small SQLite database files and sending those to people would not only require every client to link against SQLite but also make it impossible for people to just open the file in a text editor and look at what's inside. Of course you could use direc
  • Well, the summary makes it sound divine - one link, one bit of software that accesses P2P, FTP etc interchangeably to maximize download speed.

    That seems like a logical growth of Bittorrent.

    Trying to figure out exactly what is needed though was another matter. After a half hour and three or four web sites I wound up with the wxDownload Fast [] Windows download manager and a Metamirrors Firefox plugin [].

    Is it all working as advertised? Well, stuff is downloading (OpenSUSE 10.2) but I have no idea of it's faster, o
    • by eddy ( 18759 )

      Not sure I understand what kind of checklist you want. That a client is needed ought to be fairly obvious. Your "then do THIS" depends entirely on the client.

      You can 'apt-get install aria2' for a cmdline utility in the style of wget, supporting metalinks.

  • It seems like we might as well just use magnet links, since they can include different hash types of the file and different locations to download from. I already have them for certain larger files on my website and work fine if you have a client that supports it.
  • Or a file can be downloaded from multiple mirrors at once, usually making the download go much faster.

    M users simultaneously download from N servers individually. Or M users simultaneously download from N servers in parallel. Aside from some load balancing, can you really gain dramatically? The same number of bytes must be transfered from the same number of servers.

    • by AxelBoldt ( 1490 )

      can you really gain dramatically

      Yes, in most cases. The bottleneck of a connection is usually near the downloader's end. If such a bottleneck segment is shared by several people, then downloading in parallel (from several servers or even from the same server) helps: the downloader will receive a bigger share of the bottleneck segment.

      See here [] for a little experiment that illustrates the point and that you can reproduce easily.

      • by IcePic ( 23761 )
        And if you follow the replies on that link you get to see why server admins don't like clients that grab more resources than necessary.
        It works as long as you are the only one doing it, but when everyone starts using segmented downloads, everyone loses. And you not only
        go back to as it was before, you also manage to waste more than the same number of poeple would have before, if they would stick to using
        one connection per download.

        There has been discussions on the openoffice distribution lists about this to
  • These worked really great for the openSUSE release. Why is it good? It takes out the hassle of having to track down a working/fast mirror. Want to download a large DVD ISO *quickly*? Then this is the way. The small metalink file will have a populated list of around 50 mirrors. The client your using works with making multiple connections to all of these, so you will pretty much ALWAYS MAX OUT YOUR CONNECTION. And still get a really safe download. Why? Because it checks checksums on, IIRC, 4-megabyte chunks.

Steve Jobs said two years ago that X is brain-damaged and it will be gone in two years. He was half right. -- Dennis Ritchie