Metalink (XML) library for Ruby?

Hi,

Would anyone be interested in working on a Metalink library for Ruby?
There’s already one for PHP & Python (
Google Code Archive - Long-term storage for Google Code Project Hosting. ).

Metalink is a simple XML format for describing downloads. Most
.metalink files contain mirror lists/p2p (the various ways you can get
a file) and checksums (for file verification). They’re frequently used
for large files like ISOs and also contain chunk checksums for
repairing downloads and other info. But they’re also used by smaller
things like cURL, OpenOffice.org, podcasts, videos, and other stuff.

Close to 20 download programs support Metalink. There’s more info at

Here’s an example ruby-1.8.6-p111.tar.gz.metalink (most would contain
more mirrors, and maybe a description):

Ruby 1.8.6-p111 (md5: c36e011733a3a3be6f43ba27b7cd7485)

c36e011733a3a3be6f43ba27b7cd7485 ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.gz

Thanks,

On Jan 5, 2008 5:22 PM, Anthony B. wrote:

Would anyone be interested in working on a Metalink library for Ruby?

Metalinks are very cool. There’s some folks working on a wget
implementation in Ruby, and I had proposed they incorporate metalinks,
I don’t think they’ve done that yet, maybe not ever. Some guy named
Dag Odenhall[1] looks started a project for this on sharesource[2],
but it doesn’t appear to have anything done. I’m sorry I don’t have
time to help you in the near future.

Daniel Brumbaugh K.

[1]

[2]

On Jan 6, 2008 10:24 AM, Daniel Brumbaugh K.
[email protected] wrote:

Daniel Brumbaugh K.

[1]
Tim Groeneveld - Random musings from the world of an Open Source geek
[2]
http://sharesource.org/project/metalink4r

Daniel, thanks a lot for the encouragement!

I hadn’t known about metalink4r, even tho there was never a release
it’s at least interesting to know that someone thought about doing it
:slight_smile:

If this seems like something that you’d be interesting in working on
later, please let me know. Or if you’re just interested in metalinks,
we have a pretty low traffic discussion list at
http://groups.google.com/group/metalink-discussion , feel free to join
us.

On 6 Jan., 00:22, Anthony B. [email protected] wrote:

Hi,

Would anyone be interested in working on a Metalink library for Ruby?
There’s already one for PHP & Python (Google Code Archive - Long-term storage for Google Code Project Hosting.).

Hello Anthony,

I would like to help porting my library to Ruby.
That would be a good way to learn it :wink:
But I would need someone to help with the trickier parts at least:

  • reading XML
  • hash libraries (MD5, SHA-1, SHA-256, maybe ED2K)
  • HTTP requests and responses including headers
  • bin2ascii for creating and parsing BitTorrent

The Python code is a bit more than 2000 lines long and I would port
most of them.

Anyone interested?

On 9 Jan 2008, at 16:29, Rene L. wrote:

That would be a good way to learn it :wink:
But I would need someone to help with the trickier parts at least:

  • reading XML
  • hash libraries (MD5, SHA-1, SHA-256, maybe ED2K)
  • HTTP requests and responses including headers
  • bin2ascii for creating and parsing BitTorrent

The Python code is a bit more than 2000 lines long and I would port
most of them.

None of that’s terribly difficult, I’d be happy to lend a hand (and I
wrote metalink support into an app on the mac, so I at least have a
vague idea of what’s going on :slight_smile: )

Fred

On Jan 9, 2008 11:29 AM, Rene L. [email protected]
wrote:

But I would need someone to help with the trickier parts at least:

  • reading XML
  • hash libraries (MD5, SHA-1, SHA-256, maybe ED2K)
  • HTTP requests and responses including headers
  • bin2ascii for creating and parsing BitTorrent

The Python code is a bit more than 2000 lines long and I would port
most of them.

Anyone interested?

Rene, that would be great if you & Fred could collaborate.

I take it you’ve seen Fred’s reply, he worked on Speed Download (a
cool and absolutely gorgeous download manager) from

small world, didn’t expect to run into both you guys here :slight_smile: