mirror of
https://github.com/yuhkix/wuwa-downloader.git
synced 2025-06-06 01:43:40 +00:00
- Added support for multiple CDN fallbacks from index.json configuration - Implemented GZIP response handling for all requests - Added version selection menu via GitHub Gist index - Improved error handling and logging system - Added progress tracking in window title - Removed file count from console output (kept in title only) - Enhanced download reliability with retries and checksum verification - Added proper cleanup on Ctrl+C interrupt - Refactored code structure for better maintainability
2.5 KiB
2.5 KiB
🌊 Wuthering Waves Downloader
A high-performance, reliable downloader for Wuthering Waves with verification and graceful error handling
📦 Requirements
- Rust nightly toolchain - 1.87.0-nightly or newer
- Windows - for full console feature support
Install the nightly toolchain with:
rustup toolchain install nightly
rustup default nightly
🛠️ Installation
- Clone the repository:
git clone https://github.com/yourusername/wuthering-waves-downloader.git
cd wuthering-waves-downloader
- Build the project:
cargo build --release
- Run the downloader:
cargo run --release # (or run the built executable inside target/release/)
🚀 Features
🛠️ Core Functionality
- Verified Downloads - MD5 checksum validation for every file
- Batch Processing - Downloads all game resources sequentially
- Network Resiliency - Timeout protection (30s/60s) with retry logic
- HEAD Request Verification - Pre-checks file availability before download
- Automatic Retries - Configurable retry attempts for failed downloads
📂 File Management
- Smart Path Handling - Cross-platform path support with tilde (~) expansion
- Auto-directory Creation - Builds full directory trees as needed
- Clean Failed Downloads - Automatically removes corrupted files
- Comprehensive Logging - Detailed error logging with timestamps
💻 User Interface
- Color-coded Output - Instant visual feedback (success/warning/error)
- Progress Tracking - Real-time counters (
[X/Y]
) for batch downloads - Interactive Prompts - Guided directory selection with validation
- Dynamic Title Updates - Real-time progress in window title
- Formatted Duration Display - Clear elapsed time tracking (HH:MM:SS)
⚡ Performance & Safety
- Streaming Downloads - Chunked transfers for memory efficiency
- Atomic Operations - Thread-safe progress tracking
- Graceful Interrupt - CTRL-C handling with summary display
- Memory Efficiency - Minimal allocations during downloads
🔒 Reliability
- Pre-flight Checks - HEAD requests verify availability before download
- Comprehensive Error Handling - Network, filesystem, and validation errors
- Consistent State - Never leaves partial downloads on failure
- Validation Failures - Auto-removes files with checksum mismatches