Files
godpn/README.md
T
2025-07-23 17:56:38 +03:00

3.4 KiB

GODPN - Decentralized Private Network

🏛️ Архитектура

  1. Компоненты системы

1.1 Трекер (Coordinator Server)

Роль: Управляет пирами, собирает метрики, назначает оптимальные подключения.

Функции:

Регистрирует пиры (IP, порт, доступная пропускная способность, геолокация).
Собирает статистику: скорость, пинг, трафик.
Ранжирует пиры для клиентов (по скорости/стабильности).
Начисляет монеты за трафик, списывает их у клиентов.

Технологии:

Echo (HTTP API для клиентов и пиров).
gRPC (для быстрого обмена метриками).
Redis (кеш рейтингов пиров).
PostgreSQL/SQLite3 (хранение данных пользователей, транзакций).

1.2. Клиент (VPN Client)

Роль: Подключается к пирам или центральным серверам через Shadowsocks.

Функции:

Получает список пиров от трекера.
Тестирует подключение (ping, speedtest).
Выбирает лучший пир/сервер.
Учитывает потраченные/заработанные монеты.

Технологии:

go-shadowsocks2 (подключение через SOCKS5).
libp2p (для P2P-подключений).

1.3. Пир (Peer Node)

Роль: Раздает трафик другим клиентам за монеты.

Функции:

Регистрируется на трекере.
Принимает подключения через Shadowsocks.
Отправляет метрики (трафик, скорость) трекеру.
Получает вознаграждение в монетах.

Технологии:

go-shadowsocks2 (режим сервера).
Prometheus + Grafana (мониторинг).
  1. Как работает трафик

2.1. Подключение клиента

    Клиент запрашивает у трекера список доступных пиров.
    Трекер возвращает доступные пиры по скорости/стоимости.
    Клиент тестирует их и подключается к лучшему.
    Весь трафик идет через Shadowsocks-туннель (Можно настроить).
  1. Монетизация

3.1. Внутренняя валюта

    Монеты (токены) начисляются за отданный трафик.
    Клиенты покупают подписку или тратят монеты на трафик.

📜 Лицензия

Этот проект распространяется под SSPL-1.0. Коммерческое использование в качестве сервиса (SaaS) без разрешения автора запрещено.

Данная лицензия (SSPL) применяется только к коду, написанному автором godpn. Сторонние библиотеки (например, go-shadowsocks2) используются под их исходными лицензиями.