Arti-ning birinchi barqaror versiyasi, Tor in Rustning rasmiy tatbiq etilishi

Anonim Tor tarmog'ining ishlab chiquvchilari Rust tilida yozilgan Tor mijozini ishlab chiqadigan Arti loyihasining birinchi barqaror versiyasini (1.0.0) yaratdilar. 1.0 versiyasi umumiy foydalanuvchilar tomonidan foydalanish uchun mos deb belgilangan va asosiy C ilovasi bilan bir xil darajadagi maxfiylik, qulaylik va barqarorlikni ta'minlaydi. Boshqa ilovalarda Arti funksiyasidan foydalanish uchun taklif qilingan API ham barqarorlashtirildi. Kod Apache 2.0 va MIT litsenziyalari ostida tarqatiladi.

Dastlab SOCKS proksi sifatida ishlab chiqilgan va keyin boshqa ehtiyojlarga moslashtirilgan C ilovasidan farqli o'laroq, Arti dastlab turli ilovalar tomonidan ishlatilishi mumkin bo'lgan modulli o'rnatilgan kutubxona ko'rinishida ishlab chiqilgan. Bundan tashqari, yangi loyihani ishlab chiqishda Torni ishlab chiqishning barcha tajribasi hisobga olinadi, bu ma'lum me'moriy muammolardan qochadi va loyihani yanada modulli va samarali qiladi.

Tor-ni Rust-da qayta yozishning sababi xotira uchun xavfsiz til yordamida kod xavfsizligining yuqori darajasiga erishish istagi edi. Tor ishlab chiquvchilarining fikriga ko'ra, agar kod "xavfli" bloklardan foydalanmasa, Rust dasturida loyiha tomonidan nazorat qilinadigan zaifliklarning kamida yarmi yo'q qilinadi. Rust, shuningdek, tilning ifodaliligi va keraksiz kodlarni ikki marta tekshirish va yozishga vaqtni behuda sarflamaslik imkonini beruvchi qat'iy kafolatlar tufayli C dan foydalanishga qaraganda tezroq rivojlanish tezligiga erishishga imkon beradi.

Birinchi versiyani ishlab chiqish natijalariga ko'ra, Rust tilidan foydalanish o'zini oqladi. Misol uchun, har bir bosqichda Rust kodida C dagi taqqoslanadigan ishlanmalarga qaraganda kamroq xatolarga yo'l qo'yilgani e'tiborga olindi - ishlab chiqish jarayonida yuzaga kelgan xatolar asosan mantiq va semantika bilan bog'liq. Ba'zilar tomonidan kamchilik sifatida qayd etilgan haddan tashqari talabchan rustc kompilyatori aslida baraka bo'lib chiqdi, chunki agar kod tuzilsa va sinovlardan o'tsa, uning to'g'riligi ehtimoli sezilarli darajada oshadi.

Yangi variant ustida ishlash rivojlanish tezligining oshishini ham tasdiqladi, bu nafaqat funksionallik mavjud shablon asosida qayta yaratilgani, balki Rustning yanada ifodali semantikasi, qulay funktsiyalar kutubxonalari va Rust kod xavfsizligidan foydalanish bilan bog'liq. qobiliyatlar. Kamchiliklardan biri bu hosil bo'lgan yig'ilishlarning katta o'lchamidir - standart Rust kutubxonasi tizimlarda sukut bo'yicha ta'minlanmaganligi sababli, u yuklab olish uchun taklif qilingan paketlarga kiritilishi kerak.

1.0 versiyasi asosan mijoz rolidagi asosiy ishlarga qaratilgan. 1.1-versiyada plaginli transport va blokirovkani chetlab o'tish uchun ko'priklarni qo'llab-quvvatlashni amalga oshirish rejalashtirilgan. Versiya 1.2 piyoz xizmatlarini va tirbandlikni nazorat qilish protokoli (RTT tiqilib qolishni nazorat qilish) va DDoS hujumlaridan himoya kabi tegishli xususiyatlarni qo'llab-quvvatlashi kutilmoqda. C mijozi bilan paritetga erishish 2.0 filiali uchun rejalashtirilgan bo'lib, u Arti-ni turli dasturlash tillarida kodda ishlatish uchun ulanishlarni ham taklif qiladi.

Kelgusi bir necha yil ichida ish o'rni va katalog serverlarini ishga tushirish uchun zarur bo'lgan funksiyalarni amalga oshirishga qaratiladi. Rust kodi C versiyasini to'liq almashtira oladigan darajaga yetganda, ishlab chiquvchilar Arti-ga Torning asosiy ilovasi maqomini berish va C ilovasini saqlashni to'xtatish niyatida. To'g'ri ko'chib o'tishga imkon berish uchun C versiyasi bosqichma-bosqich to'xtatiladi.

Manba: opennet.ru

a Izoh qo'shish