# 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 (ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³). 2. Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ 2.1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π° список доступных ΠΏΠΈΡ€ΠΎΠ². Π’Ρ€Π΅ΠΊΠ΅Ρ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ доступныС ΠΏΠΈΡ€Ρ‹ ΠΏΠΎ скорости/стоимости. ΠšΠ»ΠΈΠ΅Π½Ρ‚ тСстируСт ΠΈΡ… ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ΠΌΡƒ. Π’Π΅ΡΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Shadowsocks-Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ (МоТно Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ). 3. ΠœΠΎΠ½Π΅Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ 3.1. ВнутрСнняя Π²Π°Π»ΡŽΡ‚Π° ΠœΠΎΠ½Π΅Ρ‚Ρ‹ (Ρ‚ΠΎΠΊΠ΅Π½Ρ‹) Π½Π°Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π·Π° ΠΎΡ‚Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠΊΡƒΠΏΠ°ΡŽΡ‚ подписку ΠΈΠ»ΠΈ тратят ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. ## πŸ“œ ЛицСнзия Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ **SSPL-1.0**. ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΎΠ΅ использованиС Π² качСствС сСрвиса (SaaS) Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π°Π²Ρ‚ΠΎΡ€Π° Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ. Данная лицСнзия (SSPL) примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΊΠΎΠ΄Ρƒ, написанному Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ godpn. Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, go-shadowsocks2) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ ΠΈΡ… исходными лицСнзиями.