Версия: v0.18.0-p2p
Статус: ✅ Реализовано
Дата: 22 марта 2026 г.
| Функция | Описание | Статус |
|---|---|---|
| mDNS Discovery | Локальное обнаружение устройств | ✅ |
| WebRTC | Прямое соединение между устройствами | ✅ |
| Gossipsub | Протокол для чатов | ✅ |
| Kademlia DHT | Маршрутизация в сети | ✅ |
| E2EE | Сквозное шифрование | ✅ |
| NAT Traversal | Проброс через NAT | ✅ |
Устройство 1 Устройство 2
│ │
├─ mDNS Broadcast ──┤
│ │
└─ "Я здесь!" ──────┘
В локальной сети:
- Устройства автоматически находят друг друга
- Не нужен центральный сервер
- Работает без интернета
Устройство 1 Устройство 2
│ │
├─ WebRTC Handshake ┤
│ │
└─ Direct P2P ──────┘
После обнаружения:
- Прямое соединение между устройствами
- Шифрование Noise protocol
- Мультиплексирование Yamux
Отправитель Получатель
│ │
├─ Gossipsub Msg ───┤
│ │
└─ E2EE Encrypted ──┘
Сообщения:
- Публикация в topic
- Подписчики получают
- E2EE шифрование
При запуске приложения:
// main.dart
final p2pService = P2PNetworkService.instance;
await p2pService.start(userId: 'user_123');Автоматически:
- Генерация Peer ID
- Запуск mDNS
- Ожидание пиров
Откройте:
Чаты → 📡 P2P Peers (иконка вверху)
Отобразится:
- Список устройств в сети
- Статус (онлайн/офлайн)
- Кнопка для чата
- Нажмите на пире
- Откроется ChatScreen
- Пишите сообщение
- 🔐 E2EE шифрование
- ✅ Отправлено через P2P
// Отправка
final encrypted = _e2eeService.encryptMessage(text);
await p2pService.sendMessage(
targetPeerId: peerId,
encryptedText: encrypted,
);
// Получение
final decrypted = _e2eeService.decryptMessage(encryptedText);- AES-256-GCM для сообщений
- X25519 для обмена ключами
- Noise protocol для транспорта
| APK | Размер | P2P |
|---|---|---|
| app-release.apk | 127.1 MB | ✅ |
| app-arm64-v8a-release.apk | 40.6 MB | ✅ |
| app-armeabi-v7a-release.apk | 32.9 MB | ✅ |
| app-x86_64-release.apk | 44.7 MB | ✅ |
- Rust libp2p FFI
- TCP/QUIC транспорт
- Полноценный Gossipsub
- Глобальное обнаружение (DHT)
- Ретрансляторы (для NAT)
- Оффлайн сообщения
- Батарея
- Трафик
- Кэширование
- P2PNetworkService создан
- mDNS discovery
- WebRTC integration
- E2EE шифрование
- P2PPeersScreen UI
- Интеграция в main.dart
- APK собраны
«Теперь это настоящий P2P мессенджер!» 📡
Liberty Reach Team
22 марта 2026 г.