KelpsGet v0.1.3
A modern, lightweight wget clone written in Rust for fast and reliable file downloads from the command line.
Features
✅ Simple CLI tool for downloading files via HTTP/HTTPS. ✅ Progress bar with real-time speed and ETA tracking. ✅ Custom output names (-O flag to rename downloaded files). ✅ MIME type detection and proper file handling. ✅ Cross-platform (Linux, macOS, Windows). ✅ Silent mode for scripts. ✅ Automatic space checking before download. ✅ Automatic retry on connection failure. ✅ File name validation. ✅ Support for different MIME types. ✅ Detailed download information display. ✅ Advanced download mode with parallel chunks and resume capability. ✅ Proxy support (HTTP, HTTPS, SOCKS5). ✅ Automatic compression and caching. ✅ Speed limiting and connection control.
Installation
Option 1: Install via Cargo
Option 2: Download Pre-built Binaries
Download the latest binary for your OS from Release
Linux/macOS:
Windows:
Run the .exe file directly.
Usage Examples
Basic Download:
Rename the Output File:
Silent Mode:
Advanced Download Mode (Parallel and Resumable):
Using Proxy:
With Proxy Authentication:
Speed Limiting:
Disable Compression:
Disable Cache:
How It Works
- Progress Bar: Shows download speed, ETA, and bytes transferred.
- Smart File Naming:
- Uses the filename from the URL (e.g., file.txt from https://example.com/file.txt).
- Defaults to index.html if the URL ends with /.
- Error Handling: Exits with code 1 on HTTP errors (e.g., 404).
- Space Checking: Checks available disk space before downloading.
- Automatic Retry: Retries download if connection fails.
- Advanced Download Mode:
- Downloads file in parallel chunks for better performance
- Supports resuming interrupted downloads
- Automatically handles large files efficiently
- Proxy Support:
- HTTP, HTTPS, and SOCKS5 proxy support
- Proxy authentication
- Configurable proxy settings
- Optimization Features:
- Automatic compression (gzip, brotli, lz4)
- File caching for faster repeated downloads
- Speed limiting
- Connection control
Configuration
KelpsGet uses a configuration file located at:
- Windows:
%APPDATA%\kelpsget\config.json - Linux/macOS:
~/.config/kelpsget/config.json
Example configuration:
Security Features
- Space Checking: Ensures enough disk space before downloading.
- File Name Validation: Prevents path injection.
- URL Handling: Safely handles URLs.
- Automatic Retry: Retries download if network fails.
- Secure Proxy Support: Encrypted proxy connections.
Contributing
Found a bug or want to add a feature? Open an issue or submit a PR!
🚀 Download files effortlessly with Rust's speed and reliability. 🚀
License
This project is licensed under the MIT License - see the LICENSE file for details.