Projekti rars përgatiti një implementim të lirë të RAR-it me mbështetje për krijimin e arkivave.

Projekti rars prezanton një zgjidhje të lirë për formatin RAR, të shkruar në gjuhën Rust dhe mbështet jo vetëm nxjerrjen e skedarëve, por edhe krijimin e arkivave RAR. Ky instrument mbështet formatet e hershme RAR 1.3/1.4 me nënshkrimin "RE~^", si dhe versionin më të fundit RAR 7. Disponohen operacione të avancuara si ndarjen në vëllime, mbrojtjen me fjalëkalim, enkriptimin e titujve, bashkëngjitjen e komenteve, filtër RARVM, indekse për hapje të shpejtë dhe mekanizma për rikuperimin e të dhënave të dëmtuara. Kodi shpërndahet nën licencat MIT dhe Apache-2.0. Bazuar në bibliotekën PyO3, janë përgatitur lidhje për gjuhën Python, të cilat implementojnë një API në stilin e rarfile për shikimin, testimin dhe nxjerrjen e arkivave, si dhe një API në stilin RarBuilder për krijimin ose ripakimin e arkivave.

Karakteristika e projektit është se implementon punën me formatin RAR pa përdorur kodin e utilitarit unrar, i cili distribuohet nën një licencë jo të lirë, e cila ndalon përdorimin e kodit unrar për rigjenerimin e algoritmit të kompresimit RAR ose zhvillimin e një arkivuesi të përputhshëm me RAR. Për shkak të këtij kufizimi, shumica e arkivuesve të lirë u kufizuan vetëm në funksionet e nxjerrjes së skedarëve RAR, ndërsa për krijimin e arkivave RAR duhej të përdorej instrumentari pronësor nga RARLAB.

Në mënyrë të veçantë është krijuar një repositorium rar-research në të cilin 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 algoritetet e përdorura, filtërat, metodat e kontrollit dhe rikuperimit të integritetit, enkriptimin, ndarjen në vëllime dhe mekanizmat e mbrojtjes. Duke qenë se në momentin e krijimit të projektit rars nuk kishte specifikime të plota zyrtare, dokumentacioni u rimor nga kodi i nxjerrësve, implementimet e vjetra, arkivat testuese dhe analiza e versioneve binare të RAR për DOS dhe Windows.

Implementimi u krijua me përdorimin e mjeteve AI si OpenAI Codex 5.5 dhe Claude Opus 4.7 në kohën e lirë të punës për rreth pesë javë. Në fazën e parë, modelet u përdorën për sistematizimin e informacionit mbi formatin dhe plotësimin e boshllëqeve në përshkrim, pas së cilës përmes specifikacionit të rikuperuar u gjenerua kodi në gjuhën Rust. Për të sqaruar specifikacionin dhe për të rafinuar implementimin, u përdor verifikimi i funksionimit në arkiva reale dhe krahasimi me implementime referencia.

Themeluesi thekson se mjetet AI arrijnë mirë të transferojnë përshkrimet formale në kod dhe të realizojnë një volum të madh funksionaliteti, por nuk mund të sigurojnë kontroll arkitektural. Pa mbikëqyrje të fortë, modelet AI priren të kalojnë testet, të komplikuarodhen kodin dhe të kalojnë mbi probleme të dukshme që ndikonin në lehtësinë e përdorimit. Sipas vlerësimit të autorit, në një projekt të tillë testi, dokumentacioni dhe komentet u bënë jo vetëm mjete verifikimi, por edhe një mënyrë për të drejtuar gjenerimin e kodit në drejtimin e duhur.

Forcimi i zhvillimit u arrit pas shfaqjes në OpenAI Codex të modit "/goal", që i lejon AI-agjentit të punojë për një kohë të gjatë mbi një detyrë, duke përmbledhur kontekstin dhe duke vazhduar realizimin pas mbushjes së tij. Në këtë mod, Codex ka punuar disa herë më shumë se 6 orë dhe njëherë rreth 16 orë, duke realizuar një pjesë të konsiderueshme 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, janë shpenzuar 40 paund.

NĂ« nivelin e kompresimit, rars mesatarisht vonohet 5-10% nga WinRAR. Sa i pĂ«rket shpejtĂ«sisĂ« sĂ« kompresimit dhe nxjerrjes, rars Ă«shtĂ« ndjeshĂ«m mĂ« i ngadalshĂ«m se WinRAR pĂ«r shkak tĂ« mungesĂ«s sĂ« optimizimeve tĂ« plota. NĂ« kĂ«tĂ« projekt tashmĂ« ekziston njĂ« mod "—features fast", qĂ« aplikon optimizime tĂ« bazuara nĂ« instruksione SIMD pĂ«r tĂ« pĂ«rshpejtuar kompresimin dhe nxjerrjen, por i lidhur me njĂ« API eksperimental std::simd, tĂ« disponueshĂ«m vetĂ«m nĂ« ndĂ«rtimet testuese tĂ« instrumentit Rust. Po ashtu Ă«shtĂ« realizuar njĂ« mod "—features parallel", qĂ« pĂ«rdor bibliotekĂ«n Rayon pĂ«r tĂ« paralelizuar kompresimin e skedareve tĂ« veçantĂ«.

Evgeny Roshal, krijuesi i RAR, komentoi përdorimin e inxhinierisë inverse të skedarëve binarë të vjetër RAR gjatë zhvillimit të rars, që ndalohet sipas marrëveshjes së licencës. Sipas Evgenyt, ai ende nuk e ka vendosur se çfarë të bëjë me këtë dhe ka në plan të presë mendimin e kompanisë win.rar GmbH.

Burimi: opennet.ru

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