Anonüümsesse Tor-võrku arendajad avaldasid projekti Arti 0.0.3, mis arendab Tor-klienti, kirjutatud Rusti keeles. Projekt on eksperimenteerimise staadiumis, jääb alla peamise C-keeles kirjutatud Tor-klientide funktsionaalsusele ning ei ole veel valmis selle täielikuks asendamiseks. Märtsis oodatakse versiooni 0.1.0, mida positsioneeritakse projekti esimese beetaväljaandena, ja sügisel versiooni 1.0, millega stabiliseeritakse API, CLI ja seaded, mis sobivad tavaliste kasutajate algseks kasutamiseks. Kaugemas tulevikus, kui Rusti kood saavutab taseme, mis suudab täielikult asendada C-keelset varianti, kavatsevad arendajad anda Arti staatuse peamisele Tor-teostusele ja lõpetada C-keelse teostuse hooldamise.
Erinevalt C keeles ellu viidud versioonist, mis algselt projekteeriti SOCKS-proksi vormis ja kohandati hiljem teistele vajadustele, areneb Arti algusest peale modulaarse sisseehitatud raamatukoguna, mida saavad kasutada erinevad rakendused. Lisaks arvestatakse uue projekti arendamisel kogu varasema Tor'i arenduse kogemust, mis aitab vältida teadaolevaid arhitektuurilisi probleeme ning muuta projekti modulaarsemaks ja tõhusamaks. Kood levitatakse litsentside Apache 2.0 ja MIT alusel.
Tor'i kirjutamise põhjuseks Rust'i keeles on soov saavutada kõrgem koodikaitse tase, kasutades keelt, mis tagab mälu ohutu töötlemise. Tor'i arendajate arvates väheneb vähemalt pool kõigist projekti jälgitavatest haavatavustest Rust'i versioonis, kui koodis ei kasutata 'unsafe' plokke. Rust võimaldab ka saavutada kõrgemat arenduse kiirusest, võrreldes C-ga, tänu keele väljendusvõimele ja rangetele garantiidele, mis aitavad vältida aega kahekordsete kontrollide ja liigse koodi kirjutamise peale.
Versioonis 0.0.3 on välja toodud täielik konfigureerimissüsteemi ja sellega seotud API ülevaatus. Muudatus võimaldab muuta seadeid Rustis jooksvalt Tor-klienti töö ajal. Samuti on lisatud uus süsteem ennetavate ahelate ehitamiseks, mis arvestab varem kasutatud porte ahelate ennetavaks loomiseks, mis võivad tulevikus olla vajalikud.
Allikas: opennet.ru
