3.5 KiB
3.5 KiB
ServerManager Pro - Руководство разработчика
🏗️ Структура проекта
wireguard-manager/ ├── 📁 installers/ # Скрипты установки ├── 📁 public/ # Статические файлы Electron ├── 📁 scripts/ # Вспомогательные скрипты ├── 📁 src/ # Исходный код React │ ├── 📁 components/ # Компоненты приложения │ └── 📄 App.js # Главный компонент ├── 📄 build.sh # Основной скрипт сборки ├── 📄 build.prod.sh # Продакшен сборка └── 📄 package.json # Конфигурация проекта
🎯 Назначение компонентов
Основные компоненты:
- Dashboard (
Dashboard.js) - Главная панель управления - ServerList (
ServerList.js) - Управление серверами - ServerMonitoring (
ServerMonitoring.js) - Мониторинг серверов - NetworkMonitor (
NetworkMonitor.js) - Мониторинг сети - PasswordManager (
PasswordManager.js) - Менеджер паролей - CommandTemplates (
CommandTemplates.js) - Шаблоны команд - Notes (
Notes.js) - Система заметок - Settings (
Settings.js) - Настройки приложения
Вспомогательные компоненты:
- BatchOperations - Пакетные операции
- NetworkTools - Сетевые инструменты
- ServerHealth - Проверка здоровья серверов
🔧 Ключевые файлы
Electron файлы:
public/electron.js- Главный процесс Electronpublic/preload.js- Безопасный мост между процессамиpublic/index.html- Базовая HTML структура
Конфигурационные файлы:
package.json- Зависимости и скриптыtailwind.config.js- Конфигурация Tailwind CSS.env- Переменные окружения
🚀 Быстрый старт при разработке
Установка зависимостей
npm install
Запуск в режиме разработки
./build.sh dev
Сборка для продакшена
./build.sh build # Сборка Linux (.deb) + Windows (.exe)
Только Linux сборка
./build.sh build-linux
Очистка сборок
./build.sh clean
!! ВАЖНО !! Настройка Wine для сборки Windows приложений
Установка Wine на Ubuntu/Debian:
sudo apt update sudo apt install -y wine
🎨 Архитектура
Frontend (React):
- Тёмная тема по умолчанию
- Tailwind CSS для стилей
- Компонентный подход
- Состояние через useState/useEffect
Backend (Electron):
- Главный процесс - управление окнами
- Предзагрузка - безопасный API мост
- Файловая система - хранение данных
Хранение данных:
- servers.json - список серверов
- passwords.json - менеджер паролей
- notes.json - система заметок
- command-templates.json - шаблоны команд