1.0.0 • Published 8 months ago
@ouim/dpc v1.0.0
Socket.IO File Download Accelerator
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 dpcOr use with npx (no install needed):
npx dpc <file_url> [-o <output_path>] [--host <domain>]- Clone the repository:
git clone https://github.com/yourusername/proxy-accelerator.git
cd proxy-accelerator- Install dependencies:
npm install- Start the server:
npm start- Open your browser and navigate to:
http://localhost:3000Command 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
--hostoption or set theDPC_SERVER_URLenvironment variable.
How It Works
- Enter a file URL in the input field and click "Validate".
- The server checks if the URL is valid and accessible.
- If validation succeeds, click "Start Download".
- The server streams the file data to the client using Socket.IO.
- The client assembles the file chunks and provides a download link when complete.
License
ISC
Author
Your Name
1.0.0
8 months ago