Праект Tor апублікаваў Arti 0.0.3, рэалізацыю кліента Tor на мове Rust

Распрацоўнікі ананімнай сеткі Tor прадставілі выпуск праекту Arti 0.0.3, які развівае Tor-кліент, напісаны на мове Rust. Праект мае статут эксперыментальнай распрацоўкі, адстае ад функцыянальнасці ад асноўнага кліента Tor на мове Сі і пакуль не готаў паўнавартасна замяніць яго. У сакавіку чакаецца выпуск 0.1.0, які пазіцыянуецца як першы бэта-выпуск праекту, а ўвосень выпуск 1.0 са стабілізацыяй API, CLI і налад, які будзе прыдатны для пачатковага выкарыстання звычайнымі карыстачамі. У больш аддаленай будучыні, калі код на Rust дасягне ўзроўню, здольнага цалкам замяніць варыянт на Сі, распрацоўнікі маюць намер надаць Arti статут асноўнай рэалізацыі Tor і спыніць суправаджэнне рэалізацыі на Сі.

У адрозненне ад рэалізацыі на Сі, якая спачатку была спраектаваная як SOCKS-проксі, а ўжо потым падагнаная пад іншыя запатрабаванні, Arti першапачаткова развіваецца ў форме модульнай убудаванай бібліятэкі, якую змогуць выкарыстаць розныя прыкладанні. Акрамя таго, пры распрацоўцы новага праекту ўлічваецца ўвесь мінулы досвед распрацоўкі Tor, што дазволіць пазбегнуць вядомых архітэктурных праблем, зрабіць праект больш модульным і эфектыўным. Код распаўсюджваецца пад ліцэнзіямі Apache 2.0 і MIT.

У якасці прычын перапісвання Tor на Rust называецца жаданне дабіцца больш высокага ўзроўню абароненасці кода за кошт выкарыстання мовы, які забяспечвае бяспечную працу з памяццю. Па адзнацы распрацоўнікаў Tor, прынамсі палова ўсіх адсочваных праектам уразлівасцяў будзе выключаная ў рэалізацыі на Rust, калі ў кодзе не выкарыстоўваюцца блокі «unsafe». Rust таксама дасць магчымасць дабіцца больш высокай хуткасці распрацоўкі, чым пры выкарыстанні Сі, за кошт выразнасці мовы і строгіх гарантый, якія дазваляюць не марнаваць час на падвойныя праверкі і напісанне лішняга кода.

З змен у выпуску 0.0.3 адзначаецца поўны перагляд сістэмы канфігурацыі і злучанага з ёй API. Змена дазволіла мяняць налады з Rust на лета падчас працы кліента Tor. Таксама дададзена новая сістэма для папераджальнай пабудовы ланцужкоў (preemptive circuit construction), якая ўлічвае выкарыстоўваныя раней парты для папераджальнага стварэння ланцужкоў, якія верагодна спатрэбяцца ў будучыні.

Крыніца: opennet.ru

Дадаць каментар