diff --git a/UPDATE_SERVER_README.md b/UPDATE_SERVER_README.md
new file mode 100644
index 00000000..94be677c
--- /dev/null
+++ b/UPDATE_SERVER_README.md
@@ -0,0 +1,335 @@
+# 🚀 Umbrix Update Server - Инструкция
+
+## 📋 Обзор
+
+Umbrix использует систему автообновлений через **Sparkle Appcast XML**. Приложение проверяет файл `appcast.xml` на вашем сервере и уведомляет пользователей о новых версиях.
+
+## 🏗️ Структура системы обновлений
+
+### 1. **appcast.xml** - Манифест обновлений
+Находится: `/home/vodorod/dorod/hiddify-umbrix-v1.7.0/appcast.xml`
+
+```xml
+-
+ Umbrix 2.5.8
+ 🚀 Новые функции...
+ Sat, 18 Jan 2026 06:00:00 +0000
+ 2.5.8
+
+
+
+
+```
+
+### 2. **Настройки в коде**
+Файл: `lib/core/model/constants.dart`
+
+```dart
+// URL вашего сервера appcast.xml
+static const appCastUrl = "http://localhost:8000/api/appcast.xml";
+
+// Для публичного домена:
+// static const appCastUrl = "https://updates.umbrix.net/appcast.xml";
+```
+
+## 📂 Структура веб-сервера
+
+```
+/home/vodorod/update-server/
+├── api/
+│ └── appcast.xml # Копия из проекта
+├── downloads/ # Файлы обновлений
+│ ├── umbrix-2.5.8-linux.deb
+│ ├── umbrix-2.5.8-linux.rpm
+│ ├── umbrix-2.5.8-linux.AppImage
+│ └── umbrix-2.5.8-windows.exe
+└── admin/ # Ваш Update Manager (localhost:8000/admin/)
+ └── index.html
+```
+
+## 🔄 Процесс публикации обновления
+
+### Шаг 1: Собрать новую версию
+```bash
+cd ~/dorod/hiddify-umbrix-v1.7.0
+./build-all-packages.sh
+```
+
+### Шаг 2: Скопировать файлы на сервер
+```bash
+# Создать папку для версии
+mkdir -p /home/vodorod/update-server/downloads/
+
+# Скопировать пакеты
+cp dist/2.5.8+258/umbrix-2.5.8+258-linux.deb \
+ /home/vodorod/update-server/downloads/umbrix-2.5.8-linux.deb
+
+cp dist/2.5.8+258/umbrix-2.5.8+258-linux.rpm \
+ /home/vodorod/update-server/downloads/umbrix-2.5.8-linux.rpm
+
+cp dist/2.5.8+258/umbrix-2.5.8+258-linux.AppImage \
+ /home/vodorod/update-server/downloads/umbrix-2.5.8-linux.AppImage
+```
+
+### Шаг 3: Обновить appcast.xml
+
+Раскомментируйте и измените секцию в `appcast.xml`:
+
+```xml
+-
+ Umbrix 2.5.8
+ 🚀 Новые функции:
+- Улучшена стабильность
+- Исправлены ошибки
+ Sat, 18 Jan 2026 06:00:00 +0000
+ 2.5.8
+ 2.5.8
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+```
+
+### Шаг 4: Скопировать appcast.xml на сервер
+```bash
+cp appcast.xml /home/vodorod/update-server/api/appcast.xml
+```
+
+## 🌐 Запуск локального сервера
+
+### Вариант 1: Python HTTP сервер (простой)
+```bash
+cd /home/vodorod/update-server
+python3 -m http.server 8000
+```
+
+Доступ:
+- Appcast: `http://localhost:8000/api/appcast.xml`
+- Скачивания: `http://localhost:8000/downloads/`
+- Admin: `http://localhost:8000/admin/`
+
+### Вариант 2: Nginx (продакшн)
+```nginx
+server {
+ listen 8000;
+ server_name localhost;
+ root /home/vodorod/update-server;
+
+ location /api/appcast.xml {
+ add_header Content-Type application/xml;
+ add_header Access-Control-Allow-Origin *;
+ }
+
+ location /downloads/ {
+ autoindex on;
+ }
+}
+```
+
+## 📱 Про поле "URL для скачивания APK" в веб-интерфейсе
+
+**ВАЖНО**: Это поле осталось от оригинального Hiddify (Android приложение). Для **Umbrix Linux десктоп** оно **НЕ используется**.
+
+Umbrix для Linux использует:
+- ✅ **DEB пакеты** (Debian/Ubuntu)
+- ✅ **RPM пакеты** (Fedora/CentOS)
+- ✅ **AppImage** (универсальный формат)
+
+Поле "APK" в веб-интерфейсе можно:
+1. **Игнорировать** (оставить пустым)
+2. **Переименовать** в "URL для скачивания DEB/RPM/AppImage"
+3. **Удалить** из веб-интерфейса
+
+## 🔐 Безопасность
+
+### Для продакшн (публичный домен):
+
+1. **HTTPS обязателен**:
+```dart
+static const appCastUrl = "https://updates.umbrix.net/appcast.xml";
+```
+
+2. **Подписывание обновлений** (Sparkle поддерживает):
+```bash
+# Генерация ключей
+openssl genrsa -out private_key.pem 2048
+openssl rsa -in private_key.pem -pubout > public_key.pem
+
+# Подпись файла
+openssl dgst -sha256 -sign private_key.pem \
+ umbrix-2.5.8-linux.deb > signature.txt
+```
+
+3. **Добавить signature в appcast.xml**:
+```xml
+
+```
+
+## 🧪 Тестирование
+
+### 1. Проверить доступность appcast.xml
+```bash
+curl http://localhost:8000/api/appcast.xml
+```
+
+### 2. Проверить в приложении
+- Запустить Umbrix
+- Зайти в Настройки → Проверить обновления
+- Приложение скачает appcast.xml и покажет уведомление о новой версии
+
+### 3. Логи отладки
+В коде установлен `_debugUpgrader = true`, логи будут в консоли:
+```
+[UPGRADER] Checking appcast: http://localhost:8000/api/appcast.xml
+[UPGRADER] Current version: 1.7.0
+[UPGRADER] Latest version: 2.5.8
+[UPGRADER] Update available!
+```
+
+## 📊 Мониторинг скачиваний
+
+### Вариант 1: Nginx access.log
+```bash
+tail -f /var/log/nginx/access.log | grep "/downloads/"
+```
+
+### Вариант 2: Python скрипт с логированием
+```python
+from http.server import HTTPServer, SimpleHTTPRequestHandler
+import datetime
+
+class LoggingHandler(SimpleHTTPRequestHandler):
+ def log_message(self, format, *args):
+ print(f"[{datetime.datetime.now()}] {args[0]}")
+
+HTTPServer(('', 8000), LoggingHandler).serve_forever()
+```
+
+## 🚀 Миграция на публичный домен
+
+Когда будете готовы к продакшну:
+
+1. **Купить домен**: `updates.umbrix.net`
+
+2. **Настроить DNS**:
+```
+A updates.umbrix.net → 123.45.67.89
+```
+
+3. **Изменить в коде**:
+```dart
+static const appCastUrl = "https://updates.umbrix.net/appcast.xml";
+```
+
+4. **Пересобрать и выпустить обновление**:
+```bash
+./build-all-packages.sh
+```
+
+5. **Все последующие версии** будут проверять новый домен
+
+## ❓ FAQ
+
+### Q: Как часто приложение проверяет обновления?
+A: Раз в 12 часов (настройка `durationUntilAlertAgain`)
+
+### Q: Можно ли принудительно проверить обновления?
+A: Да, через меню "Настройки → Проверить обновления"
+
+### Q: Что делать, если обновление не находится?
+A: Проверьте:
+1. Доступен ли `appcast.xml` по URL
+2. Версия в `` больше текущей
+3. Логи отладки в консоли приложения
+
+### Q: Как откатить обновление?
+A: Удалите или закомментируйте `- ` новой версии в `appcast.xml`
+
+## 📝 Пример полного appcast.xml
+
+```xml
+
+
+
+ Umbrix Updates
+ Umbrix VPN автообновления
+ http://localhost:8000
+ ru
+
+
+
-
+ Umbrix 2.5.8
+ 🚀 Новые функции:
+- Улучшена стабильность
+- Исправлены ошибки
+- Добавлена поддержка новых протоколов
+ Sat, 18 Jan 2026 06:00:00 +0000
+ 2.5.8
+ 2.5.8
+ 2.0.0
+
+
+
+
+
+
+
+
+
+ -
+ Umbrix 1.7.0
+ Стабильный релиз
+ Fri, 17 Jan 2026 08:49:07 +0000
+ 1.7.0
+ 1.7.0
+
+
+
+```
+
+## 🎯 Готово!
+
+Теперь система обновлений полностью настроена и готова к использованию!
diff --git a/appcast.xml b/appcast.xml
index 7057b1de..83b5da3c 100644
--- a/appcast.xml
+++ b/appcast.xml
@@ -2,6 +2,64 @@
Umbrix Updates
-
+ Umbrix VPN автообновления
+ http://localhost:8000
+ ru
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -->
+
+
+ -
+ Umbrix 1.7.0
+ Стабильный релиз
+ Fri, 17 Jan 2026 08:49:07 +0000
+ 1.7.0
+ 1.7.0
+
diff --git a/lib/core/model/constants.dart b/lib/core/model/constants.dart
index ccdac6cd..ea217a17 100644
--- a/lib/core/model/constants.dart
+++ b/lib/core/model/constants.dart
@@ -3,7 +3,7 @@ abstract class Constants {
static const githubUrl = "https://github.com/umbrix-app/umbrix";
static const githubReleasesApiUrl = "https://api.github.com/repos/umbrix-app/umbrix/releases";
static const githubLatestReleaseUrl = "https://github.com/umbrix-app/umbrix/releases/latest";
- static const appCastUrl = "https://raw.githubusercontent.com/umbrix-app/umbrix/main/appcast.xml";
+ static const appCastUrl = "http://localhost:8000/api/appcast.xml";
static const telegramChannelUrl = "https://t.me/umbrix_app";
static const privacyPolicyUrl = "https://umbrix.net/privacy.html";
static const termsAndConditionsUrl = "https://umbrix.net/terms.html";
@@ -15,9 +15,10 @@ abstract class Constants {
// Собственный сервер обновлений (для приватного репозитория)
// 📝 ИНСТРУКЦИЯ: Замените на URL вашего API сервера
// Пример: "https://api.umbrix.net/api/latest"
- // 🧪 Для тестирования в эмуляторе используйте: "http://10.0.2.2:8000/api.php"
+ // 🖥️ Для Linux десктопа используйте: "http://localhost:8000/api/appcast.xml"
+ // 📱 Для Android эмулятора используйте: "http://10.0.2.2:8000/api/appcast.xml"
// См. документацию в папке: update-server/README.md
- static const customUpdateServerUrl = "http://10.0.2.2:8000/api.php";
+ static const customUpdateServerUrl = "http://localhost:8000/api/appcast.xml";
// Использовать собственный сервер обновлений вместо GitHub
// true = использовать customUpdateServerUrl (для приватного репозитория)
diff --git a/lib/features/app_update/notifier/app_update_notifier.dart b/lib/features/app_update/notifier/app_update_notifier.dart
index e256084e..ae2fb685 100644
--- a/lib/features/app_update/notifier/app_update_notifier.dart
+++ b/lib/features/app_update/notifier/app_update_notifier.dart
@@ -1,6 +1,7 @@
import 'package:flutter/foundation.dart';
import 'package:umbrix/core/app_info/app_info_provider.dart';
import 'package:umbrix/core/localization/locale_preferences.dart';
+import 'package:umbrix/core/model/constants.dart';
import 'package:umbrix/core/preferences/preferences_provider.dart';
import 'package:umbrix/core/utils/preferences_utils.dart';
import 'package:umbrix/features/app_update/data/app_update_data_providers.dart';
@@ -18,7 +19,7 @@ const _debugUpgrader = true;
@riverpod
Upgrader upgrader(UpgraderRef ref) => Upgrader(
- // Removed appcastConfig - no updates for Umbrix
+ appcastConfig: AppcastConfiguration(url: Constants.appCastUrl),
debugLogging: _debugUpgrader && kDebugMode,
durationUntilAlertAgain: const Duration(hours: 12),
messages: UpgraderMessages(