Skip to main content

Module sftp

Module sftp 

Source
Expand description

SFTP (SSH File Transfer Protocol) download support.

This module provides secure file downloads over SSH using SFTP.

§Security

SFTP provides encrypted file transfer, unlike plain FTP. Authentication is handled via SSH (password or key-based).

§Authentication Order

  1. Password embedded in URL (sftp://user:pass@host/path)
  2. SSH agent (if running)
  3. Default key files (~/.ssh/id_ed25519, ~/.ssh/id_rsa, ~/.ssh/id_ecdsa)

§Example

use kget::sftp::SftpDownloader;
use kget::{ProxyConfig, Optimizer};

// Password authentication
let downloader = SftpDownloader::new(
    "sftp://user:pass@server.com:22/path/to/file".to_string(),
    "local_file.txt".to_string(),
    false,
    ProxyConfig::default(),
    Optimizer::new(),
);

// Key-based (uses SSH agent or ~/.ssh/id_* automatically)
let downloader = SftpDownloader::new(
    "sftp://user@server.com/path/to/file".to_string(),
    "local_file.txt".to_string(),
    false,
    ProxyConfig::default(),
    Optimizer::new(),
);

downloader.download().unwrap();

Structs§

SftpDownloader
SFTP file downloader using SSH.