Zhvilluesit e projektit Tor publikuan lëshimin Arti 1.4.0, një klient Tor të shkruar në gjuhën Rust. Dega 1.x është shënuar si e përshtatshme për përdorim nga përdoruesit e zakonshëm dhe ofron të njëjtin nivel privatësie, përdorshmërie dhe stabiliteti si implementimi kryesor në gjuhën C. Arritja e një pariteti me klientin në gjuhën C është e planifikuar për degen 2.0. Kur kodi në Rust të arrijë nivelin që mund të zëvendësojë plotësisht versionin në C, zhvilluesit kanë për qëllim t'i japin Arti statusin e implementimit kryesor të Tor-it dhe gradualisht të ndërpresin mbështetje për implementimin në C. Kodi shpërndahet nën licencat Apache 2.0 dhe MIT.
Arti fillimisht po zhvillohet si një bibliotekë modulare, të integrueshme, që mund të përdoret nga aplikacione të ndryshme. Gjatë projektimit të Arti është marrë parasysh përvoja e kaluar e zhvillimit të Tor, që ka lejuar shmangien e problemeve të njohura arkitektonike, të lidhura me faktin se implementimi në C fillimisht është projektuar si një SOCKS-proxy dhe më pas është përshtatur për nevoja të tjera.
Përveç modernizimit të arkitekturës, arsyeja e rishkrimit të Tor në Rust ishte dëshira për të rritur sigurinë e kodit duke përdorur një gjuhë që siguron një punë të sigurt me memorinë. Sipas vlerësimeve të zhvilluesve të Tor, përdorimi i gjuhës Rust pa blloqe 'unsafe' do të parandalojë shfaqjen e të paktën gjysmës së të gjitha dobësive tipike në projekt. Për më tepër, supozohet se Rust do të rrisë shpejtësinë e zhvillimit falë shprehshmërisë së gjuhës dhe garancive strikte, që lejojnë të mos humbasësh kohë në kontrollime të dyfishta dhe të shkruash kode të tepërta.
Në lëshimin e ri është arritur gatishmëria e ndërfaqes së re RPC, e cila ka zëvendësuar protokollin e menaxhimit përmes portit TCP, i caktuar përmes parametrave ControlPort. RPC mund të përdoret për integrimin e aplikacioneve dhe shërbimeve me Arti pa e integruar bibliotekën me funksionalitetin e Arti në aplikacion.
Dallimet kyçe të protokollit të ri:
- Përdorimi i formatit JSON në vend të një formati specifik që kërkonte një parser të vetin;
- Thjeshtësia e zgjerimit të protokollit. Formalizimi se si klienti dhe server duhen të trajtojnë mesazhet, parametrat dhe të dhënat e pa mbështetura;
- Mekanizmi për të përcaktuar disponibilitetin e RPC;
- Mbështetje për dërgimin e shumë kërkesave në një lidhje rrjeti;
- Disponueshmëria e bibliotekave të gatshme të klientit për C, Python dhe Rust.
Ndër ndryshimet e tjera në Arti 1.4.0, përmendet kryerja e punëve përgatitore për mbështetje të relay-ve dhe vazhdimi i implementimit të mundësive për të mbrojtur shërbimet onion nga sulmet DDoS.
Burimi: opennet.ru
