croc es una herramienta de línea de comandos diseñada para enviar archivos y carpetas entre dos ordenadores de forma sencilla y segura. Funciona como un intermediario (relé) que conecta ambos equipos, por lo que no requiere abrir puertos en el router ni configurar reenvío de puertos ni un servidor local. La comunicación se protege con cifrado de extremo a extremo basado en PAKE (intercambio de claves autenticado por contraseña): al iniciar una transferencia se genera una frase-código que sirve para acordar la clave secreta entre emisor y receptor.
Entre sus características principales figuran el soporte multiplataforma (Windows, Linux, macOS y dispositivos móviles), la posibilidad de transferir varios archivos a la vez, la reanudación de envíos interrumpidos y el uso preferente de IPv6 con fallback a IPv4. También admite el envío a través de proxies como Tor, códigos QR para dispositivos móviles, elección de curvas elípticas para el cifrado y exclusión de carpetas concretas.
La instalación se realiza con un único comando en macOS y Linux, o mediante gestores de paquetes como Homebrew, Scoop, Chocolatey, Winget, Nix, pacman, dnf, portage o conda. Quienes no quieran instalarlo pueden ejecutarlo en un contenedor Docker. Para escenarios avanzados, croc permite levantar un relé propio, incluso en Docker, y definir puertos personalizados o contraseña de acceso.
El proyecto, desarrollado por Zack Scholl y publicado en GitHub, se distribuye como software libre y cuenta con aplicaciones no oficiales en F-Droid. Su modelo se inspira en herramientas como magic-wormhole, simplificando al máximo el envío de datos entre máquinas sin renunciar a la seguridad.
