diff --git a/README.md b/README.md index 6cd0fab..90af0ef 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🌊 Wuthering Waves Downloader -*A high-performance, reliable downloader for Wuthering Waves with verification and graceful error handling* +*A high-performance, reliable downloader for Wuthering Waves with multi-CDN support and verification* [![Rust](https://img.shields.io/badge/Rust-1.87.0--nightly-orange?logo=rust)](https://www.rust-lang.org/) [![License](https://img.shields.io/badge/License-MIT-blue)](LICENSE) @@ -15,7 +15,7 @@ rustup toolchain install nightly rustup default nightly ``` -### 🛠️ Installation +### 🛠️ Installation & Usage - **Clone the repository:** ```bash git clone https://github.com/yourusername/wuthering-waves-downloader.git @@ -30,36 +30,60 @@ cargo build --release cargo run --release # (or run the built executable inside target/release/) ``` -## 🚀 Features +### 🆕 What's New +- **Multi-CDN Support** - Automatically tries all available CDNs for each download + +- **Version Selection** - Choose between Live/Beta and CN/OS versions + +- **GZIP Compression** - Full support for compressed responses + +- **Enhanced Progress Tracking** - Cleaner UI with progress in window title + +- **Improved Reliability** - Better error handling and recovery + +## 🌟 Key Features + +### 🚀 Download Management +- **Multi-CDN Fallback** - Automatically tries all available CDN mirrors + +- **Version Selection** - Interactive menu for Live/Beta versions -### 🛠️ 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 +- **Smart Retry Logic** - 3 retry attempts per CDN with timeout protection + +- **GZIP Support** - Handles compressed responses efficiently + +### 🛡️ Reliability +- **Atomic Operations** - Thread-safe progress tracking + +- **Graceful Interrupt** - CTRL-C handling with summary display + - **Comprehensive Logging** - Detailed error logging with timestamps +- **Validation Failures** - Auto-removes files with checksum mismatches + +### 📂 File Management +- **Smart Path Handling** - Cross-platform path support + +- **Auto-directory Creation** - Builds full directory trees as needed + +- **Clean Failed Downloads** - Removes corrupted files automatically + ### 💻 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 +- **Color-coded Output** - Clear visual feedback (success/warning/error) + - **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 +- **Clean Progress Display** - Simplified download status without clutter -### 🔒 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 \ No newline at end of file +- **Formatted Duration** - Clear elapsed time display (HH:MM:SS) + +### ⚙️ Technical Details +- **Streaming Downloads** - Memory-efficient chunked transfers + +- **HEAD Request Verification** - Pre-checks file availability + +- **Multi-threaded** - Safe concurrent progress tracking + +- **Configurable Timeouts** - 30s for metadata, 300s for downloads \ No newline at end of file