341 lines
13 KiB
Markdown
341 lines
13 KiB
Markdown
# MY Network v3.0 - Полная документация децентрализованной платформы
|
||
|
||
## 🎯 Обзор MY Network v3.0
|
||
|
||
MY Network v3.0 представляет собой **полностью децентрализованную платформу дистрибьюции контента**, где каждая нода принимает независимые решения о принятии и хранении контента без необходимости консенсуса или кворума.
|
||
|
||
## 📚 Структура документации
|
||
|
||
### 🏗️ Архитектурные документы
|
||
|
||
1. **[NEW_ARCHITECTURE.md](NEW_ARCHITECTURE.md)** - Основная архитектура v3.0
|
||
- Принципы децентрализации
|
||
- Замена кворумной системы
|
||
- Новая топология сети
|
||
- API для децентрализованной сети
|
||
|
||
2. **[NEW_PROTOCOL_V3.md](NEW_PROTOCOL_V3.md)** - Протокол синхронизации v3.0
|
||
- Индивидуальные решения нод
|
||
- Система шифрования контента
|
||
- Новые типы P2P сообщений
|
||
- Алгоритм очистки контента
|
||
|
||
### 🛠️ Техническая документация
|
||
|
||
3. **[INSTALLATION_GUIDE.md](INSTALLATION_GUIDE.md)** - Установка и развертывание
|
||
- Автоматическая установка через start.sh
|
||
- Интерактивная настройка параметров
|
||
- SSL сертификаты и безопасность
|
||
- Docker развертывание
|
||
|
||
4. **[CONVERTER_MODULE.md](CONVERTER_MODULE.md)** - Converter и Docker интеграция
|
||
- On-demand конвертация файлов
|
||
- Интеграция с docker.sock
|
||
- Параллельная обработка
|
||
- API управления конвертацией
|
||
|
||
5. **[VERSIONING_COMPATIBILITY.md](VERSIONING_COMPATIBILITY.md)** - Версионирование нод
|
||
- Семантическое версионирование
|
||
- Проверка совместимости
|
||
- Автоматические обновления
|
||
- Мониторинг версий в сети
|
||
|
||
### 📋 Аналитические документы
|
||
|
||
6. **[tasks.txt](../tasks.txt)** - Анализ готовности функций
|
||
- Готовые компоненты (65%)
|
||
- Требующие доработки
|
||
- Новые функции для реализации
|
||
- План приоритетных задач
|
||
|
||
## 🚀 Ключевые изменения в v3.0
|
||
|
||
### ❌ Удаленные компоненты
|
||
|
||
- **Кворумная система консенсуса** - полностью удалена
|
||
- **Голосование за принятие контента** - заменено индивидуальными решениями
|
||
- **Централизованное управление** - отсутствует
|
||
- **Обязательная репликация** - заменена добровольной
|
||
|
||
### ✅ Новые возможности
|
||
|
||
- **Автономность нод** - каждая нода решает самостоятельно
|
||
- **Устойчивость к цензуре** - контент доступен пока есть хотя бы одна нода
|
||
- **Гибкая фильтрация** - настраиваемые правила на уровне ноды
|
||
- **Приватные ноды** - поддержка нод без входящих соединений
|
||
- **Автоматическая установка** - единый скрипт start.sh
|
||
- **Версионная совместимость** - контроль совместимости протоколов
|
||
|
||
## 🔐 Система безопасности v3.0
|
||
|
||
### Шифрование контента
|
||
|
||
```
|
||
Контент -> AES-256-GCM шифрование -> Единый хэш на всех нодах
|
||
↓
|
||
encrypted_content_hash (поиск в сети)
|
||
↓
|
||
Отдельный preview_id (публичный доступ)
|
||
```
|
||
|
||
### Принципы безопасности
|
||
|
||
1. **Симметричное шифрование** - уникальный ключ для каждого контента
|
||
2. **Детерминированные хэши** - одинаковые на всех нодах для поиска
|
||
3. **Изолированные preview** - не связаны с основным контентом
|
||
4. **Контроль доступа** - гибкая система разрешений
|
||
|
||
## 🌐 Архитектура сети
|
||
|
||
### Типы нод
|
||
|
||
- **Bootstrap ноды** - точки входа в сеть
|
||
- **Публичные ноды** - принимают входящие соединения
|
||
- **Приватные ноды** - только исходящие соединения
|
||
- **Seed ноды** - с большим объемом контента
|
||
|
||
### Протокол синхронизации
|
||
|
||
```
|
||
1. Анонс контента -> 2. Индивидуальное решение -> 3. Синхронизация
|
||
↓ ↓ ↓
|
||
всем пирам фильтры ноды прямая загрузка
|
||
```
|
||
|
||
## 📦 Установка одной командой
|
||
|
||
### Быстрая установка
|
||
|
||
```bash
|
||
curl -fsSL https://raw.githubusercontent.com/your-org/my-uploader-bot/main/start.sh | bash
|
||
```
|
||
|
||
### Что устанавливается
|
||
|
||
- ✅ Python, Docker, все зависимости
|
||
- ✅ PostgreSQL база данных
|
||
- ✅ Redis кэширование
|
||
- ✅ Converter module для медиа
|
||
- ✅ SSL сертификаты (опционально)
|
||
- ✅ Firewall и безопасность
|
||
- ✅ Мониторинг и логирование
|
||
|
||
## 🔧 Конфигурация
|
||
|
||
### Основные параметры
|
||
|
||
```bash
|
||
# Тип ноды
|
||
NODE_TYPE=public|private|bootstrap
|
||
|
||
# Telegram интеграция
|
||
TELEGRAM_API_KEY=your_key
|
||
CLIENT_TELEGRAM_API_KEY=your_key
|
||
|
||
# Docker интеграция
|
||
DOCKER_SOCK_PATH=/var/run/docker.sock
|
||
|
||
# SSL настройки
|
||
SSL_ENABLED=true
|
||
DOMAIN=your-domain.com
|
||
|
||
# Фильтрация контента (заглушка)
|
||
CONTENT_FILTER_ENABLED=true
|
||
```
|
||
|
||
## 📊 API Endpoints v3.0
|
||
|
||
### Управление нодой
|
||
|
||
```
|
||
GET /api/v3/node/status # Статус ноды
|
||
GET /api/v3/node/peers # Подключенные пиры
|
||
POST /api/v3/node/connect # Подключение к пиру
|
||
```
|
||
|
||
### Синхронизация контента
|
||
|
||
```
|
||
POST /api/v3/sync/announce # Анонс контента
|
||
GET /api/v3/sync/pending # Ожидающие синхронизации
|
||
POST /api/v3/sync/accept/{hash} # Принять контент
|
||
```
|
||
|
||
### Безопасность
|
||
|
||
```
|
||
GET /api/v3/content/{hash}/preview/{id} # Получение preview
|
||
POST /api/v3/content/{hash}/request-key # Запрос ключа
|
||
```
|
||
|
||
### Мониторинг
|
||
|
||
```
|
||
GET /api/v3/network/stats # Статистика сети
|
||
GET /api/v3/system/version # Информация о версии
|
||
GET /api/v3/converter/active # Активные конвертации
|
||
```
|
||
|
||
## 🔄 Converter Module
|
||
|
||
### On-Demand обработка
|
||
|
||
- **Автоматический запуск** контейнеров при необходимости
|
||
- **Параллельная обработка** до N файлов одновременно
|
||
- **Автоудаление** контейнеров после завершения
|
||
- **Интеграция с docker.sock** для управления контейнерами
|
||
|
||
### Поддерживаемые форматы
|
||
|
||
- **Видео** → MP4 конвертация + thumbnail
|
||
- **Аудио** → MP3 конвертация + preview
|
||
- **Изображения** → resize + thumbnail
|
||
- **Документы** → preview + metadata
|
||
|
||
## 📈 Мониторинг
|
||
|
||
### Веб-интерфейс
|
||
|
||
```
|
||
https://your-domain.com/api/my/monitor/
|
||
```
|
||
|
||
### Ключевые метрики
|
||
|
||
- **Сетевые соединения** - количество пиров
|
||
- **Синхронизация** - статус и прогресс
|
||
- **Контент** - количество и распределение
|
||
- **Производительность** - CPU, память, диск
|
||
- **Версии** - совместимость в сети
|
||
|
||
## 🛡️ Безопасность
|
||
|
||
### Уровни защиты
|
||
|
||
1. **Сетевая безопасность** - firewall, SSL, rate limiting
|
||
2. **Контент безопасность** - шифрование, контроль доступа
|
||
3. **Нода безопасность** - версионная совместимость
|
||
4. **API безопасность** - аутентификация, валидация
|
||
|
||
### Автоматические меры
|
||
|
||
- **SSL сертификаты** через Let's Encrypt
|
||
- **Fail2ban** защита от брутфорса
|
||
- **UFW firewall** базовая защита
|
||
- **Автообновления** безопасности
|
||
|
||
## 🔄 Миграция с v2.x
|
||
|
||
### Совместимость
|
||
|
||
- ✅ **База данных** - полная совместимость
|
||
- ✅ **Контент** - сохранение всех файлов
|
||
- ✅ **API** - обратная совместимость
|
||
- ❌ **Протокол** - требуется обновление
|
||
|
||
### Процесс миграции
|
||
|
||
1. **Backup** существующих данных
|
||
2. **Обновление** кода до v3.0
|
||
3. **Миграция** базы данных
|
||
4. **Настройка** новых параметров
|
||
5. **Запуск** в новом режиме
|
||
|
||
## 📋 Roadmap развития
|
||
|
||
### Phase 1 (Текущая) - Основы v3.0
|
||
- [x] Архитектура децентрализации
|
||
- [x] Базовая система синхронизации
|
||
- [x] Автоматическая установка
|
||
- [x] Версионная совместимость
|
||
|
||
### Phase 2 - Расширенная функциональность
|
||
- [ ] Реализация фильтров контента
|
||
- [ ] Продвинутый контроль доступа
|
||
- [ ] Региональные ограничения
|
||
- [ ] Коммерческие лицензии
|
||
|
||
### Phase 3 - Оптимизация
|
||
- [ ] Производительность сети
|
||
- [ ] Улучшенная безопасность
|
||
- [ ] Расширенный мониторинг
|
||
- [ ] Автоматическое масштабирование
|
||
|
||
## 🤝 Участие в разработке
|
||
|
||
### Структура проекта
|
||
|
||
```
|
||
my-uploader-bot/
|
||
├── app/ # Основное приложение
|
||
│ ├── core/ # Ядро системы
|
||
│ │ ├── my_network/ # MY Network v3.0
|
||
│ │ ├── content/ # Управление контентом
|
||
│ │ └── security/ # Безопасность
|
||
│ ├── api/ # REST API
|
||
│ └── scripts/ # Утилиты
|
||
├── converter-module/ # Модуль конвертации
|
||
├── web2-client/ # React фронтенд
|
||
├── docs/ # Документация v3.0
|
||
└── start.sh # Скрипт установки
|
||
```
|
||
|
||
### Вклад в проект
|
||
|
||
1. **Fork** репозитория
|
||
2. **Create** feature branch
|
||
3. **Implement** изменения
|
||
4. **Test** функциональность
|
||
5. **Submit** pull request
|
||
|
||
## 📞 Поддержка
|
||
|
||
### Документация
|
||
- **Архитектура**: [NEW_ARCHITECTURE.md](NEW_ARCHITECTURE.md)
|
||
- **Установка**: [INSTALLATION_GUIDE.md](INSTALLATION_GUIDE.md)
|
||
- **Протокол**: [NEW_PROTOCOL_V3.md](NEW_PROTOCOL_V3.md)
|
||
|
||
### Команды управления
|
||
|
||
```bash
|
||
# Управление сервисом
|
||
systemctl start|stop|restart my-network
|
||
|
||
# Просмотр логов
|
||
journalctl -u my-network -f
|
||
docker-compose logs -f
|
||
|
||
# Мониторинг
|
||
curl https://your-domain.com/api/v3/network/stats
|
||
```
|
||
|
||
### Диагностика
|
||
|
||
```bash
|
||
# Проверка статуса
|
||
curl http://localhost:15100/health
|
||
|
||
# Проверка подключений
|
||
curl http://localhost:15100/api/v3/node/peers
|
||
|
||
# Проверка синхронизации
|
||
curl http://localhost:15100/api/v3/sync/pending
|
||
```
|
||
|
||
---
|
||
|
||
## 🎉 Заключение
|
||
|
||
MY Network v3.0 представляет собой **новое поколение децентрализованных платформ** для дистрибьюции контента. Система обеспечивает:
|
||
|
||
- 🌐 **Полную децентрализацию** без единых точек отказа
|
||
- 🔒 **Надежную безопасность** с современным шифрованием
|
||
- 🚀 **Простую установку** одной командой
|
||
- 📈 **Масштабируемость** для любого количества нод
|
||
- 🛡️ **Устойчивость к цензуре** через множественные источники
|
||
|
||
**MY Network v3.0 - Будущее децентрализованной дистрибьюции контента!**
|
||
|
||
---
|
||
|
||
*Документация MY Network v3.0 | 2025 | Версия 1.0* |