1.0.0 • Published 8 months ago

@ouim/dpc v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

Socket.IO File Download Accelerator

npm version

A web-based file download accelerator using Socket.IO as the transport layer. This application allows users to download files from the web with real-time progress tracking and performance metrics.

Features

  • Streaming Downloads: Files are downloaded in chunks and streamed to the browser.
  • Real-time Progress: Track file download progress, speed, and elapsed time.
  • Validation: URLs are validated before download starts.
  • File Size Limits: Files over 100MB are automatically rejected.
  • Concurrent Downloads: The server supports multiple users downloading different files simultaneously.
  • Modern UI: Simple and intuitive user interface.

Technology Stack

  • Backend: Node.js, Express, Socket.IO
  • Frontend: HTML5, CSS3, JavaScript (Vanilla)
  • Networking: Axios for HTTP requests

Installation

As a library or CLI (npm)

Install globally:

npm install -g dpc

Or use with npx (no install needed):

npx dpc <file_url> [-o <output_path>] [--host <domain>]
  1. Clone the repository:
git clone https://github.com/yourusername/proxy-accelerator.git
cd proxy-accelerator
  1. Install dependencies:
npm install
  1. Start the server:
npm start
  1. Open your browser and navigate to:
http://localhost:3000

Command Line Usage (npx)

You can use the Proxy Accelerator from the command line (no browser needed):

npx dpc <file_url> [-o <output_path>] [--host <domain>]

Example:

npx dpc https://bigass.com/fike_file.zip -o ./inthisdir/nameitfile.zip --host mydomain.io
  • By default, the CLI connects to a local server at http://localhost:3002. To use a remote server, use the --host option or set the DPC_SERVER_URL environment variable.

How It Works

  1. Enter a file URL in the input field and click "Validate".
  2. The server checks if the URL is valid and accessible.
  3. If validation succeeds, click "Start Download".
  4. The server streams the file data to the client using Socket.IO.
  5. The client assembles the file chunks and provides a download link when complete.

License

ISC

Author

Your Name