New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

filedownloader

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

filedownloader

a small module for easy downloading using the power of curl combined with node js

latest
Source
npmnpm
Version
1.2.7
Version published
Maintainers
1
Created
Source

filedownloader

npm license github-issues

a small module for easy downloading using the power of curl combined with node js

nodei.co

travis-status stars forks

Note

this module requires curl to be present in your system path. if not please check those links

Linux Windows Mac Os

Quick start

    npm install filedownloader

Then:

    var Downloader = require("filedownloader");
    
    var Dl = new Downloader({
        url: "FILEURL"
    }).on("progress", function (progress){
        console.log(progress); 
    });

The Downloader function accepts an object that can take:

  • url url to Download from
  • saveas Filename to be saved as ex( audio.mp3)
  • saveto Folder to be saved in
  • deleteIfExists Delete file if it does exist (default: false)
  • resume Resume file if it's not completed, if false will delete the file and start it again (default: true)

The progress event will return :

    { progress: '1.3', dataWritten: 376072, filesize: '29828970', speed: 'byte/s'} //just an example of the ouput

Controlling The Download

you can pause the downloading by :

    Dl.pause();

and you can resume it by:

    Dl.resume();

Setting event handlers

'start': download started

The start event is emitted just after the download starts

    Dl.on("start", function(){
       console.log("Download started") 
    });

'progress': progress information

The progress Event is emitted with an object argument with the following keys:

  • dataWritten: size of downloaded data in bytes
  • filesize: size of the target file in bytes
  • progress: an estimation of the progress percentage
  • speed: an estimation of the download speed
    Dl.on("progress", function(progress){
       console.log('Downloaded: ' + progress.pregress + '%'); 
    });

'error': error occurred

The error event is emitted when an error occurs

    Dl.on("error", function(err){
       console.log('Some error occurred:' + err); 
    });

'end': Downloading finished

The end event is emitted when Downloading has finished.

    Dl.on("end", function(){
       console.log('Download finished'); 
    });

What's new

error event when status code is different than 200

Tests

npm test

Dependencies

  • content-disposition: Create and parse Content-Disposition header
  • del: Delete files and folders
  • file-exists: Check if filepath exists and is a file
  • mkdirp: Recursively mkdir, like mkdir -p
  • q: A library for promises (CommonJS/Promises/A,B,D)
  • request: Simplified HTTP request client.
  • underscore: JavaScript's functional programming helper library.
  • urlencode: encodeURIComponent with charset
  • valid-url: URI validation functions

Contributing

Contributions welcome; Please submit all pull requests the against master branch. If your pull request contains JavaScript patches or features, you should include relevant unit tests. Please check the Contributing Guidelines for more details. Thanks!

Author

Oussama Barkouki

License

Keywords

downloads

FAQs

Package last updated on 12 Feb 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts