Added checking for updates

This commit is contained in:
erik 2025-05-31 00:06:18 +02:00
parent cc15863e81
commit 5ec6525257
19 changed files with 1231 additions and 100 deletions

View file

@ -1,2 +1,87 @@
# 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.