uploader-bot/docs/README_V3.md

341 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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*