wuwa-downloader/README.md
Yuhki f71d6d5d6c major downloader improvements
- 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
2025-03-25 14:48:00 +01:00

2.5 KiB

🌊 Wuthering Waves Downloader

A high-performance, reliable downloader for Wuthering Waves with verification and graceful error handling

Rust License

📦 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