npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ftps-accelerator

v1.0.0

Published

High-performance FTPS file downloader with speed acceleration

Downloads

110

Readme

🚀 FTPS Accelerator

npm version License: MIT

High-performance FTPS file downloader with speed acceleration

Download files from FTPS servers 5-10x faster using parallel connections and chunked downloading.

✨ Features

  • 🔥 Speed Acceleration - Multi-connection parallel downloading
  • 📦 Chunked Download - Split large files into chunks for faster download
  • 🔄 Resume Support - Continue interrupted downloads
  • 📁 Interactive Browser - Browse remote directories with ease
  • 🎯 Multiple Strategies - Auto-select optimal download strategy
  • 💾 Server Profiles - Save and manage server configurations
  • 📊 Progress Display - Real-time speed and ETA

📦 Installation

# Install globally
npm install -g ftps-accelerator

# Or use with npx
npx ftps-accelerator

🚀 Quick Start

Interactive Mode

ftps-accelerator

The interactive mode will guide you through:

  1. Enter server credentials
  2. Browse remote directories
  3. Select files to download
  4. Configure download settings

Command Line Options

# Quick download
ftps-accelerator -h ftp.example.com -p 990 -u username -P password -d /path/to/file.zip

# List files
ftps-accelerator -h ftp.example.com -u username -P password --list

# With options
ftps-accelerator -h ftp.example.com -u username -P password \
  -o ~/Downloads \
  -j 8 \
  --chunks 6

⚡ Speed Optimization

How it Works

| Strategy | Description | Speed Gain | |----------|-------------|------------| | Multi-file Parallel | Download multiple files simultaneously | 3-5x | | Chunked Download | Split single file into chunks | 5-10x | | Connection Pool | Reuse connections to avoid overhead | 2-3x | | Auto Strategy | Automatically select best method | 5-10x |

Configuration

# Number of parallel downloads
-j, --jobs <n>          Default: 5

# Chunks per file (for large files)
--chunks <n>            Default: 4

# Disable chunked download
--no-chunk

📖 Usage Examples

Save Server Configuration

ftps-accelerator -h ftp.example.com -u user -P pass --save-config

Download with Custom Settings

ftps-accelerator \
  -h ftp.example.com \
  -u username \
  -P password \
  -o ~/Downloads \
  -j 10 \
  --chunks 8 \
  -d /remote/large_file.zip

List Remote Files

ftps-accelerator -h ftp.example.com -u user -P pass --list

🔧 API Usage

import { ConnectionPool, DownloadAccelerator } from 'ftps-accelerator';

// Create connection pool
const pool = new ConnectionPool({
  host: 'ftp.example.com',
  port: 990,
  user: 'username',
  password: 'password',
  secure: 'implicit'
}, 10);

await pool.initialize();

// Create accelerator
const accelerator = new DownloadAccelerator(pool, {
  concurrent: 5,
  chunksPerFile: 4,
  outputDir: './downloads'
});

// Add files to download
accelerator.addTask({
  name: 'file.zip',
  type: 'file',
  size: 104857600,
  modifiedAt: new Date(),
  permissions: '',
  path: '/'
});

// Start download
await accelerator.start();

// Cleanup
await pool.destroy();

📋 CLI Options

Options:
  -h, --host <host>       Server address
  -p, --port <port>       Port number (default: 990)
  -u, --user <user>       Username
  -P, --password <pass>   Password
  -c, --config <file>     Config file path
  -d, --download <path>   Direct download file path
  -o, --output <dir>      Output directory
  -j, --jobs <n>          Parallel downloads (default: 5)
  --chunks <n>            Chunks per file (default: 4)
  --no-chunk              Disable chunked download
  --save-config           Save server configuration
  --list                  List files only
  --debug                 Enable debug logging
  --version               Show version
  --help                  Show help

🔐 Security

  • Passwords are encrypted when saved
  • Supports self-signed certificates
  • Secure TLS/SSL connections

📝 Requirements

  • Node.js 18+
  • npm or yarn

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

MIT License - see LICENSE for details.

🐛 Bug Reports

If you encounter any bugs, please open an issue at GitHub Issues.


Made with ❤️ for faster FTPS downloads