Mediafire Downloader
High-level Rust library for downloading files and folders from MediaFire with recursive traversal, proxy support, and prioritized download queues.
Features
- Communicates with MediaFire API for metadata & folder traversal
- Resolves files/folders into
DownloadJobs - Recursive folder downloading with optional progress updates
- Proxy support for API and downloads
- Configurable download order (largest-first or smallest-first)
- Async operations with
tokio
Installation
Add to your Cargo.toml:
[]
= "0.1.0"
Usage
Basic example:
use MediafireDownloader;
use PathBuf;
use tokio;
async
With progress updates:
let jobs = downloader
.get_download_jobs_with_progress
.await?;
API Highlights
- Initialize a
MediafireDownloaderwith retry support:MediafireDownloader::new(max_retries) - Resolve files and folders into
DownloadJobs with:get_download_jobs(&urls, output_path).awaitget_download_jobs_with_progress(&urls, output_path, |folder_name| {})
- Configure download order:
reverse_downloads(true/false) - Set HTTP proxies for API and downloads:
set_proxies(Some(vec!["http://proxy:port"]), true/false) - Handles recursive folders, paginated folder contents, and prioritized download queues
- Async file downloading with progress callbacks
Requirements
- Rust 1.75+
tokioasync runtime- Optional: proxies require valid HTTP/S proxy URLs
- Internet access to MediaFire
License
Licensed under MIT