A Download Redirector and Torrent/Metalink Generator

Development Status

MirrorBrain is used in production, and serving millions of requests each day, since spring 2007.
There were no security incidents.

It is actively maintained, and new releases happen every few months.
(see the news archive).

There are open bugs and problems, with any piece of software... usually only non-critical.

The most critical part, mod_mirrorbrain (the actual redirector) is dependable, feature-complete and there are no significant bugs known.

The (optional) module mod_asn was added at the beginning of January 2009 and also proved stable since then. It's also feature complete, although one has to note that it is IPv4-only at this time. An extension of the AS (autonomous systems) database towards IPv6 might become feasible in the future. See issue 58 and this page

mod_autoindex_mb is stable and feature-complete.

Mid-term goals:

extend the documentation - continually happening, but slowly - and it is
still incomplete in some areas. (In case of questions, remember to ask on the mailing list or on IRC.)

a web frontend to the mirror database would be very useful. It would be possible to reuse
lots of code as-is from the mb Python module. Of course, any other framework would do,
for instance Ruby on
Rails; it just needs to talk to the database as usual.
Expertise and contribution in any form would be welcome.

Django would be a perfect candidate for this anyway (at least in my view). Some initial
work has been done, implementing the custom data type that's needed for
mod_asn as extension to the Django ORM (seemed quite straightforward).
So there is a proof-of-concept, with few lines of code, but fully functional.
It is not in svn yet — please ask on the mailing list and I could dig it out!

integrate a framework for push-syncing mirrors (syncing mirrors and knowing about their file lists goes hand in hand very well)

rewrite the scanner as a Python module, to get rid of code duplication and
additional requirements, and in order to make parts of it reusable.
There is prelimary code for that in the subversion repository. The
critical parts are done: collecting files via FTP and rsync in
memory-efficient way, in the form of a Python generator pipeline. The
current scanner is a monolithic Perl script, but many parts of its
functionality would be useful when they'd exist as modules available
for reuse; for instance, the check for mirror capability of delivering
large files.