| Crates.io | Kget |
| lib.rs | Kget |
| version | 1.5.3 |
| created_at | 2025-05-27 03:22:17.132375+00 |
| updated_at | 2025-12-23 14:42:38.939797+00 |
| description | A powerful and versatile download manager and library |
| homepage | |
| repository | https://github.com/davimf721/KGet |
| max_upload_size | |
| id | 1690567 |
| size | 655,109 |
A modern, lightweight, and versatile downloader written in Rust for fast and reliable file downloads via command line (CLI) and graphical user interface (GUI).
localhost:9091/transmission/web/:index.html if the URL ends with /..iso files to ensure raw binary transfer and prevent corruption.torrent-transmission feature).See the full list of features and recent changes in the CHANGELOG.
If you want to use KGet as a library you can click here.
gui)Build/run with GUI support:
cargo build --features gui
cargo run --features gui -- --gui
torrent-transmission)If you want KGet to add magnet links to a Transmission daemon (RPC), build with:
cargo build --features torrent-transmission
# or with GUI:
cargo build --features "gui torrent-transmission"
Select the backend at runtime:
xdg-open/open/start)# Linux/macOS
export KGET_TORRENT_BACKEND=transmission
# Windows PowerShell (current session)
$env:KGET_TORRENT_BACKEND="transmission"
Transmission settings (env vars):
KGET_TRANSMISSION_HOST (default: localhost)KGET_TRANSMISSION_PORT (default: 9091)KGET_TRANSMISSION_RPC_PATH (default: /transmission/rpc)KGET_TRANSMISSION_WEB_PATH (default: /transmission/web/)KGET_TRANSMISSION_USER, KGET_TRANSMISSION_PASSCompatibility:
KGET_TRANSMISSION_URL and KGET_TRANSMISSION_WEB (full URLs).You will need Rust installed. If you don't have it, install it from rustup.rs.
Install some dependencies: For Debian/Ubuntu based systems:
sudo apt update
sudo apt install -y libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev pkg-config
For Fedora:
sudo dnf install -y libxcb-devel libxkbcommon-devel openssl-devel pkg-config
Clone the repository and compile the project:
git clone https://github.com/davimf721/KGet.git
cd KGet
cargo build --release
The executable will be in target/release/kget. You can copy it to a directory in your PATH:
sudo cp target/release/kget /usr/local/bin/
You can install the published binary from crates.io (the GUI and Transmission backend are opt-in via features):
# Install the binary without GUI (default)
cargo install Kget
# Install with GUI support
cargo install Kget --features gui
# Install with Transmission RPC backend (optional)
cargo install Kget --features torrent-transmission
# Install with both
cargo install Kget --features "gui torrent-transmission"
If you encounter issues with the GUI when installing via cargo install, compiling from source is more reliable.
Check the Releases section for the latest binaries for your OS.
chmod +x ksget # Make executable
./kelpsget [URL] # Run directly
Run the .exe file directly.
kget [OPTIONS] <URL>
Examples:
HTTP/HTTPS Download:
kget https://example.com/file.txt
Rename Output File:
kget -O new_name.txt https://example.com/file.txt
kget -O ~/MyDownloads/ https://example.com/video.mp4 # Saves as ~/MyDownloads/video.mp4
FTP Download:
kget ftp://user:password@ftp.example.com/archive.zip
kget --ftp ftp://ftp.example.com/pub/file.txt
SFTP Download: (Requires SSH key setup or password if the server allows it)
kget sftp://user@sftp.example.com/path/file.dat
kget --sftp sftp://user@sftp.example.com/path/file.dat -O local.dat
Torrent Download (Magnet Link):
(Requires transmission-daemon configured and running)
kget "magnet:?xt=urn:btih:YOUR_HASH_HERE&dn=TorrentName"
kget --torrent "magnet:?xt=urn:btih:YOUR_HASH_HERE" -O ~/MyTorrents/
KelpsGet will add the torrent to Transmission and attempt to open the web interface (http://localhost:9091) for management.
Silent Mode:
kget -q https://example.com/file.txt
Advanced Download Mode (HTTP/HTTPS):
kget -a https://example.com/large_file.zip
Use Proxy:
kget -p http://proxy:8080 https://example.com/file.txt
Proxy with Authentication:
kget -p http://proxy:8080 --proxy-user user --proxy-pass pass https://example.com/file.txt
Speed Limit:
kget -l 1048576 https://example.com/file.txt # Limit to 1MB/s
Disable Compression (KGet-specific, not HTTP):
kget --no-compress https://example.com/file.txt
Disable Cache (KGet-specific):
kget --no-cache https://example.com/file.txt
Want to contribute? Check out our contribution guide!
Found a bug or want to add a feature? Open an issue or send a PR!
🚀 Download files effortlessly with the speed and reliability of Rust. 🚀
This project is licensed under the MIT License - see the LICENSE file for details.