Skip to content

🌐 Сервер для Phantom Messenger. Гибридный бэкенд на Go, сочетающий P2P-сеть (libp2p) с централизованным узлом для E2E-шифрованного постквантового мессенджера.

License

Notifications You must be signed in to change notification settings

snaart/phantom_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phantom Server

Go Report Card License: AGPL v3

Официальный серверный компонент для Phantom Secure Messenger. Этот сервер — не просто центральный узел, а гибридный P2P-хаб, написанный на Go. Его основная задача — обеспечить надежную связь в условиях, когда прямые P2P-соединения невозможны, и помочь клиентам находить друг друга в децентрализованной сети.

Сервер спроектирован с упором на приватность и безопасность: он не имеет доступа к ключам шифрования и не может читать сообщения. Это просто умная и защищенная "труба" для доставки зашифрованных пакетов.

🚀 Ключевые особенности

  • Гибридная P2P-архитектура:

    • Bootstrap-узел: Помогает новым клиентам подключиться к P2P-сети.
    • P2P Relay (ретранслятор): Использует libp2p circuit relay v2 для соединения клиентов, находящихся за сложными NAT.
    • Fallback-механизм: Если P2P-соединение невозможно, сервер временно хранит и доставляет офлайн-сообщения.
    • Умная маршрутизация: Активно уведомляет клиентов о возможности прямого P2P-соединения, снижая нагрузку на себя.
  • Постквантовая безопасность:

    • Использует постквантовые подписи CRYSTALS-Dilithium5 для аутентификации ключевых ответов сервера, защищая от MitM-атак даже в эпоху квантовых компьютеров.
  • Современный сетевой стек:

    • Поддержка gRPC как через надежный TCP (HTTP/2), так и через быстрый QUIC (HTTP/3).
    • Полная интеграция с libp2p для P2P-коммуникаций.
  • Защита и отказоустойчивость:

    • Встроенные ограничители скорости (rate limiters) для защиты от DoS-атак на регистрацию и запросы ключей.
    • Проверка криптографической подписи каждого пакета.
    • Защита от захвата аккаунтов путем проверки PQC-ключей при перерегистрации.
    • Автоматическая генерация TLS-сертификатов и ключей подписи.
  • Приватность по умолчанию:

    • Сервер оперирует только хэшами клиентов и не хранит личную информацию.
    • Полностью совместим с архитектурой End-to-End шифрования и не может расшифровать трафик.

📜 Лицензия

Этот проект лицензирован под GNU Affero General Public License v3.0 (AGPLv3). Это сделано для того, чтобы гарантировать, что сеть Phantom и её улучшения всегда будут оставаться открытыми. Если кто-то запускает публичный экземпляр этого сервера с изменениями, он обязан поделиться этими изменениями с сообществом.

About

🌐 Сервер для Phantom Messenger. Гибридный бэкенд на Go, сочетающий P2P-сеть (libp2p) с централизованным узлом для E2E-шифрованного постквантового мессенджера.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages