====== croc ====== **croc** es una herramienta de línea de comandos para transferir archivos y carpetas de forma segura por la red entre dos equipos. Un **único** ejecutable disponible para varias plataformas. * [[https://schollz.com/software/croc6|Sitio web]] * [[https://github.com/schollz/croc|Repositorio de código]] {{ https://schollz.com/img/projects/croc.jpg |}} ===== Características ===== * No requiere configuración de red como reenvío de puertos o servidores locales. * **Cifrado de extremo a extremo** usando PAKE (//Password Authenticated Key Exchange//). * Permite **reanudar transferencias** interrumpidas. * **Multiplataforma**: funciona en Windows, Linux y macOS. * **Sin dependencias**: solo necesitas descargar el binario y ejecutarlo. * Puede usarse un proxy, como [[..:redes:tor|Tor]]. ===== Uso ===== Ambos equipos (el que envía y recibe) tienen que tener instalado **croc**. El que envía ejecuta: croc send Esto generá una salida similar a: Sending 'FICHERO' (175.4 MB) Code is: 7710-guru-phoenix-cactus On the other computer run: (For Windows) croc 7710-guru-phoenix-cactus (For Linux/macOS) CROC_SECRET="7710-guru-phoenix-cactus" croc Por tanto, en el que recibe ejecutaremos lo siguiente si es un equipo Windows: croc 7710-guru-phoenix-cactus Si el que recibe es un equipo Linux: CROC_SECRET="7710-guru-phoenix-cactus" croc ===== Montar un relay propio ===== Por defecto, **croc** usa el //relay// que hay montado en ''168.119.238.198:9009'' como pasarela para conectar ambos equipos (el que envía y el que recibe) y así no tener que hacer aperturas o reenvíos de puertos. Si queremos usar uno propio, podemos montarlo con Docker. Ejemplo de Docker Compose: --- services: croc-relay: image: schollz/croc ports: - 9009-9013:9009-9013 environment: - CROC_PASS= **croc** necesita al menos 2 puertos TCP Para usar **croc** con nuestro //relay//, el equipo que envía: croc --relay "direccion.ip.del.relay:puerto" --pass fichero_a_enviar.extension En el equipo que recibe: CROC_SECRET="4254-coral-ballad-prefix" croc --relay "direccion.ip.del.relay:puerto" --pass Si usamos como contraseña al montar nuestro propio //relay// la ''pass123'', no será necesario indicarla a la hora de enviar o recibir archivos porque es la que usa por defecto **croc**. Si usamos como puerto en nuestro //relay// el ''9009'', no será necesario indicarlo a la hora de enviar o recibir archivos porque es el que usa por defecto **croc**. Como curiosidad, el //relay// que usa por defecto **croc** usa unos 40 TB de ancho de banda al mes. Su autor [[https://github.com/schollz/croc/issues/931|solicita donaciones para pagar el coste mensual]] que eso supone (80 - 100 $)