MirrorBrain
MirrorBrain
|
|
---|---|
![]() |
|
Basic data
|
|
developer | Peter Pöml |
Current version |
2.18.1 ( February 3, 2014 ) |
operating system | Linux , Unix |
programming language | C , Python , Perl |
License | GPL , Apache ( Free Software ) |
mirrorbrain.org |
MirrorBrain is a free HTTP server software for Linux operating systems with Apache to operate a content distribution network , which provides intelligent, inexpensive sources of supply for download requests.
MirrorBrain has been developed mainly by Peter Pöml since 2006 and has been used productively since 2007. It is partly (Apache modules) developed in C , otherwise mainly in Python (only the scanner is written in Perl ) and is available as free software with the exception of three Apache-licensed modules under the terms of the GNU General Public License (GPL).
distribution
It was born in the openSUSE project and used for the first time and is now also used at OpenOffice.org , LibreOffice , Sugar Labs , Free Software Foundation , Kodi Media Center and Arch Server to distribute their downloads. Also SourceForge uses parts of MirrorBrain (mod_asn) in their own CDN system.
technology
MirrorBrain has a modular structure, at the center of which is the redirector (an Apache module called mod_mirrorbrain ), which intelligently selects mirror servers that are close in terms of network technology and clients without Metalink capability via HTTP forwarding to one ( HTTP or FTP - ) Forwarding mirror server . The selection is primarily based on the (physical or network topological) distance between the inquirer and available mirror servers, which is determined using the IP addresses via geolocation (via libGeoIP ) and routing data (via mod_asn, see below). If several servers then come into question, a load distribution is carried out based on the possibilities of the servers . The procedure can be configured and partially ignored with your own rules.
The mirror scanner scans the mirror server (among other things using rsync , which is usually available on mirror servers ) and collects the analysis data in a database (initially only MySQL , after a transition phase only PostgreSQL ). Mirror Probe checks the availability of the servers every few minutes. There are also modules for the automatic creation of torrents and the generation of checksums according to various methods.
mod_asn
The independently deployable Apache module mod_asn, developed as part of the project, determines data on the routes between two computers using IP addresses using the Border Gateway Protocol , AS numbers and subnet prefixes. In MirrorBrain, these routing data, as a means of developing the network topological distance, represent one of the aspects that the forwarding server uses when selecting the server, in addition to the physical distance determined by means of geolocation and the subordinate aspect of load distribution. This module is used, for example, by SourceForge for data acquisition in their own CDN solution. It is one of the Apache-licensed and the C-coded parts in the MirrorBrain project. It has been in development since February 2009, received its own code repository at the beginning of March, reached version number 1 on March 31st, got its own website on July 13th, 2009 and reached version 1.5 on September 5th, 2010.
Metalink support
Dynamically generated metalinks can be output to compatible clients (transparent negotiation) , on the basis of which the client himself can choose from several contained source references and which can also refer to sources that deliver via other protocols (Bit Torrent). This source redundancy available at the client enables the inclusion of additional data, only available from the client's point of view, in the mirror selection decision, a simple failover in the background, and parallel tapping of several sources to maximize the downlink utilization. The Metalinks can also be delivered with OpenPGP signatures, which can eliminate the mirror server system as a source of error and security problem. An also integrated list with several checksums enables the section-by-section control of the incoming data while it is being downloaded.
Web links
- official website
- detailed article in Linux magazine from 2008
Individual evidence
- ↑ mirrorbrain.org . (accessed June 24, 2017).
- ↑ FAQ - Recording downloads via MirrorBrain. In: openoffice.org. OpenOffice.org Marketing Project, accessed October 12, 2010 .
- ↑ Peter Pöml: How the mirrors gave us a vertical take-off. (No longer available online.) In: Peter Pöml's weblog. October 7, 2010, archived from the original on February 11, 2013 ; accessed on October 12, 2010 (English). Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.
- ↑ Apache directory listing for video /. In: balance.fsf.org. Retrieved October 13, 2010 : "MirrorBrain powered by Apache"
- ↑ mirrors for mirrors.xbmc.org. (No longer available online.) In: XBMC File Repository. Formerly in the original ; accessed on October 13, 2010 : "Powered by MirrorBrain"
- ^ Mirror Infrastructure Update. In: ArchServer Homepage. ArchServer Project, September 16, 2009, accessed October 12, 2010 .
- ^ New SourceForge.net Mirror Redirector. (No longer available online.) In: SourceForge.net: Project sourceforge - Downtime and feature announcements. Geeknet, Inc., April 2, 2010, archived from the original on March 9, 2010 ; accessed on October 12, 2010 (English). Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.
- ↑ official web presence of the subproject mod_asn (English)
- ^ Transparent Metalinks. (No longer available online.) In: Newsgroup Metalink Discussion . Archived from the original on April 24, 2012 ; accessed on October 12, 2010 (English). Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.