Projekt rars on valmistanud vabatahtliku RAR-i teostuse, mis toetab arhiivide loomist.

Esitletakse projekti rars, mis arendab avatud rakenduse tööriistu RAR formaadi jaoks, kirjutatud Rust keeles ja toetab mitte ainult dekompressiooni, vaid ka RAR-arhiivide loomist. Tööriistad toetavad nii varasemaid RAR 1.3/1.4 formaate, mille allkiri on «RE~^», kui ka viimast RAR 7 versiooni. Saadaval on sellised laiendatud toimingud nagu mahu jagamine, paroolikaitse, pealkirjade krüptimine, kommentaaride lisamine, RARVM-filtrid, kiirendatud avamise indeksid ja kahjustatud andmete taastamise mehhanismid. Kood jagatakse MIT ja Apache-2.0 litsentside alusel. PyO3 raamatukogu põhjal on valminud Pythonile wrapperid, mis rakendavad rarfile stiilis API-d arhiivide vaatamiseks, testimiseks ja ekstrakteerimiseks, samuti RarBuilder stiilis API-d arhiivide loomise või taaskitmise jaoks.

Projekti eripära on see, et see rakendab RAR formaadiga töötamist ilma unrar utiliidi koodi kasutamata, mis on saadaval mittesvabaduse litsentsiga, mis keelab unrar koodi kasutamise RAR kokkusurumismeetodi taastamiseks või RAR-ühilduva arhiivija arendamiseks. Selle piirangu tõttu on enamik avatud arhiivijaid piirdunud vaid RAR-failide dekompressiooniga, samas kui RAR-arhiivide loomiseks on vajalik kasutada RARLAB-i omandi all oleva tööriista.

Erakordselt on loodud repository rar-research, 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 kasutatavate algoritmide, filtrite, kontrollimist ja taastamistõhusust, krüptimise, mahu jagamise ja kaitsemehhanismide kohta. Kuna projekti rars loomise hetkel ametlikku põhjalikku spetsifikatsiooni ei olemas, loodi dokumentatsioon dekompresseerijate koodi, vanade rakenduste, testarhiivide ja RAR binäärversioonide analüüsi põhjal DOS ja Windows jaoks.

Rakendus loodi kasutades OpenAI Codex 5.5 ja Claude Opus 4.7 AI tööriistu, vabastatud tööajast, ligikaudu viie nädala jooksul. Esimeses etapis kasutati mudeleid teabe süstematiseerimiseks formaadi kohta ning kirjeldamise lünkade täitmiseks, seejärel genereeriti taastatud spetsifikatsiooni põhjal Rust keeles kood. Spetsifikatsiooni täpsustamiseks ja rakenduse viimistlemiseks kasutati reaalarhiivide testimist ning võrdlemist etalonrakendustega.

Täheldatakse, et AI- tööriistad suudavad hästi vormide kirjeldusi koodiks tõlkida ning teostada suurt hulka funktsionaalsust, kuid nad ei suuda tagada arhitektuurilist kontrolli. Ilma rangete järelevalveta kipuvad AI-mudelid katseid ignoreerima, koodi keerulisemaks muutma ja ilmseid probleeme, mis mõjutavad töö mugavust, kõrvale jätma. Autori hinnangul on sellise ulatuse projektis testid, dokumentatsioon ja kommentaarid muutunud mitte ainult kontrollimise vahenditeks, vaid ka viisiks suunata koodi genereerimist soovitud suunas.

Arenduse kiirendamine õnnestus pärast OpenAI Codexi režiimi " /goal " käivitumist, mis võimaldab AI-agendil pikka aega töötada ühe ülesande kallal, kokku surudes konteksti ja jätkates pärast selle ületamist. Sellises režiimis on Codex mitu korda töötanud rohkem kui 6 tundi ning üks kord ligi 16 tundi, rakendades suure osa ülejäänud funktsionaalsusest, nagu andmete taastamine, krüpteerimine ja mitme köitega arhiivid. Arvestades märkimisväärset toetust tokenite jaoks, kulus 40 naela.

Kokkusurumise tasemelt jääb rars keskmiselt 5-10% maha WinRAR-ist. Kiiruselt on rars kokkusurumine ja dekompresseerimine oluliselt aeglasem WinRAR-ist, kuna puuduvad täisväärtuslikud optimiseerimised. Samas on projektis juba olemas režiim " —features fast ", mis rakendab SIMD-instruktsioonide põhiseid optimeerimisi kokkusurumise ja dekompresseerimise kiirendamiseks, kuid see on seotud eksperimentaalse API-ga std::simd, mis on saadaval ainult Rusti tööriista katsetes. Samuti on ellu kutsutud režiim " —features parallel ", mis kasutab Rayon raamatukogu üksikute failide kokkusurumise paralleelsetele operatsioonidele.

Evgeny Roshal, RAR-i looja, kommenteeris vanade RAR binaarfailide tagurpidi inseneritehnoloogia kasutamist rars’i arendamisel, mis on litsentsilepinguga keelatud. Evgeny sõnul ei ole ta veel otsustanud, mida sellega teha, ja plaanib oodata arvamust ettevõttelt win.rar GmbH.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster