Programeri anonimne Tor mreže objavili su izdanje projekta Arti 1.1.0, koji razvija Tor klijent napisan na jeziku Rust. Grana 1.x označena je kao prikladna za korištenje od strane općih korisnika i pruža istu razinu privatnosti, upotrebljivosti i stabilnosti kao glavna C implementacija. Kod se distribuira pod licencama Apache 2.0 i MIT.
Za razliku od C implementacije, koja je prvo osmišljena kao SOCKS proxy, a zatim prilagođena drugim potrebama, Arti je inicijalno razvijen u obliku modularne knjižnice koja se može ugraditi i koju mogu koristiti različite aplikacije. Osim toga, prilikom razvoja novog projekta, sva dosadašnja iskustva u razvoju Tor-a uzimaju se u obzir, čime se izbjegavaju poznati arhitektonski problemi i čini projekt modularnijim i učinkovitijim.
Navedeni razlog za ponovno pisanje Tor-a u Rustu je želja da se postigne viša razina sigurnosti koda korištenjem jezika koji je siguran za memoriju. Prema programerima Tor-a, najmanje polovica svih ranjivosti koje prati projekt bit će eliminirana u implementaciji Rusta ako kod ne koristi "nesigurne" blokove. Rust će također omogućiti postizanje većih brzina razvoja od korištenja C-a, zbog izražajnosti jezika i strogih jamstava koja vam omogućuju da izbjegnete gubljenje vremena na dvostruku provjeru i pisanje nepotrebnog koda.
Verzija 1.1 uvodi podršku za mostove za zaobilaženje blokiranja i plug-in prijenosa. Među transportima testiranim s Artijem za skrivanje prometa i borbu protiv blokiranja, zapaženi su obfs4proxy i pahuljica. Zahtjevi za okruženje za izgradnju su povećani - za izgradnju Artija sada je potrebna barem grana Rust 1.60.
Očekuje se da će sljedeća verzija (1.2) podržavati onion usluge i srodne značajke, kao što je protokol kontrole zagušenja (RTT Congestion Control) i zaštita od DDoS napada. Postizanje pariteta s C klijentom planirano je za granu 2.0, koja će također nuditi povezivanja za korištenje Artija u kodu u različitim programskim jezicima. Tijekom sljedećih nekoliko godina rad će se usredotočiti na implementaciju funkcionalnosti potrebne za pokretanje releja i direktorijskih poslužitelja. Kada Rust kod dosegne razinu koja može u potpunosti zamijeniti C verziju, programeri Artiju namjeravaju dati status glavne implementacije Tora i prestati održavati C implementaciju. C verzija će se postupno ukidati kako bi se omogućila glatka migracija.
Izvor: opennet.ru