Projekt rars on valmistanud vababanduse RAR, mis toetab arhiivide loomist.

Esitatud on projekti rars arendus, mis loob avatud lähtekoodiga tööriistu RAR-formaadile, kirjutatud keeles Rust ja toetab mitte ainult RAR-ide väljavõtmist, vaid ka RAR-arhiivide loomist. Tööriistad toetavad nii varasemaid RAR 1.3/1.4 formaate, millel on allkiri "RE~^", kui ka viimast RAR 7 versiooni. Saadaval on laiendatud operatsioonid, nagu mahtude jagamine, parooliga kaitsmine, peade krüpteerimine, kommentaaride lisamine, RARVM-filter, kiire avamise indeksid ja defektsete andmete taastamise mehhanismid. Kood on jagatud MIT ja Apache-2.0 litsentside alusel. PyO3 teegi alusel on ette valmistatud Pythonile mõeldud sidurid, mis rakendavad API-d, mis on sarnane rarfile'ile arhiivide vaatamiseks, testimiseks ja ekstraktsiooniks, samuti API RarBuilderi stiilis arhiivide loomiseks või uuesti pakkimiseks.

Projekti eripära seisneb selles, et see võimaldab töötada RAR formaadiga ilma unrar utiliidi koodi kasutamata, mida levitatakse tasuta mitteomandatud litsentsi alusel, mis keelab unrar koodi kasutamise RAR kokkusurumise algoritmi taastamiseks või RAR-iga ühilduvaarhiivimise arvuti arendamiseks. Selle piirangu tõttu olid enamikud tasuta arhiivijad piiratud vaid RAR-failide avamise funktsioonidega, samas kui RAR-arhiivide loomiseks tuli kasutada RARLAB-i omandiõigusega tööriistu.

Eraldi on loodud rar-research hoidla, kus on avaldatud spetsifikatsioonid RAR 1.3/1.4, RAR 1.5-4.x ja RAR 5.0/7.0 formaatide jaoks, samuti märkmed kasutatud algoritmide, filtrite, kontrollimismeetodite ja taastamise, krüpteerimise, osade ja kaitsemehhanismide kohta. Kuna projekti loomise ajal ei olnud ametlikku täis spetsifikatsiooni olemas, taastati dokumentatsioon dekodeerijate koodi, vanade rakenduste, testarhiivide ja RAR-i binaarversioonide analüüsi põhjal DOS-i ja Windowsi jaoks.

Teostus loodi AI-tööriistadega OpenAI Codex 5.5 ja Claude Opus 4.7, kasutades vaba aega, umbes viie nädala jooksul. Esimeses etapis rakendati mudeleid teabe struktureerimiseks ja kirjelduste puuduste täitmiseks, mille järel genereeriti taastatud spetsifikatsiooni põhjal Rust keeles kood. Spetsifikatsiooni täpsustamiseks ja teostuse lihvimiseks kasutati tegelike arhiveeringute peal katsetamist ja võrdlemist näidisrealiseerimistega.

Tuleb märkida, et AI-tööriistad said hästi hakkama formaalse kirjelduse kodeerimise ja suure funktsionaalsuse rutiinse rakendamisega, kuid nad ei suutnud tagada arhitektuurilist kontrolli. Ilma range järelevalveta olid AI-mudelid kaldu testidest mööda hiilima, koodi keerulisemaks muutma ja ilmselgeid probleeme, mis mõjutasid kasutusmugavust, tähelepanuta jätma. Autori hinnangul on sellise mastaabiga projektides testid, dokumentatsioon ja kommentaarid muutunud mitte ainult kontrollimise tööriistadeks, vaid ka viimiseks koodi genereerimist õigesse suunda.

Arenduse kiirendamine õnnestus pärast OpenAI Codexi režiimi "/goal" ilmumist, mis võimaldab AI-agendil pikka aega töötada ühe ülesande kallal, kokkusurutud konteksti jagades ja jätkates täitmist pärast selle ületamist. Sellises režiimis on Codex töötanud mitu korda kauem kui 6 tundi ja üks kord umbes 16 tundi, tehes märkimisväärse osa järelejäänud funktsionaalsusest, sealhulgas andmete taastamise, krüpteerimise ja mitmeosaliste arhiivide loomise. Arvestades märkimisväärset subsidii tokenite jaoks, kulus 40 naela.

Kokkutõmbumise taseme osas jääb rars keskmiselt 5-10% võrra maha WinRARist. Kokkutõmbamise ja väljavõtmise kiirus on rarsis oluliselt aeglasem WinRARist, kuna puuduvad täielikud optimeerimised. Samas on projektis juba olemas režiim "—features fast", mis rakendab SIMD-käsutuste põhjal optimeerimisi kokkutõmbamise ja väljavõtmise kiirusenõuete tõstmiseks, kuid see on seotud eksperimentaalse API-ga std::simd, mis on saadaval ainult Rusti tööriistakomplekti testversioonides. Samuti on rakendatud režiim "—features parallel", mis kasutab Rayon raamatukogu, et suunata individuaalsete failide kokkutõmbamine paralleelselt.

Evgeny Roshal, RAR-in looja, kommenteeris RAR-i vanade binaarfailide tagasipuuri kasutamist rarside arendamisel, mis on litsentsilepinguga keelatud. Evgeny sõnul ei ole ta veel otsustanud, kuidas sellega edasi minna, ja kavatseb oodata win.rar GmbH arvamust.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster