Projekti rars ka përgatitur një implementim të lirë të RAR me mbështetje për krijimin e arkivave

Projektin rars e prezanton një implementim të lirë të mjeteve për formatin RAR, të shkruar në gjuhën Rust, që mbështet jo vetëm dekompresimin, por edhe krijimin e arkivave RAR. Mjeti mbështet formatet e hershme RAR 1.3/1.4 me nënshkrimin «RE~^», si dhe versionin më të fundit RAR 7. Operacionet e avancuara si ndarja në vëllime, mbrojtja me fjalëkalim, enkriptimi i kokave, prishja e komenteve, filtrat RARVM, indekset për hapjen e shpejtë dhe mekanizmat e rikuperimit të të dhënave të dëmtuara janë gjithashtu të disponueshme. Kodi shpërndahet nën licencat MIT dhe Apache-2.0. Në bazë të bibliotekës PyO3 janë përgatitur lidhje për gjuhën Python, të cilat realizojnë API në stilin rarfile për shikimin, testimin dhe ekzekutimin e arkivave, si dhe API në stilin RarBuilder për krijimin ose ripakimin e arkivave.

Veçoria e projektit është se ai implementon punën me formatin RAR pa përdorur kodin e utilitarit unrar, i cili shpërndahet nën një licencë jo të lirë, e cila ndalon përdorimin e kodit unrar për të ripërtërirë algoritmin e kompresimit RAR ose për të zhvilluar një arkivues të përshtatshëm për RAR. Për shkak të kësaj kufizimi, shumica e arkivuesve të lirë janë kufizuar vetëm në funksionet e dekompresimit të skedarëve RAR, ndërsa për krijimin e arkivave RAR duhet të përdorej mjete pronësore nga RARLAB.

Një depo e veçantë rar-research është krijuar, ku janë publikuar specifikimet për formatet RAR 1.3/1.4, RAR 1.5-4.x dhe RAR 5.0/7.0, si dhe shënime mbi algoritmet, filtrat, metodat e verifikimit dhe rikuperimit të integritetit, enkriptimin, ndarjen në vëllime dhe mekanizmat e mbrojtjes të përdorura. Pasiqë në momentin e krijimit të projektit rars nuk ekzistonte një specifikim zyrtar, dokumentacioni është ripërtërirë mbi kodin e dekompresorëve, implementimet e vjetra, arkivat testuese dhe analizat e versioneve binarë të RAR për DOS dhe Windows.

Implementimi u krijua me përdorimin e mjeteve AI OpenAI Codex 5.5 dhe Claude Opus 4.7 në kohën e lirë për rreth pesë javë. Në fazën e parë, modelet u aplikuan për sistemimin e informacionit mbi formatin dhe plotësimin e boshllëqeve në përshkrim, pas së cilës, sipas specifikimit të rikonstruktuar, u gjenerua kodi në gjuhën Rust. Për të sqaruar specifikimin dhe për të përmirësuar implementimin, u përdor kontrolli i funksionimit mbi arkivat reale dhe krahasimi me implementimet referuese.

Vërehet se mjetet AI e kanë përballuar mirë transferimin e përshkrimit formalisht në kod dhe realizimin rutinë të një volum të madh funksionaliteti, por nuk kanë arritur të ofrojnë kontroll arkitektonik. Pa një mbikëqyrje të fortë, modelet AI kishin tendencë të kalonin testet, të komplikonin kodin dhe të linonin jashtë vëmendjes probleme të dukshme që ndikonin në lehtësinë e përdorimit. Sipas vlerësimit të autorit, në një projekt të këtij përmasash, testet, dokumentimi dhe komentet u bënë jo vetëm mjete kontrolli, por edhe një mënyrë për të drejtuar gjenerimin e kodit në drejtimin e duhur.

Zhvillimi u forcua pas shfaqjes së mënyrës "\/goal" në OpenAI Codex, e cila lejon agentin AI të punojë për një kohë të gjatë mbi një detyrë, duke e përmbledhur kontekstin dhe duke vazhduar ekzekutimin pas mbushjes së tij. Në këtë mënyrë, Codex punoi disa herë më shumë se 6 orë dhe një herë rreth 16 orë, duke realizuar një pjesë të rëndësishme të funksionalitetit të mbetur, si rikuperimi i të dhënave, enkriptimi dhe arkivat me shumë vëllime. Duke marrë parasysh subvencionin e konsiderueshëm për tokenat, u shpenzuan 40 funte sterlina.

NĂ« nivelin e kompresimit, rars mesatarisht mbetet pas WinRAR-it pĂ«r 5-10%. NĂ« sa speed pĂ«r kompresim dhe shpĂ«rbĂ«rje, rars Ă«shtĂ« dukshĂ«m mĂ« i ngadaltĂ« se WinRAR pĂ«r shkak tĂ« mungesĂ«s sĂ« optimizimeve tĂ« plota. MegjithatĂ«, projekti tashmĂ« ka njĂ« mĂ«nyrĂ« "—features fast", e cila aplikon optimizime tĂ« bazuara nĂ« instruksione SIMD pĂ«r tĂ« pĂ«rshpejtuar kompresimin dhe shpĂ«rbĂ«rjen, por Ă«shtĂ« e lidhur me API eksperimental std::simd, tĂ« cilat janĂ« tĂ« disponueshme vetĂ«m nĂ« ndĂ«rtimet testuese tĂ« mjetit Rust. Gjithashtu Ă«shtĂ« realizuar njĂ« mĂ«nyrĂ« "—features parallel", e cila pĂ«rdor bibliotekĂ«n Rayon pĂ«r shpĂ«rndarjen e kompresimit tĂ« skedarĂ«ve tĂ« veçantĂ«.

Evgeniy Roshal, krijuesi i RAR, komentoi përdorimin e inxhinierisë inverse të skedarëve binary të vjetër RAR gjatë zhvillimit të rars, që ndalohet nga marrëveshja e licencës. Sipas Evgeniy, ai ende nuk ka vendosur se çfarë të bëjë për këtë dhe ka në plan të presë një mendim nga kompania win.rar GmbH.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster