Yet Another Peer2Peer Messenger
Find a file
2026-06-03 17:35:56 +03:00
lib Добавлен класс TyTUIClient для управления пользовательским интерфейсом и взаимодействия с сетью 2026-06-03 13:45:52 +00:00
.gitignore Добавлен класс TyTUIClient для управления пользовательским интерфейсом и взаимодействия с сетью 2026-06-03 13:45:52 +00:00
LICENSE Initial commit 2026-05-21 16:12:02 +03:00
README.md Update README.md 2026-06-03 17:35:56 +03:00
tui.py Добавлен класс TyTUIClient для управления пользовательским интерфейсом и взаимодействия с сетью 2026-06-03 13:45:52 +00:00

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.