Tor projekti arendajad avaldasid Arti 2.0.0, ametlikult arendatav Tor tööriistade versioon, mis on kirjutatud Rust keeles. Teostust on peetud sobivaks tavakasutajatele ning see pakub sama taset privaatsust, kasutatavust ja stabiilsust nagu põhiteost C keeles. Kui Rust kood jõuab tasemeni, mis suudab täielikult asendada C versiooni, plaanivad arendajad anda Artile põhiteose staatuse ja järk-järgult lõpetada C versiooni hoidmise. Koodi levitatakse Apache 2.0 ja MIT litsentside all.
Arti areneb algselt modulaarsena sisseehitatud raamatukoguna, mida saavad kasutada erinevad rakendused. Arti projekteerimisel on arvesse võetud Tor arendamisel saadud varasemaid kogemusi, mis on võimaldanud vältida tuntud arhitektuurilisi probleeme, mis on seotud C keeles teostuse algse kujundamisega SOCKS-proksina, ning selle hilisema kohandamisega teiste vajaduste jaoks.
Tor'i arhitektuuri moderniseerimise kõrval oli Tor'i ümberkirjutamise põhjuseks ka soov suurendada koodi turvalisust keele kasutamise kaudu, mis tagab mälu ohutu kasutamise. Tor'i arendajate hinnangul võimaldab Rusti keele kasutamine ilma „unsafe“ plokkideta vältida vähemalt poole tüüpsetest haavatavustest projektis. Lisaks eeldatakse, et Rust kiirendab arendust, tänu keele väljendusrikkusele ja rangetele garantiidele, mis välistavad aega kahekordsetel kontrollidel ja liigse koodi kirjutamisel.
Oluline versionumbri muutus toimus vastavalt projekti kasutatavale semantilise versioonihalduse mudelile ning on seotud muutustega, mis rikuvad tagasipöörduvust. Toetamine seadistustele proxy.socks_port ja proxy.dns_port, mis on varem peetud vananenud, on lõpetatud ning nende asemel on lisatud seadistused proxy.socks_listen ja proxy.dns_listen. Vanade süntaksite määramine on samuti lõpetatud. serverite direktorite (Directory Authority) määramine. Kõik crate-paketi arti API-d, mis plaanitakse teisaldada teistesse crate-pakettidesse või eemaldada, on tähistatud eksperimentaalsetena.
Uue funktsionaalsuse hulka kuulub uue socket-tüübi «inet-auto» tugi, mis võimaldab automaatselt määrata vaba TCP-port RPC-serverile. Jätkub funktsionaalsuse rakendamine reljale ja kataloogiserveritele. Kataloogiserverite puhul on tehtud tööd sertifikaatide haldamise osas, lisades võimaluse sertifikaatide üleslaadimiseks, valideerimiseks ja salvestamiseks. Reljade jaoks on rakendatud uus moodulite arhitektuur sõlmede ahelate haldamiseks, toetades suhtlemiskanali loomist teiste reljadega, ühenduse taotluste töötlemise toetust ning relja tööd TLS-ühenduse loomisel. serverile TLS-ühenduse loomisel.
Allikas: opennet.ru
