Skip to content

mamal72/axel-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status license

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
# or
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'; // OPTIONAL
const options = {
  connections: 32,
  maxSpeed: 6000, // KB
  userAgent: 'Axel Bot',
  headers: [{
    key: 'token',
    value: 'n0tS0f3'
  }]
}; // OPTIONAL

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('connection-finished', data => {
  console.log('Connection Finished', data);
});
download.on('finish', () => {
  console.log('Download Finished!');
});
download.on('stop', () => {
  console.log('Download Stopped!');
});
download.start();

Download class inherits from EventEmitter. You can listen on it for start, progress, error, connection-finished, finish, stop events.

More details will be added.

Tests

yarn test
# or
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. ❤️

Remember to write a few tests if you can. 🔧

License

Licensed under the MIT License.

About

A node.js wrapper around axel downloader

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published