87 lines
2.9 KiB
Markdown
87 lines
2.9 KiB
Markdown
# MossyUpdater
|
|
|
|
A modern Windows desktop application for downloading and unblocking files, featuring an entertaining quote rotation system and robust download management.
|
|
|
|
## Features
|
|
|
|
### 🚀 **Core Functionality**
|
|
- **Smart Downloads**: Download files with real-time progress tracking
|
|
- **Automatic Unblocking**: Removes Windows security restrictions (Zone.Identifier)
|
|
- **Update Detection**: Checks if remote files have changed
|
|
- **Retry Logic**: Automatically retries failed downloads (3 attempts)
|
|
- **Cancellation Support**: Cancel downloads in progress
|
|
|
|
### 🎨 **User Experience**
|
|
- **Quote Rotation**: 50 hilarious "Time According to Alex" quotes with smooth fade transitions
|
|
- **Progress Visualization**: Real-time download progress with status updates
|
|
- **Responsive Design**: Resizable window with modern WPF interface
|
|
- **Settings Persistence**: Remembers your preferences between sessions
|
|
- **Custom Icon**: Features favicon.ico as the application icon
|
|
|
|
### 🔧 **Technical Features**
|
|
- **MVVM Architecture**: Clean separation of concerns with data binding
|
|
- **Dependency Injection**: Modern IoC container with service registration
|
|
- **Streaming Downloads**: Efficient handling of large files
|
|
- **Comprehensive Logging**: Detailed logs saved to `%AppData%/MossyUpdater/log.txt`
|
|
- **Error Handling**: User-friendly error messages with detailed logging
|
|
|
|
## Quick Start
|
|
|
|
1. **Build the application**:
|
|
```bash
|
|
dotnet build
|
|
```
|
|
|
|
2. **Run the application**:
|
|
```bash
|
|
dotnet run
|
|
```
|
|
|
|
3. **Use the application**:
|
|
- Enter a download URL (defaults to MosswartMassacre.dll)
|
|
- Browse and select destination folder
|
|
- Click "Check Updates" to see if file has changed
|
|
- Click "Download & Unblock" to start the download
|
|
- Enjoy the rotating quotes while you wait!
|
|
|
|
## System Requirements
|
|
|
|
- **Platform**: Windows 10/11
|
|
- **Framework**: .NET 8.0
|
|
- **Architecture**: x64
|
|
|
|
## Publishing
|
|
|
|
Create a single-file executable:
|
|
```bash
|
|
dotnet publish -c Release -p:PublishProfile=FolderProfile
|
|
```
|
|
|
|
Output location: `bin\Release\net8.0-windows\publish\win-x64\`
|
|
|
|
## Configuration
|
|
|
|
Settings are automatically saved to:
|
|
- **Settings**: `%AppData%/MossyUpdater/settings.json`
|
|
- **Logs**: `%AppData%/MossyUpdater/log.txt`
|
|
|
|
## Quote System
|
|
|
|
Features 50 witty quotes from "Time According to Alex" about time management, rotating every 5 seconds with smooth fade transitions. Sample quotes include:
|
|
|
|
> "I don't run late. I glide fashionably through time." - Time According to Alex
|
|
|
|
> "Time is an illusion. My ETA is performance art." - Time According to Alex
|
|
|
|
## Development
|
|
|
|
Built with modern C# and WPF, featuring:
|
|
- **Services Pattern**: Modular business logic
|
|
- **MVVM Pattern**: Clean UI separation
|
|
- **Async/Await**: Non-blocking operations
|
|
- **Dependency Injection**: Testable architecture
|
|
- **Resource Management**: Proper disposal patterns
|
|
|
|
## License
|
|
|
|
Built for the SawatoMosswartsEnjoyersClub/MosswartMassacre project.
|