ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π²ΡΠΏΡΡΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ OpenZiti 1.0, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. OpenZiti Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΡΡ ΡΠ΅ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ mesh-ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ΅ΡΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Go ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² C, Go, Python, Swift, Java, Node.js ΠΈ C# (.NET), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Android.
Π‘ΠΈΡΡΠ΅ΠΌΠ° OpenZiti ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅ΠΉ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠΈΡ Π·Π°ΡΠΈΡΡ ΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ° Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π² Π½Π΅Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ , ΡΠ·Π»Ρ Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Ρ (Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Ρ Π½ΡΠ»Π΅Π²ΡΠΌ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΠΌ — Zero Trust). Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΡΠ·ΠΈ c ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π²ΠΌΠ΅ΡΡΠΎ VPN. Π Π°Π±ΠΎΡΠ° ΡΠ΅ΡΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΡΠΈ, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΡΠΎΠ»ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠΎΠ², ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΡ mash-ΡΠ΅ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π±Ρ ΡΡΠ°Π½Π·ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ edge-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ΅ΡΠΈ ΠΊ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ OpenZiti. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½Π½Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠΎΠΊΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΡΠΎΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΈΠ· ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π² ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΡΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΡΠΎΠ±Ρ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ΅ΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌΠΈ Π² ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π²ΡΡΡΠΎΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² DNS Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ — Π±Π΅Π· Π½Π°Π»ΠΈΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π½Π΅ΠΌΡ. ΠΠ΅ΡΡ ΡΡΠ°ΡΠΈΠΊ Π·Π°ΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ mTLS (Π²Π·Π°ΠΈΠΌΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°) ΠΈ ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ (ChaCha20-Poly1305), Ρ.Π΅. ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΠ·Π»ΠΎΠ² ΡΠ΅ΡΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libsodium.
ΠΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ OpenZiti, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Zrok ΠΈ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ browZer Π΄Π»Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠ² Π² ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ OpenZiti ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ API, ΡΠ°ΠΉΡΠ°ΠΌ ΠΈΠ»ΠΈ ΠΠ, ΡΠΊΡΡΡΠΈΡ Π² ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡ Π½Π° Π±Π°Π·Π΅ Kubernetes, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π±Π΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠ΅ΠΆΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΊΡΠ°Π½ΠΎΠ² ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ VPN.
Π Π²ΡΠΏΡΡΠΊΠ΅ OpenZiti 1.0 ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ API Π΄Π»Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² (Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ API Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ ΠΈ ΡΠ°Π½ΡΡΠ΅). ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Π² API ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ, Π° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΈΡ
Π² ΡΠ°Π·ΡΡΠ΄ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠΌΠ΅Π½Π΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠΈΠΌΡΠ»ΡΡΠΈΠ΅ΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ±ΠΎΠ΅Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ΅ΡΠΈ (chaos testing), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΡΠ΅ΡΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π½Π΅ΡΡΠ°ΡΠ½ΡΡ
ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ±ΠΎΠΉΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru