Saltar al contenido
v0.8.2Notas de la versión y sumas

Comprime rápido.Extrae seguro.

Arca es un archivador de código abierto escrito en Rust seguro. Comprime con Zstandard en todos los núcleos, cifra con AES-256 y rechaza un archivo malformado con un error en lugar de corromper la memoria.

Windows, macOS y Linux Gratis, Apache-2.0Guía de instalación Cómo se midieron estas cifras
arca — zsh
➜ app git:(main)

Los archivos se abren con las herramientas que ya usas. Hecho sobre Zstandard y zlib-rs.

  • 7-Zip
  • Info-ZIP unzip
  • GNU tar
  • WinRAR
  • NanaZip
  • Windows Explorer
  • Zstandard
  • zlib-rs
0

tests en todo el workspace

0

casos de interoperabilidad, verificados por SHA-256

0

líneas unsafe en los analizadores

0

plataformas: Windows, macOS, Linux

Funciones

Un archivador hecho para la velocidad y la entrada hostil.

Un binario pequeño para la terminal y una ventana nativa para todos los demás, sobre el mismo núcleo.

Multihilo

Todos los núcleos, cuando quieras

Comprimir y extraer usan todos los núcleos. Un .zip indexa sus entradas, así que cada hilo abre la suya y no comparte nada con los demás. Elige un número de hilos para ver cómo escala.

arca create out.zip src/ -j 8
1.79×
con 2 hilos
90%
eficiencia de escalado
0.207 s
para extraer 287 MB
Cómo se midió
Seguridad de memoria

Seguro por construcción

Los analizadores de contenedores prohíben el código unsafe. Una entrada malformada se convierte en un error, y las rutas Zip Slip se rechazan antes de escribir un byte.

#![forbid(unsafe_code)]
  • assets/logo.svgok
  • src/main.rsok
  • ../../.ssh/authorized_keysrechazada
  • docs/guide.mdok
Cifrado

AES-256 autenticado

WinZip AE-2 con una sal nueva por entrada y un HMAC sobre cada byte. 7-Zip y WinRAR lo abren, y una entrada manipulada no pasa la comprobación del HMAC.

Códecs

Zstandard dentro de ZIP

Pide zstd y obtienes el archivo más rápido de todos, a menos de un 2% del más pequeño. Deflate sigue siendo el predeterminado para que cualquier unzip lo abra.

Arca · zstd436 ms
Arca · deflate1,012 ms
zip -65,746 ms
7-Zip -mx57,877 ms

Silesia, 212 MB · 120 archivos · 2 núcleos · menos es mejor

Cómo se midió
Arranque

Arranca en menos de un milisegundo

Compilado con LTO y una sola unidad de generación de código, sin runtime que arrancar.

0.0ms
unzip2.0 ms
7z2.5 ms
objetivo de diseño (R1)< 15 ms
Cómo se midió
Formatos

Habla los formatos que usas

ZIP con Zip64, 7z con LZMA2 y nombres ocultos opcionales, TAR, gzip y XZ. Lee 7z sólidos; crea bloques independientes. Editar archivos existentes sigue siendo exclusivo de ZIP.arca password

  • .zip
  • Zip64
  • .tar (ustar)
  • .tar.gz
  • .tgz
  • .tar.xz
  • .xz
  • Deflate
  • Zstandard
  • Store
  • AES-256
  • ZipCrypto · solo lectura
Escritorio

Una ventana que respeta el teclado

Navega por los archivos como si fueran carpetas, marca con Space, filtra con Ctrl+F y vuelve atrás con Alt+←. Los lectores de pantalla leen cada fila.

  • ↑↓mover
  • Enterabrir
  • Spacemarcar
  • CtrlAmarcar todo
  • Alt←atrás
  • CtrlFfiltrar
Dibujado en GPU con GPUIAccessKitNarratorNVDA
Portable

Una compilación en Rust puro

Quédate con libzstd nativo para la máxima velocidad, o cambia una opción para compilar sin ninguna dependencia de C.

$ cargo build --release

El predeterminado. Enlaza libzstd (C) para el Zstandard más rápido.

Producto

Un núcleo, tres formas de usarlo.

Úsalo desde la terminal, navega en una ventana nativa o no salgas del Explorador de archivos.

Seis comandos, cuatro alias de una letra, una línea de salida.

demo — arca — zsh
➜ demo git:(main)

Salida real de arca 0.8.2 sobre una copia de este repositorio, Ryzen 9 5900X, Linux.

Rendimiento

Cada cifra viene con su comando.

Cada gráfica dice en qué máquina se midió y enlaza al comando que la produjo, también las pruebas que Arca pierde.

Comprimir el corpus Silesia en 120 archivos

Ryzen 9 5900X · Linux · fijado a 2 núcleos · 212 MB

Cómo se midió
Menos es mejor
  • Arca · zstd66.87 MB436 ms
  • Arca · deflate67.62 MB1012 ms
  • zip -668.34 MB5746 ms
  • 7-Zip · zip -mx565.81 MB7877 ms
  • 13.2×
    más rápido que zip -6
  • 18.1×
    más rápido que 7-Zip
  • 1.6%
    más grande que el de 7-Zip, el más pequeño
Dónde no gana

5358 archivos de código pequeños, deflate contra deflate en Windows 11: 7-Zip 0.627 s, Arca 0.710 s. Con muchos archivos diminutos, el 97% del tiempo se va en crear archivos en NTFS, y todas las herramientas pagan ese coste.

Metodología completa
Por qué Arca

Hecho para quien mueve muchos bytes.

Cuando comprimir y extraer es rápido, archivas más a menudo, verificas cada artefacto y abres el archivo que te acaban de mandar sin preocuparte por lo que lleva dentro.

  • Desarrollo

    Una CLI que no estorba

    Alias de una letra, opciones predecibles, una sola línea de resumen y un código de salida distinto de cero en cuanto algo falla.

    0.8 ms
    arranque en frío
    Cómo se midió
  • CI y publicación

    Devuelve los minutos a tu pipeline

    Zstandard comprime 212 MB en 436 ms con dos núcleos, y arca test verifica un artefacto entero sin escribir un byte en disco.

    13.2×
    más rápido que zip -6
    Cómo se midió
  • Equipos de seguridad

    Un archivo hostil es solo un error

    Los analizadores prohíben el código unsafe y acotan cada cabecera que leen. Se rechazan las rutas Zip Slip, los datos cifrados se autentican, y ZipCrypto, que está roto, se lee pero nunca se escribe.

    0
    líneas unsafe en los analizadores
  • Todos los demás

    Una ventana para todo el equipo

    Doble clic para abrir, arrastra un rectángulo para seleccionar, clic derecho en el Explorador para extraer. Todo funciona con el teclado y lo leen Narrador y NVDA.

    3
    plataformas de escritorio
FAQ

Preguntas frecuentes.

Respuestas cortas. La documentación tiene las largas.

Sí. Arca se publica bajo la licencia Apache 2.0: úsalo en casa o en el trabajo, modifícalo y distribúyelo dentro de tus propios productos. La licencia incluye además una cesión explícita de patentes. No hay edición de pago.

ZIP (con Zip64) con Store, Deflate (sobre zlib-rs) y Zstandard; TAR ustar con verificación de la suma de control;.tar.gz / .tgz; .tar.xz / .txz; y .xz suelto para un único fichero. 7z admite creación Store/LZMA2, lectura sólida, contraseñas y nombres ocultos. Crear 7z sólidos y modificar 7z siguen sin estar disponibles.

Sí. interop.sh verifica recorridos con SHA-256, además de fallos y limpieza: unzip, tar y 7-Zip leen lo que escribe Arca en los cuatro niveles, y Arca lee lo que escriben ellos. Una salvedad: el unzip clásico no lee Zstandard dentro de ZIP (método 93), y por eso -c auto usa Deflate para .zip.

AES-256 con el esquema WinZip AE-2: derivación de clave PBKDF2-HMAC-SHA1, AES-256 en modo CTR, un HMAC-SHA1 sobre el texto cifrado y una sal aleatoria de 16 bytes por entrada, el mismo esquema que escriben 7-Zip, WinRAR y NanaZip. ZIP nunca cifra los nombres de los archivos, así que el listado se ve sin la contraseña. 7z permite ocultarlos y usa AES-256-CBC/SHA-256 con CRC, no autenticación criptográfica. Un fallo cifrado puede indicar contraseña incorrecta o corrupción.

No, y lo decimos. Con archivos grandes Arca comprimió 5,7× más rápido a cambio de un 3,7% más de tamaño (deflate contra deflate, Windows 11). Con miles de archivos pequeños 7-Zip va algo por delante con el mismo tamaño, porque domina el tiempo de crear archivos en NTFS. La página de benchmarks muestra los dos casos.

Windows, macOS y Linux, con binarios para Windows x86_64 (instalador), macOS arm64 y x86_64, y Linux x86_64. El menú contextual del Explorador solo existe en Windows 11 por ahora; la integración con el escritorio en Linux y macOS está en la hoja de ruta.

Los crates (arca-core, arca-zip, arca-tar) aún no están en crates.io. Puedes depender de ellos directamente desde el repositorio Git.

Abre un issue en GitHub con la salida de arca --version, tu sistema operativo y el comando que ejecutaste. Los pull requests, los benchmarks en tu propio hardware y la ayuda con la hoja de ruta son bienvenidos.

v0.8.2 · Apache-2.0

Tu próximo archivo está a un comando.

Descarga un binario para tu plataforma o compílalo desde el código fuente con un solo comando.

$git clone https://github.com/beyondhumane/arca && cd arca && cargo build --release

Requiere Rust 1.95 o superior. Notas de la versión y sumas