metalink-examples: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
No edit summary
m (Reverted edits by Roc4tCnaal (Talk) to last version by Brian)
 
(6 intermediate revisions by 6 users not shown)
Line 18: Line 18:
*[http://sourceforge.net/index.php Sourceforge]  
*[http://sourceforge.net/index.php Sourceforge]  


=== Example #1: [http://arklinux.org/index.php?option=com_content
=== Example #1: [http://arklinux.org/index.php?option=com_content&task=view&id=5&Itemid=18 Ark Linux Download] ===
You can download Ark Linux Home 2006.1-rc2 from any of the following locations (you should typically pick one close to your location, unless it is overloaded):
Name
Location  Protocols
North Carolina, USA  FTP HTTP
Oregon, USA  FTP HTTP
Kent, UK  FTP HTTP
Amsterdam, The Netherlands  FTP HTTP
Amsterdam, The Netherlands  FTP HTTP
Dublin, Ireland  FTP HTTP
Poland  FTP
 
Thessaloniki, Greece  FTP HTTP
 
The torrent file is here.
 
== Existing Practices ==
Most solutions are manual (wading through FTP sites on mirrors to find the exact file) or by searching against a filename & size.
 
== Proposal ==
A microformat for Mirrors could make them more usable. Web browsers or download managers could be modified to use them automatically.
 
<pre>
<div class="metalink">
  <a href="http://www.foo.com/foo.zip!md5!FFEEE542543...">HTTP
  download</a>
  <a href="ftp://www.foo.com/foo.zip!md5!FFEEE542543...">HTTP
  download</a>
  <a href="http://www.foo2.com/foo.zip!md5!FFEEE542543...">HTTP
  download</a>
  <a href="http://www.foo.com/foo.torrent">Bittorrent download</a>
  <a href="ed2k:/....">EDonkey download</a>
</div>
</pre>
 
It's pretty simple; the microformat states that all <a> links inside a
<sometag class="metalink"> are alternative ways of reaching the same
resource, and that when the UA sees a page like this it should
automatically pick the best one and begin downloading.
 
For legacy UAs, a stylesheet can hide the checksum spans if the author
wants to. No semantic information is present in the page text, which can
be freeform, in any language or whatever. The type of the link is
inferred from the scheme (in this case, http:) or the file extension
(e.g. .torrent) of the URL.
 
The microformat leverages [http://www.gerv.net/security/link-fingerprints/ Link Fingerprints] to embed the checksums where
required (BT, for example, has its own).
 
Alternatively, [[hash-examples]] could be used for checksums.

Latest revision as of 18:16, 20 December 2008

Please incorporate this into alternates-examples as it is substantially the same problem. Thanks! Tantek

Metalink Examples

A microformat similar to the Metalink file format for aggregating the ways to get the same exact file.

The Problem

For downloading some files, mirrors are listed without any way of being used automatically by programs that do segmented downloading (Web browsers or download managers). There are many different ways of downloading a file; we want people's clients to choose the best way and location, rather than them having to.

Participants

  • Gervase Markham
  • Ant Bryan

Real-World Examples

Who offers Mirror downloads for software

This is only a small sampling.

Example #1: Ark Linux Download

You can download Ark Linux Home 2006.1-rc2 from any of the following locations (you should typically pick one close to your location, unless it is overloaded): Name

Location Protocols

North Carolina, USA FTP HTTP

Oregon, USA FTP HTTP

Kent, UK FTP HTTP

Amsterdam, The Netherlands FTP HTTP

Amsterdam, The Netherlands FTP HTTP

Dublin, Ireland FTP HTTP

Poland FTP

Thessaloniki, Greece FTP HTTP

The torrent file is here.

Existing Practices

Most solutions are manual (wading through FTP sites on mirrors to find the exact file) or by searching against a filename & size.

Proposal

A microformat for Mirrors could make them more usable. Web browsers or download managers could be modified to use them automatically.

<div class="metalink">
  <a href="http://www.foo.com/foo.zip!md5!FFEEE542543...">HTTP
  download</a>
  <a href="ftp://www.foo.com/foo.zip!md5!FFEEE542543...">HTTP
  download</a>
  <a href="http://www.foo2.com/foo.zip!md5!FFEEE542543...">HTTP
  download</a>
  <a href="http://www.foo.com/foo.torrent">Bittorrent download</a>
  <a href="ed2k:/....">EDonkey download</a>
</div>

It's pretty simple; the microformat states that all <a> links inside a <sometag class="metalink"> are alternative ways of reaching the same resource, and that when the UA sees a page like this it should automatically pick the best one and begin downloading.

For legacy UAs, a stylesheet can hide the checksum spans if the author wants to. No semantic information is present in the page text, which can be freeform, in any language or whatever. The type of the link is inferred from the scheme (in this case, http:) or the file extension (e.g. .torrent) of the URL.

The microformat leverages Link Fingerprints to embed the checksums where required (BT, for example, has its own).

Alternatively, hash-examples could be used for checksums.