FireTorrent

This is a quicky temporary website for FireTorrent - a BitTorrent extension for Firefox.

Currently it doesn't actually integrate directly with Firefox, causing .torrent files to open within it. Instead you have to manually open them using the GUI which can be reached through the Tools menu.

Eventually it'll show off things like Canvas support and other random Firefox 1.5 features. It will almost certainly never support more advanced features like super seeding or a tracker, instead it will concentrate more on being just a client.

It's currently in the middle of being written, and I have no time line for when it'll actually be available, but I sure hope by January 6th for the Extend Firefox contest. :) We'll see.

Download Source

News

We Have A Leach!

Well, it's now capable of leaching a file AND checking the blocks its downloaded. That (hopefully) means it's just moments away from being able to actually be a BitTorrent peer and upload, too.

And, as proof that it really does exist, here's a screenshot:

It downloaded (most) of the file!

Yay! I've gotten it to download most of a file! It may even be doing it correctly, I haven't checked yet! Unfortunately at some point it span into an infinite loop and started bumping the seed repeatedly. Bleck.

Another Update

The new source drop actually allocates space for the files and opens streams to allow them to be written to, but that's it. It doesn't connect to the tracker, it doesn't actually download - in short, it doesn't work yet.

This will be the last release before it does actually work, though, because the next step is to create a leaching client - one that downloads but doesn't upload. Obviously, this will never be made publically available. However it's the first step towards successfully implementing an actual client.

Source Available

I've uploaded the current source code. It doesn't actually connect to anything yet, (the code for that is currently commented out :)) but you can open Torrent files and verify that the contents were actually read properly.

Be warned it currently synchronously reads the torrent contents (yeah, I know, bad) so torrents with absolutely massive file counts (see below) may cause Firefox to show the "script is running too slowly" dialog.

You'll need Apache Ant to build the XPI, and you'll need to configure an xpidl compiler (you're on your own for that) if you intend to change the interfaces defined in the src/components/xvFireTorrent.idl file. If you leave them alone, you'll be fine with the included .xpt file.

That was fun :)

I just tried loading a torrent that contains 2077 files (mainly to see how the code that handles file paths would work). It grinded for quite a while, but it did finally succeed.

Azureus didn't really like displaying 2077 files in its file display either.