Tor-projektin kehittäjät ovat julkaisseet Arti 2.0.0:n, Rustilla kirjoitetun Tor-työkalupakin virallisen ylläpidetyn version. Toteutus on tarkoitettu tavallisille käyttäjille ja tarjoaa saman yksityisyys-, käytettävyys- ja vakaustason kuin C-päätoteutus. Kun Rust-koodi saavuttaa tason, joka pystyy korvaamaan C-toteutuksen kokonaan, kehittäjät aikovat päivittää Artin Tor-päätoteutukseen ja vähitellen lopettaa C-toteutuksen ylläpidon. Koodi on lisensoitu Apache 2.0- ja MIT-lisensseillä.
Arti on alun perin kehitetty modulaariseksi, upotettavaksi kirjastoksi, jota voidaan käyttää useissa sovelluksissa. Artin suunnittelussa on otettu huomioon aikaisempi kokemus Torista, mikä välttää C-toteutuksen tunnettujen arkkitehtonisten ongelmien suunnittelun alun perin SOCKS-välityspalvelimeksi ja sitten räätälöinnin muihin tarpeisiin.
Arkkitehtuurin modernisoinnin lisäksi syynä Torin uudelleenkirjoittamiseen Rustissa oli halu lisätä koodin turvallisuutta käyttämällä kieltä, joka takaa turvallisen työskentelyn muistin kanssa. Tor-kehittäjien mukaan Rust-kielen käyttäminen ilman "vaarallisia" lohkoja estää ainakin puolet projektin tyypillisistä haavoittuvuuksista. Ruosteen odotetaan myös lisäävän kehitysnopeutta kielen ilmaisukyvyn ja vahvojen takuiden ansiosta, jotka poistavat tarpeen tuhlata aikaa kaksinkertaiseen tarkistamiseen ja tarpeettoman koodin kirjoittamiseen.
Projektin semanttisen versiointimallin mukaisesti tehtiin merkittävä versionumeron muutos, joka johtuu muutoksista, jotka rikkovat yhteensopivuuden taaksepäin. Aiemmin vanhentuneiden proxy.socks_port- ja proxy.dns_port-asetusten tuki on lopetettu ja korvattu proxy.socks_listen- ja proxy.dns_listen-asetuksilla. Vanhan määrityssyntaksin tuki on lopetettu. palvelimia Hakemistot (hakemiston auktoriteetti). Kaikki arti crate -paketin API:t on merkitty kokeellisiksi ja ne on tarkoitus siirtää muihin laatikoihin tai poistaa.
Uuteen toiminnallisuuteen kuuluu tuki uudelle "inet-auto"-socket-tyypille, joka määrittää automaattisesti käyttämättömän TCP-portin RPC-palvelimelle. Välityspalvelinten ja hakemistopalvelimien toiminnallisuuden käyttöönottoa on jatkettu. Hakemistopalvelimille on otettu käyttöön varmenteiden hallinta, ja siihen on lisätty mahdollisuus ladata, tarkistaa ja tallentaa varmenteita. Välityspalvelimille on otettu käyttöön uusi modulaarinen solmuketjun hallinta-arkkitehtuuri sekä tuki viestintäkanavien luomiselle muiden välityspalvelinten kanssa, tuki yhteysneuvottelupyyntöjen käsittelylle ja välityspalvelinten kyky toimia... palvelin TLS-yhteyttä muodostettaessa.
Lähde: opennet.ru
