Projektet rars har förberett en fri implementation av RAR med stöd för att skapa arkiv.

Projektet rars presenterar en öppen implementation av verktyg för RAR-formatet, skriven i Rust, som stöder bÄde extrahering och skapande av RAR-arkiv. Verktyget stöder bÄde tidiga RAR-formaten 1.3/1.4 med signaturen "RE~^" och den senaste versionen RAR 7. Utökade funktioner som volymindelning, lösenordsskydd, kryptering av huvuden, bifogade kommentarer, RARVM-filter, index för snabb öppning och mekanismer för ÄterstÀllning av korrupt data Àr tillgÀngliga. Koden distribueras under MIT- och Apache-2.0-licenser. Wrappers för Python-sprÄket har förberetts baserat pÄ PyO3-biblioteket, som implementerar ett API i stil med rarfile för visning, testning och extrahering av arkiv, sÄvÀl som ett API i stil med RarBuilder för skapande eller ompaketering av arkiv.

Ett kÀnnetecken för projektet Àr att det hanterar RAR-formatet utan att anvÀnda koden frÄn verktyget unrar, som distribueras under en icke-fri licens som förbjuder anvÀndning av unrar-kod för att Äterskapa RAR-komprimeringsalgoritmen eller för att utveckla en RAR-kompatibel arkiverare. PÄ grund av denna begrÀnsning har de flesta fria arkiverare endast kunnat stödja extrahering av RAR-filer, medan skapande av RAR-arkiv har krÀvt anvÀndning av proprietÀra verktyg frÄn RARLAB.

Ett separat repository, rar-research, har skapats dÀr specifikationerna för RAR-formaten 1.3/1.4, RAR 1.5-4.x och RAR 5.0/7.0 publicerats, samt anteckningar om anvÀnda algoritmer, filter, metoder för integritetskontroll och ÄterstÀllning, kryptering, volymindelning och skyddsmekanismer. Eftersom det vid skapandet av rars-projektet inte fanns nÄgon officiell fullstÀndig specifikation, Äterskapades dokumentationen baserat pÄ koden frÄn extraktorer, gamla implementationer, testarkiv och analys av binÀra versioner av RAR för DOS och Windows.

Implementationer skapades med hjÀlp av AI-verktyg som OpenAI Codex 5.5 och Claude Opus 4.7 under fritid, vilket tog ungefÀr fem veckor. I det första steget anvÀndes modellerna för att systematisera information om formatet och fylla i luckor i beskrivningen, varefter koden genererades pÄ Rust-sprÄket baserat pÄ den Äterskapade specifikationen. För att förtydliga specifikationen och finslipa implementationen anvÀndes tester med faktiska arkiv och jÀmförelser med referensimplementationer.

Det noteras att AI-verktyg har presterat bra nÀr det gÀller att överföra formella beskrivningar till kod och har hanterat den rutinmÀssiga implementeringen av en stor mÀngd funktionalitet, men de har misslyckats med att sÀkerstÀlla arkitektonisk kontroll. Utan strikt övervakning har AI-modellerna tenderat att kringgÄ tester, komplicera koden och missa uppenbara problem som pÄverkar anvÀndarvÀnligheten. Enligt författarens bedömning har tester, dokumentation och kommentarer i ett projekt av denna storlek blivit inte bara verktyg för kontroll utan ocksÄ ett sÀtt att styra kodgenereringen i rÀtt riktning.

Utvecklingen kunde pressas fram efter att OpenAI Codex introducerade lÀget "/goal", vilket möjliggör att AI-agenten arbetar under lÀngre perioder pÄ en och samma uppgift, komprimerar kontext och fortsÀtter med arbetet efter att den blivit överfull. I detta lÀge har Codex flera gÄnger arbetat mer Àn 6 timmar och en gÄng omkring 16 timmar, vilket har resulterat i att en betydande del av den kvarstÄende funktionaliteten har realiserats, sÄsom datagenerering, kryptering och flerfaldiga arkiv. Med en betydande subvention för token har det kostat 40 brittiska pund.

NĂ€r det gĂ€ller komprimeringsgrad ligger rars i genomsnitt 5-10% efter WinRAR. NĂ€r det gĂ€ller hastighet för komprimering och dekomprimering Ă€r rars avsevĂ€rt lĂ„ngsammare Ă€n WinRAR pĂ„ grund av avsaknaden av fullstĂ€ndiga optimeringar. Samtidigt finns det redan ett lĂ€ge "—features fast" i projektet, vilket tillĂ€mpar optimeringar baserade pĂ„ SIMD-instruktioner för att accelerera komprimering och dekomprimering, men som Ă€r beroende av det experimentella API:et std::simd, som endast Ă€r tillgĂ€ngligt i testversioner av Rust-verktygslĂ„dan. Det har ocksĂ„ implementerats ett lĂ€ge "—features parallel", som anvĂ€nder biblioteket Rayon för att parallellisera komprimeringen av individuella filer.

Evgeny Roshal, skaparen av RAR, kommenterade anvÀndningen av omvÀnd ingenjörskonst av gamla RAR-binÀrfiler vid utvecklingen av rars, nÄgot som strider mot licensavtalet. Enligt Evgeny har han Ànnu inte beslutat vad han ska göra med detta och avser att vÀnta pÄ Äsikten frÄn företaget win.rar GmbH.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster