Arti esimene stabiilne väljalase, Tori ametlik juurutamine Rustis

Anonüümse Tor-võrgu arendajad on loonud Arti projekti esimese stabiilse väljalaske (1.0.0), mis arendab Rustis kirjutatud Tori klienti. 1.0 väljalase on märgitud tavakasutajatele kasutamiseks sobivaks ja pakub sama privaatsuse, kasutatavuse ja stabiilsuse taset kui peamine C-rakendus. Stabiliseeritud on ka teistes rakendustes Arti funktsionaalsuse kasutamiseks pakutav API. Koodi levitatakse Apache 2.0 ja MIT litsentside all.

Erinevalt C-rakendusest, mis loodi esmalt SOCKS-i puhverserverina ja seejärel muudele vajadustele kohandatud, arendatakse Arti algselt modulaarse manustatava teegi kujul, mida saavad kasutada erinevad rakendused. Lisaks võetakse uue projekti väljatöötamisel arvesse kogu varasem Tori arenduskogemus, mis väldib teadaolevaid arhitektuuriprobleeme ning muudab projekti modulaarsemaks ja efektiivsemaks.

Tori Rustis ümberkirjutamise põhjuseks oli soov saavutada kõrgem koodi turvalisuse tase, kasutades mälusäästlikku keelt. Tori arendajate sõnul kõrvaldatakse vähemalt pooled kõigist projekti poolt jälgitavatest haavatavustest Rusti juurutamisel, kui kood ei kasuta "ebaturvalisi" plokke. Rooste võimaldab saavutada ka kiiremaid arenduskiirusi kui C kasutamine tänu keele väljendusrikkusele ja rangetele garantiidele, mis võimaldavad vältida aja raiskamist topeltkontrollimisele ja tarbetu koodi kirjutamisele.

Esimese versiooni väljatöötamise tulemuste põhjal õigustas end rooste keele kasutamine. Näiteks märgati, et igas etapis tehti Rusti koodis vähem vigu kui võrreldavas arenduses C-s - arendusprotsessi käigus esile kerkinud vead olid peamiselt seotud loogika ja semantikaga. Liiga nõudlik rustc-kompilaator, mida mõned puuduseks märkisid, osutus tegelikult õnnistuseks, sest kui kood kompileerib ja testid läbib, suureneb selle õigsuse tõenäosus märkimisväärselt.

Uue variandi kallal töötamine kinnitas ka arenduskiiruse tõusu, mis ei tulene mitte ainult funktsionaalsuse taasloomisest olemasoleva malli põhjal, vaid ka Rusti väljendusrikkamast semantikast, mugavatest funktsiooniteegidest ja Rusti kooditurbe kasutamisest. võimeid. Üheks miinuseks on saadud koostude suur suurus – kuna standardset Rusti teeki vaikimisi süsteemides ei tarnita, tuleb see allalaadimiseks pakutavatesse pakettidesse kaasata.

1.0 väljalase keskendub peamiselt põhitööle kliendi rollis. Versioonis 1.1 on kavas juurutada tugi pistiktranspordile ja sildadele blokeeringust möödasõiduks. Eeldatakse, et versioon 1.2 toetab sibulate teenuseid ja nendega seotud funktsioone, nagu ummikukontrolli protokoll (RTT Congestion Control) ja kaitse DDoS-i rünnakute eest. Pariteedi saavutamine C-kliendiga on plaanis 2.0 harus, mis hakkab pakkuma ka seoseid Arti kasutamiseks koodis erinevates programmeerimiskeeltes.

Järgmise paari aasta jooksul keskendutakse releede ja kataloogiserverite käitamiseks vajalike funktsioonide juurutamisele. Kui Rust-kood jõuab tasemeni, mis suudab C-versiooni täielikult asendada, kavatsevad arendajad anda Artile Tori põhirakenduse staatuse ja lõpetada C-rakenduse hooldamise. C-versioon kaotatakse järk-järgult, et võimaldada sujuvat üleminekut.

Allikas: opennet.ru

Lisa kommentaar