Обновить README.md
This commit is contained in:
@@ -1,3 +1,134 @@
|
||||
# QoSManager
|
||||
|
||||
Приложение для управления QoS-политиками Windows на C# WPF с .NET 8.
|
||||
Приложение для управления QoS-политиками Windows на C# WPF с .NET 8.
|
||||
Приложение написано специально для функции "маршрутизация по DSCP" в приложении Zeroblock для роутера RouteRich. Возможны баги и недоработки. В редакторе локальной групповой политики в Windows внесённые программой изменения не отображаются.
|
||||
|
||||
**⚠️ Важно:** Windows Home версии не поддерживают Group Policy и QoS, поэтому приложение не будет работать на этих системах.
|
||||
|
||||
|
||||
## Возможности
|
||||
|
||||
- ✅ Создание QoS-политик для процессов
|
||||
- ✅ Удаление существующих политик
|
||||
- ✅ Просмотр списка всех политик с нумерацией
|
||||
- ✅ Приоритезация трафика (DSCP 1-63)
|
||||
- ✅ Автоматический конвертер DSCP ↔ TOS значений
|
||||
- ✅ Современный темный интерфейс с разделителями
|
||||
- ✅ Автоматическое масштабирование под разрешение экрана
|
||||
- ✅ Логирование действий (отключаемое) (отключаемое)
|
||||
- ✅ Защита от случайного редактирования полей
|
||||
|
||||
## Требования
|
||||
|
||||
- Windows 10/11 Pro/Enterprise/Education (Home версии не поддерживаются)
|
||||
- .NET 8.0 Runtime (для portable версии)
|
||||
- Административные права
|
||||
|
||||
## Сборка
|
||||
|
||||
```bash
|
||||
# Установка зависимостей
|
||||
dotnet restore
|
||||
|
||||
# Сборка проекта
|
||||
dotnet build --configuration Release
|
||||
|
||||
# Portable версия (требует .NET 8 Runtime)
|
||||
dotnet publish -c Release -r win-x64 --self-contained false -o Portable
|
||||
|
||||
# Standalone версия (полностью автономная)
|
||||
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:DebugType=none -p:DebugSymbols=false -p:Optimize=true -p:DeleteAppSettingsOnPublish=true -o Standalone
|
||||
```
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
QoSM/
|
||||
├── QoSManager.csproj # Файл проекта
|
||||
├── App.xaml # Приложение
|
||||
├── app.manifest # Манифест (админ. права)
|
||||
├── Models/
|
||||
│ ├── QoSPolicy.cs # Модель данных
|
||||
│ ├── DscpTosConverter.cs # Конвертер DSCP ↔ TOS
|
||||
│ └── ProcessInfo.cs # Информация о процессе
|
||||
├── Services/
|
||||
│ ├── QoSService.cs # Сервис QoS
|
||||
│ └── LoggingService.cs # Сервис логирования
|
||||
├── Views/
|
||||
│ ├── MainWindow.xaml # Главное окно
|
||||
│ ├── MainWindow.xaml.cs
|
||||
│ ├── PolicyEditWindow.xaml # Окно редактирования
|
||||
│ ├── PolicyEditWindow.xaml.cs
|
||||
│ ├── ProcessSelectionWindow.xaml # Окно выбора процессов
|
||||
│ ├── ProcessSelectionWindow.xaml.cs
|
||||
│ ├── CustomMessageBox.xaml # Кастомное сообщение
|
||||
│ └── CustomMessageBox.xaml.cs
|
||||
├── Properties/
|
||||
│ ├── Settings.settings # Настройки приложения
|
||||
│ └── Settings.Designer.cs
|
||||
├── Resources/
|
||||
│ └── icon.ico # Иконка приложения
|
||||
└── Styles/
|
||||
└── DarkTheme.xaml # Темная тема
|
||||
```
|
||||
|
||||
## Особенности
|
||||
|
||||
### 🎨 Современный UI
|
||||
- Темная тема по умолчанию
|
||||
- Адаптивный дизайн с разделителями
|
||||
- Поддержка DPI
|
||||
- Нумерация политик в таблице
|
||||
|
||||
### 🔒 Безопасность
|
||||
- Валидация ввода DSCP (1-63)
|
||||
- Защита от случайного редактирования полей
|
||||
- Обработка ошибок
|
||||
|
||||
### 📊 Логирование
|
||||
- Логирование действий (отключаемое через UI)
|
||||
- Сохранение рядом с exe файлом
|
||||
- Запоминание состояния галочки логов
|
||||
|
||||
### 🔄 Конвертер DSCP ↔ TOS
|
||||
- Автоматический конвертер значений
|
||||
- Отображение TOS Value в реальном времени
|
||||
- Поддержка стандартных и кастомных значений
|
||||
|
||||
### 🖥️ Масштабирование
|
||||
- Автоматическое определение разрешения
|
||||
- Адаптивный размер окна
|
||||
|
||||
## Использование
|
||||
|
||||
1. Запустите приложение
|
||||
2. Нажмите "Добавить политику" для создания новой политики
|
||||
3. Выберите процесс или путь к EXE файлу
|
||||
4. Установите DSCP значение (1-63)
|
||||
5. Проверьте TOS Value в конвертере
|
||||
6. Нажмите "Создать"
|
||||
|
||||
Для удаления политики:
|
||||
1. Выберите политику в списке
|
||||
2. Нажмите "Удалить политику"
|
||||
3. Подтвердите удаление
|
||||
|
||||
## Технологии
|
||||
|
||||
- **C# 12** - основной язык
|
||||
- **WPF** - UI фреймворк
|
||||
- **.NET 8.0** - платформа
|
||||
- **PowerShell** - доступ к QoS API
|
||||
- **Microsoft.Extensions.Logging** - логирование
|
||||
|
||||
## Распространение
|
||||
|
||||
### 📦 Standalone версия (рекомендуется)
|
||||
- Полностью автономная программа
|
||||
- Работает на любом Windows 10/11
|
||||
- Размер: ~72 МБ (один exe файл)
|
||||
- Просто скопируйте QoSManager.exe и запускайте
|
||||
|
||||
### ⚡ Portable версия
|
||||
- Требует установленный .NET 8 Runtime
|
||||
- Размер: ~500 КБ (exe файл)
|
||||
Reference in New Issue
Block a user