Arti биринчи туруктуу релиз, Tor in Rust расмий ишке ашыруу

Анонимдүү Tor тармагын иштеп чыгуучулар Rust тилинде жазылган Tor кардарын иштеп чыгуучу Arti долбоорунун биринчи туруктуу чыгарылышын (1.0.0) түзүштү. 1.0 чыгаруу жалпы колдонуучулар тарабынан колдонууга ылайыктуу деп белгиленген жана негизги C ишке ашыруу сыяктуу эле купуялуулукту, колдонууга ыңгайлуулукту жана туруктуулукту камсыз кылат. Arti функциясын башка колдонмолордо колдонуу үчүн сунушталган API да турукташтырылган. Код Apache 2.0 жана MIT лицензиялары боюнча таратылат.

Алгач SOCKS проксиси катары иштелип чыккан, андан кийин башка муктаждыктарга ылайыкташтырылган C ишке ашыруусунан айырмаланып, Arti алгач ар кандай тиркемелер тарабынан колдонула турган модулдук орнотулган китепкана түрүндө иштелип чыккан. Мындан тышкары, жаңы долбоорду иштеп чыгууда Tor иштеп чыгуунун бардык тажрыйбасы эске алынат, бул белгилүү архитектуралык көйгөйлөрдөн качат жана долбоорду модулдук жана натыйжалуу кылат.

Rust ичинде Torду кайра жазууга эстутум үчүн коопсуз тилди колдонуу менен коддун коопсуздугунун жогорку деңгээлине жетүү каалоосу себеп болгон. Tor иштеп чыгуучуларынын айтымында, эгер код "кооптуу" блокторду колдонбосо, долбоор тарабынан көзөмөлдөнгөн бардык кемчиликтердин кеминде жарымы Rust ишке ашырууда жок кылынат. Rust ошондой эле тилдин экспрессивдүүлүгүнө жана керексиз кодду жазууга убакытты текке кетирбөөгө мүмкүндүк берген катуу кепилдиктердин аркасында Сти колдонууга караганда тезирээк өнүгүү ылдамдыгына жетишүүгө мүмкүндүк берет.

Биринчи версияны иштеп чыгуунун жыйынтыгы боюнча Rust тилин колдонуу өзүн актаган. Мисалы, ар бир этапта C тилиндеги салыштырылуучу иштеп чыгууга караганда Rust кодунда азыраак ката кетирилгени байкалды - иштеп чыгуу процессинде пайда болгон каталар негизинен логика жана семантика менен байланышкан. Ашыкча талап кылынган rustc компилятору, кээ бирлери кемчилик катары белгилеген, чындыгында бата болуп чыкты, анткени код түзүлүп, сыноолордон өтсө, анын туура болуу ыктымалдыгы кыйла жогорулайт.

Жаңы варианттын үстүндө иштөө иштеп чыгуу ылдамдыгынын жогорулашын тастыктады, бул функция иштеп жаткан шаблондун негизинде кайра жаралганына гана эмес, ошондой эле Rustтун экспрессивдүү семантикасына, ыңгайлуу функция китепканаларына жана Rust кодунун коопсуздугун колдонууга байланыштуу. мүмкүнчүлүктөр. Кемчиликтердин бири - пайда болгон жыйындардын чоң көлөмү - стандарттуу Rust китепканасы системаларда демейки боюнча берилбегендиктен, ал жүктөө үчүн сунушталган пакеттерге киргизилиши керек.

1.0 релиз, негизинен, кардар ролун негизги ишке багытталган. 1.1 версиясында блокировканы айланып өтүү үчүн плагин транспортун жана көпүрөлөрдү колдоону ишке ашыруу пландаштырылууда. 1.2 версиясы тыгынды көзөмөлдөө протоколу (RTT Congestion Control) жана DDoS чабуулдарынан коргоо сыяктуу пияз кызматтарын жана ага байланыштуу функцияларды колдошу күтүлүүдө. C кардары менен паритетке жетишүү 2.0 филиалы үчүн пландаштырылууда, ал ошондой эле ар кандай программалоо тилдеринде коддо Arti колдонууну сунуштайт.

Кийинки бир нече жыл ичинде релелерди жана каталог серверлерин иштетүү үчүн зарыл болгон функцияларды ишке ашырууга көңүл бурулат. Rust коду C версиясын толугу менен алмаштыра ала турган деңгээлге жеткенде, иштеп чыгуучулар Artiге Torдун негизги ишке ашырылышынын статусун берүүгө жана C ишке ашырууну токтотууга ниеттенишет. С версиясы акырындык менен жок кылынат, бул жылмакай миграцияга мүмкүндүк берет.

Source: opennet.ru

Комментарий кошуу