View on GitHub

KGet

A modern, lightweight wget clone written in Rust for fast and reliable file downloads from the command line.

KGet v1.6.2

Un gestor de descargas moderno y rápido escrito en Rust. KGet soporta HTTP/HTTPS, FTP/SFTP y enlaces magnet con cliente torrent nativo.

English Português Español

Funciones

Instalación

Desde código fuente

# Instale Rust desde https://rustup.rs si es necesario

# Dependencias Linux (Debian/Ubuntu)
sudo apt install -y libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev pkg-config

git clone https://github.com/davimf721/KGet.git
cd KGet
cargo build --release --features gui

./target/release/kget --gui

Desde crates.io

cargo install Kget --features gui

Binarios precompilados

Descargue versiones para macOS, Linux y Windows desde Releases.

Uso

# Descarga simple
kget https://example.com/archivo.zip

# Modo turbo (paralelo, reanudable)
kget -a https://example.com/grande.iso

# Guardar en ubicación específica
kget -O ~/Downloads/archivo.zip https://example.com/archivo.zip

# Verificar SHA256 esperado
kget --sha256 <hash> https://example.com/imagen.iso

# Enlace magnet (detectado automáticamente)
kget "magnet:?xt=urn:btih:HASH..."

# FTP anónimo
kget --ftp ftp://ftp.gnu.org/gnu/emacs/emacs-28.2.tar.gz

# FTP autenticado
kget --ftp ftp://usuario:clave@servidor/archivo.zip

# SFTP con contraseña en la URL
kget --sftp sftp://usuario:clave@servidor/ruta/archivo.dat

# SFTP con clave SSH (usa agente SSH o ~/.ssh/id_*)
kget --sftp sftp://usuario@servidor/ruta/archivo.dat

Modo Interactivo

kget --interactive

Abre un REPL con banner ASCII, historial de comandos y soporte para todos los protocolos:

kget> download -a -o ~/Downloads/ubuntu.iso https://releases.ubuntu.com/...
kget> download --sftp sftp://user@servidor/backups/db.sql.gz
kget> download magnet:?xt=urn:btih:...
kget> config set connections 8
kget> config set speed-limit 1048576
kget> help

Opciones principales

Flag Descripción
-a, --advanced Modo turbo con conexiones paralelas (reanudable)
-O <path> Archivo o carpeta de salida
-q, --quiet Salida mínima
-p <proxy> Proxy HTTP/SOCKS5
-l <bytes> Límite de velocidad en bytes/s
--sha256 <hash> Verifica el archivo final contra un hash SHA256 esperado
--ftp Usar protocolo FTP
--sftp Usar protocolo SFTP (contraseña o autenticación por clave)
--gui Abre la interfaz gráfica
-i, --interactive Abre el modo REPL interactivo

Biblioteca Rust

KGet también es una biblioteca Rust reutilizable. Vea LIB.es.md para ejemplos completos de la API actual.

use kget::{download, DownloadOptions, Optimizer, ProxyConfig};

let options = DownloadOptions::default();
download(
    "https://example.com/archivo.zip",
    ProxyConfig::default(),
    Optimizer::new(),
    options,
    None,
)?;

Build y tests

cargo build --release
cargo build --release --features gui
cargo test
./run-tests.sh

Enlaces

Licencia

MIT - vea LICENSE.