| lib | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
TyChat
TyChat — это легковесный Peer-to-Peer (P2P) мессенджер, использующий сигнальный сервер для координации и связи клиентов в обход сетевых ограничений.
Архитектура и решение проблем NAT
В современных реалиях классический P2P сталкивается с проблемой «серых» IP-адресов (Carrier-Grade NAT), из-за которых клиенты не могут установить прямое соединение друг с другом.
TyChat решает эту проблему созданием виртуальной оверлейной сети:
- Сигнальный сервер объединяет подключённые клиенты в единую «локальную сеть».
- Вместо стандартных IPv4/IPv6 используется кастомная динамическая система адресации, абстрагированная от физического местоположения пользователя.
Система адресации
Сеть автоматически масштабируется в зависимости от количества участников:
- Изначально каждому новому клиенту выделяется уникальный 6-значный адрес.
- При исчерпании пула адресов длина идентификатора автоматически увеличивается до 7 знаков, затем до 8 знаков и так далее.
Реализация
PLACEHOLDER
Сборка из исходного кода
PLACEHOLDER
Дорожная карта (TODO)
- Разработать протокол обмена сообщениями.
- Реализовать сигнальный сервер.
- Разработать TUI-клиент (терминальный интерфейс).
- Разработать GUI-клиент для ПК.
- Реализовать мобильное приложение для Android.
💝 Поддержка проекта
Понравился проект и хотите поддержать его развитие? Вы можете внести свой вклад через DonationAlerts.