axel-downloader
A node.js wrapper around axel downloader.
Installation
macOS
brew install axel
Ubuntu
sudo apt install axel
- Install
axel-downloader
from npm
:
yarn add axel-downloader
npm i axel-downloader -S
Usage
import { Download } from 'axel-downloader';
const url = 'http://somewhere-something.xyz/some-file.abc';
const downloadPath = '/home/username/Downloads';
const options = {
connections: 32,
maxSpeed: 6000,
userAgent: 'Axel Bot',
headers: [{
key: 'token',
value: 'n0tS0f3'
}]
};
const download = new Download(url, downloadPath, options);
download.on('start', () => {
console.log('Download Started!');
});
download.on('progress', data => {
console.log('Progress', data);
});
download.on('error', err => {
console.log('Error', err);
});
download.on('finish', () => {
console.log('Download Finished!');
});
download.on('stop', () => {
console.log('Download Stoped!');
});
download.start();
Download
class inherits from EventEmitter. You can listen on it for start
, progress
, error
, finish
, stop
events.
More details will be added.
Tests
yarn test
npm test
Ideas || Issues
Just create an issue and describe it. I'll check it ASAP!
Contribution
You can fork the repository, improve or fix some part of it and then send the pull requests back if you want to see them here. I really appreciate that. :heart:
Remember to write a few tests if you can. :wrench:
License
Licensed under the MIT License.