prometeo
TypeScript icon, indicating that this package has built-in type declarations

0.0.9 • Public • Published

Prometeo

Prometeo is a versatile download manager library for Node.js that enables efficient parallel downloading of files, making it a valuable tool for tasks like batch downloading large sets of files. It offers speed control, automatic retries, and the ability to resume interrupted downloads.

Installation

You can install Prometeo using npm:

npm install prometeo

Usage

Here's a basic example of how to use Prometeo to download a file:

const Manager = require('prometeo');

const prometeo = new Manager({
  connections: 4, // Number of concurrent download connections (optional)
  tempdir: '/path/to/temp/folder', // Temporary storage directory (optional)
  userAgent: 'Your User Agent', // User agent for HTTP requests (optional)
  speedLimit: 10, // Speed limit in Mbps (optional)
});

// Start a download
const download = prometeo.download({
  url: 'https://example.com/largefile.zip',
  path: '/path/to/save/',
  filename: 'save.zip' //(optional)
});

download.on('start', () => {
  console.log('Download started');
});

download.on('progress', ({speed, progress, estimated}) => {
  console.log(`Download progress: ${progress}% with a speed of ${speed} (estimated: ${estimated / 1000} seconds)`);
});

download.on('finish', () => {
  console.log('Download finished');
});

setTimeout(() => {
    prometeo.setSpeed(5)
}, 5000) //Change the limit speed to 5 Mbps before 5 seconds

let filePath = await download.start();
console.log(`file saved at: ${filePath}`)

For more detailed examples and options, please refer to the documentation.

Features

  • Concurrent downloading with adjustable connection count.
  • Speed control to limit download speed.
  • Automatic retry of failed downloads.
  • Resume interrupted downloads.
  • Event-driven design with progress and error handling.


DISCLAIMER

This project is still in testing phase, it is not recommended for production use.

Contributing

Contributions are welcome! Please follow our contribution guidelines to get started.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Readme

Keywords

none

Package Sidebar

Install

npm i prometeo

Weekly Downloads

1

Version

0.0.9

License

MIT

Unpacked Size

71.9 kB

Total Files

25

Last publish

Collaborators

  • esponjosin