MID - Multiple Interface Downloader
-
MID is a HTTP[S] download accelerator.
-
Traditional HTTP[S] download accelerators use HTTP range requests to achieve this.
-
MID also uses HTTP range requests to achieve the download acceleration but it takes it to the next level by involving multiple network-interfaces in the download (hence bandwidth boost).
-
MID determines the network interfaces to use in the download, and adopts two step split in downloading the file.
-
Step 1: The file is divided among the network-interfaces in real time.
-
Step 2: The file is further divided among HTTP range requests that arise from that particular interface in real time.
-
The list of dependencies required for compiling, running and building from the sources of MID are given along with the possible installation steps (OS dependent)
libssl-dev
[$ sudo apt install libssl-dev
]zlib1g-dev
[$ sudo apt install zlib1g-dev
]
autoconf
[$ sudo apt install autoconf
]automake
[$ sudo apt install automake
]libtool
[$ sudo apt install libtool
]txt2man
[$ sudo apt install txt2man
]
Obtain the latest stable MID sources by cloning from GitHub mirror
$ git clone https://github.com/m0hithreddy/MID.git && cd MID
Also you can fetch the archive of master branch or particular relase as follows
-
Master Branch
$ wget https://github.com/m0hithreddy/MID/archive/master.zip && unzip master.zip && cd MID-master
-
Zip archive of particular release
$ wget https://github.com/m0hithreddy/MID/archive/vx.y.zip && unzip vx.y.zip && cd MID-x.y
-
Gzipped Tar archive of particular release
$ wget https://github.com/m0hithreddy/MID/archive/vx.y.tar.gz && tar -xvf vx.y.tar.gz && cd MID-x.y
After installing dependencies, obtaining MID sources and changing to the source directory...
-
Quick and Dirty Installation
$ ./configure $ make all $ make install
-
Clean Installation
$ autoreconf -vfi $ ./configure $ make all $ make uninstall $ make install
Verify the installation with $ {MID | mid} -V
. Now you can download the file from URL as follows
$ sudo {MID | mid} --url URL [--detailed-progress | -Pd] [--exclude-interfaces lo | -ni lo]
Check $ {MID | mid} --help
and man page for more options. /usr/local/etc/MID.conf
can be used to make the settings persistent
As a user you can be helpful to the project by reporting any undefined, undesired and unexpected behavior. Please, see Reporting.md
MID works! But MID requires many feature additions, improvements and surveillance. If you are a budding developer like me, it is a high time you can get into some serious development by contributing to MID. Please, see Contributing.md