You might have thought that How this thing works ? or How is it even possible to increase the download speed ? well, here is the Working of the script answering all the questions You might be wondering of.
In case you haven’t read the previous Blog post, You can read it here.
increase internet download speed: FAQs
What are the files in Downloader.zip ?
- Original Executable of Axel
- Batch(.bat) script to Automate downloading process.
A batch script is used for passing the arguments to the Axel downloader for handling the Total no. of connections and the download URL.
What is Axel ?
- A powerful command line download tool.
- Supports HTTP/FTP only.
- Uses multiple connection for one file to accelerate downloading process.
- Basically written for Linux.
- Uses cygwin libraries to run the Axel source code compiled for windows.
What is Cygwin and Why it uses Cygwin1.dll?
- A large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows. see Official Website.
- a DLL (cygwin1.dll) which provides substantial POSIX API functionality to Axel.
How axel is increasing download speed ?
What happens is most of the Big networks, say college, office etc. limit the Bandwidth allocated to a user.
to provide a decent internet usability to all the users in the vicinity.
But sometimes what happens is that the internet connection is way to slow to get the things done.As it wastes A LOT OF TIME just waiting for download to finish and continue.
And here comes our little tool Axel to save A LOT OF TIME.Which perhaps, beats all the GUI downloaders available for Windows.
In Modern download tools like IDM, by default the maximum number of connections are set to 8. Can be increased though.
Let me show you How IDM works.
For Example :
If the maximum download speed per connection is set 10 KBPS by the System Administrator, the maximum download speed can be 80 KBPS by the IDM.
speed on 1 connection = 10
total no. of connections = 8
TOTAL SPEED = 8 X 10 ie. 80 KBPS.
This is theoretical, as IDM might show you even more some times. But That will last for milliseconds.
Now lets understand the working of Axel.
During the download You must have seen an Output like this :
[ 4%] [0123.56789:;<=>?@ABCDEF....KLMNOPQRSTU.WXYZ[\]^_`abcde.gh.jk] [ 928.8KB/s] [01:37]
This output line tells us 4 things
1. Total of data downloaded in %’age i.e [ 4%].
2. Current download speed in KBPS i.e [ 928.8KB/s], in MBPS if speed > 1024 KBPS.
3. Download time remaining i.e [01:37].
4. Most important thing – Connections
If you open the downloader.bat file in notepad, you will see that the second last line says
axel.exe -n 60 -a %url%
- axel.exe : Original downloader located in current directory
- -n : Number of connections to be made with the server (in our case 60 connections)
- -a : Used for alternative download bar
- %url% : Environment Variable that storing Download link initially entered by You.
Now, the Numbers and Characters being displayed signifies connections made with the server. All the characters [1-9 ], [A-B], [a-b], and other special characters are all the alive connections.
When a connection is finished it is denoted by a dot “.” in the same output .
As I have set the connections to be made = 60.
we can now bypass the download limit provided by our college/university/office.
for Example :
speed on 1 connection = 10 (as same for all users)
total no. of connections = 60 (using axel)
TOTAL SPEED = 60 X 10 ie. 600 KBPS. 🙂
Using axel downloader we increased download speed to manipulate the settings for limiting the bandwidth.
This example was just to show you the working of axel downloader. Speed may differ as per location.
Will it affect my network card for setting 60 connections?
Yes, in IDM and similar tools connections are set to 8-16 by default for optimal usage of network card.
creating such a no. of connections ( using axel ) may decrease life of your network card.
so, never set connections > 60. as it will not put that much load on network card.
Axel even works great with 30-40 connections.
How to use axel manually ?
- Navigate to the directory where you extracted downloader.zip.
- Hold [SHIFT] key and right-click within the directory
- Click on “Open command window here”
- Type axel and hit enter.
you will see something like this :
Usage: axel [options] url1 [url2] [url...]
--max-speed=x -s x Specify maximum speed (bytes per second)
--num-connections=x -n x Specify maximum number of connections
--output=f -o Specify local output file
--search[=x] -S [x] Search for mirrors and download from x servers
--header=x -H x Add header string
--user-agent=x -U x Set user agent
--no-proxy -N Just don't use any proxy server
--quiet -q Leave stdout alone
--verbose -v More status information
--alternate -a Alternate progress indicator
--help -h This information
--version -V Version information
you can see the options and the usage of axel.
–max-speed or -s is used to set the maximum download speed, to limit the DDR (Data Download Rate), can be used when browsing speed needed while downloading.
–output or -o is used to set the output file name. Very useful when used with YouTube download links as Axel does not support YouTube links properly and puts the Filename as “videoplayback“.
Manually entering the Filename can solve the issue.
NOTE: Output Filename MUST BE in double inverted commas(” “)
axel [URL] -o "Filename"
–no-proxy for telling the program to not use any proxy server. In case you are using proxy tools like TOR.
–alternate or -a for viewing an alternate download bar (a better one), for removing screen clutter and for a better output.
- Use an Account Login System for users, to keep the track of downloads/User.
- Can limit the number of connections for each user.
- Allocate monthly data to users, say 10 GB/Month of download.
- still not working? Get rid of your current Firewall Program and Buy a Better one. It will take care of it automatically.
- Juniper and Fortinet are cool and perhaps great Firewall programs.
If you learn using this tool, it will definitely help you in the crisis. When everybody else will be starving for Bytes/s you might be downloading in KiloBytes/s or MB/s (if Lucky!).
Just don’t think it’ll work everywhere in the world. It will work only in the big networks as the network is occupied by other users at the same time.
It won’t increase your internet speed in areas like your home or parking lot. as all the bandwidth is already acquired by You.
Have another question ? Feel free to ask and share your views about the post.
P.S. I will be posting a tutorial on How to install and use Axel on Linux soon. STAY TUNED!