Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° Tor ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Arti 0.2.0, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Tor ΠΊΠ»ΠΈΠ΅Π½Ρ, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΡΡΡ ΡΡΠ°ΡΡΡ Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠΎΠΉ ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Tor ΠΊΠ»ΠΈΠ΅Π½Ρ Π² C ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π³ΠΎΡΠΎΠ² Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ. ΠΡΠ΅Π· ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ Π²Π΅ΡΡΠΈΡ 1.0 ΡΡΡ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° API, CLI ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. Π ΠΏΠΎ-Π΄Π°Π»Π΅ΡΠ½ΠΎ Π±ΡΠ΄Π΅ΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ΄ΡΡ Rust Π΄ΠΎΡΡΠΈΠ³Π½Π΅ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ C Π²Π΅ΡΡΠΈΡΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²ΡΠ·Π½Π°ΠΌΠ΅ΡΡΠ²Π°Ρ Π΄Π° Π΄Π°Π΄Π°Ρ Π½Π° Arti ΡΡΠ°ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Tor ΠΈ Π΄Π° ΡΠΏΡΠ°Ρ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ C ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° C, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ΠΎ ΠΊΠ°ΡΠΎ SOCKS ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈ Π½ΡΠΆΠ΄ΠΈ, Arti ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠ΅Π»ΠΈΡΡ ΠΌΠΈΠ½Π°Π» ΠΎΠΏΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Tor, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎ-ΠΌΠΎΠ΄ΡΠ»Π΅Π½ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½. ΠΠΎΠ΄ΡΡ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ΅ Apache 2.0 ΠΈ MIT.
ΠΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Tor Π² Rust ΡΠ° ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° ΠΊΠΎΠ΄Π° ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Tor, ΠΏΠΎΠ½Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Π½ΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Rust, Π°ΠΊΠΎ ΠΊΠΎΠ΄ΡΡ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° βΠΎΠΏΠ°ΡΠ½ΠΈβ Π±Π»ΠΎΠΊΠΎΠ²Π΅. Rust ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° C, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° ΠΈ ΡΡΡΠΎΠ³ΠΈΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ Π³ΡΠ±Π΅Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π΄Π²ΠΎΠΉΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠ΄.
ΠΠ°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΡΠ² Π²Π΅ΡΡΠΈΡΡΠ° 0.2.0 Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ°. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π² ΠΌΡΠ΅ΠΆΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ°ΠΌΠΎ IPv6. ΠΠ°ΠΌΠ°Π»Π΅Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΡΡΠ²ΡΡΠΈ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΡΠ° dns_port, Ρ ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° DNS Π·Π°ΡΠ²ΠΊΠΈ ΠΏΡΠ΅Π· Tor. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Π½ΠΎΠ² ΠΊΠΎΠ΄ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ API Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΡΠΊΠΈ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Ρ ΠΈΠ±Π΅ΡΠ½Π°ΡΠΈΡ (ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ). ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΡΡΠ²ΡΡΠΈ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΡΠ΅Π΄ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΡ 1.0.0, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²ΡΠ·Π½Π°ΠΌΠ΅ΡΡΠ²Π°Ρ Π΄Π° ΠΎΡΠΈΠ³ΡΡΡΡ Π½Π° Arti ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΊΠ°ΡΠΎ Tor ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ (Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π»ΡΠΊ ΡΡΠ»ΡΠ³ΠΈ Π΅ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎ Π·Π° Π±ΡΠ΄Π΅ΡΠ΅ΡΠΎ). Π’ΠΎΠ²Π° Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΈΡΠ΅Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° C Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru