Hay montones y montones de maneras de transferir archivos entre dos o más computadoras. Puede usar herramientas para compartir archivos basadas en servidor, aplicaciones para compartir archivos punto a punto, memorias USB, unidades de disco duro externas, SCP, NFS, FTP, HTTP, plataformas de almacenamiento en la nube y muchas más. Ya hemos cubierto algunas herramientas para compartir archivos. Hoy hablaremos sobre otra utilidad llamada Croc . Croc es una utilidad de línea de comandos que le permite transferir archivos y carpetas entre computadoras de manera fácil, rápida y segura.
La transferencia de datos con Croc es más rápida porque actúa como un servidor de retransmisión. entre los sistemas. Crea una capa de comunicación en tiempo real de dúplex completo entre las dos computadoras, por lo que las tareas de "carga" y "descarga" ocurren simultáneamente entre esas computadoras.
Croc proporciona cifrado de extremo a extremo mediante intercambio de claves autenticadas con contraseña (PAKE) biblioteca. Para aquellos que se preguntan, la biblioteca PAKE permite que dos personas generen una clave secreta fuerte usando una clave débil que ambos conocen de antemano. Esta clave secreta se utiliza luego para un mayor cifrado. Dado que la clave es conocida solo por el remitente y el receptor, nadie más puede conocer la clave secreta, incluso si conocen la contraseña original.
Croc puede transferir varios archivos a la vez entre computadoras. Si la transferencia de datos se interrumpe por algún motivo, puede reanudar la copia de archivos desde donde se dejó la última vez.
Dado que Croc usa retransmisión, no necesita un servidor central ni un reenvío de puertos. Es una aplicación multiplataforma, por lo que puede transferir los datos entre las plataformas Linux, Mac y Windows.
En pocas palabras, Croc hace lo siguiente:
- transfiere datos entre dos ordenadores utilizando un relé,
- proporciona cifrado de extremo a extremo utilizando la biblioteca PAKE,
- transfiere múltiples archivos de una vez,
- Reanuda la copia de archivos interrumpida,
- No se necesita reenvío de puerto del servidor central necesario ,
- ipv6-primero con respaldo ipv4,
- requiere Cero dependencias,
- plataforma cruzada,
- gratis y de código abierto.
Croc está escrito en GO lenguaje de programación y disponible gratuitamente bajo licencia MIT.
Instalar Croc en Linux
Croc se puede instalar en cualquier distribución de Linux y Unix que admita Bash
usando el siguiente comando:
$ curl https://getcroc.schollz.com | bash
Este comando instalará Croc en /usr/local/bin/
localización.
Si no desea inyectar algo directamente en su SHELL
, puede descargar los binarios precompilados desde la página de lanzamientos e instálelos usando el administrador de paquetes de su distribución.
Por ejemplo, instalé el archivo deb de Croc en mi sistema Ubuntu usando los siguientes comandos:
$ sudo apt install gdebi
$ sudo gdebi croc_8.3.2_Linux-64bit.deb
Croc está disponible en la [Comunidad], por lo que puede instalarlo en Arch Linux y sus variantes usando pacman
como a continuación:
$ pacman -S croc
En NixOS, ejecuta:
$ nix-env -i croc
Croc también está disponible como snap
.
$ snap install croc
También puede compilar Croc desde la fuente si tiene instalado Go en su Linux sistema.
$ GO111MODULE=on go get -v github.com/schollz/croc/v8
Transferir archivos y carpetas entre computadoras con Croc
Asegúrese de haber instalado Croc en todos los sistemas.
Para transferir un archivo/carpeta usando Croc, simplemente ejecute:
$ croc send <file-or-folder-path>
Ejemplo:
$ croc send file.txt
Croc generará una frase de código aleatoria como a continuación.
Sending 'file.txt' (116 B)
Code is: slow-tomato-almond
On the other computer run
croc slow-tomato-almond
Aquí, la frase clave es slow-tomato-almond
. La frase de código se utiliza para establecer un acuerdo de clave autenticado por contraseña (PAKE) que genera una clave secreta para que el remitente y el destinatario la utilicen para el cifrado de extremo a extremo.
Para recibir el archivo anterior en la otra computadora, el destinatario debe ingresar la última línea en el resultado anterior:
$ croc slow-tomato-almond
Presiona "y" y presiona enter para recibir el archivo.
Accept 'file.txt' (116 B)? (y/n) y
Receiving (<-192.168.225.37:9009)
file.txt 100% |████████████████████| (116/116 B, 32.966 kB/s) [0s:0s] ✔️
Salida de muestra:
Establecer frase de código personalizado
Como ya mencioné, Croc generará un código aleatorio cada vez que envíe un archivo o carpeta. También puede enviar archivos/carpetas con un código personalizado de su elección usando --code
opción.
$ croc send --code download-this file.txt
Aquí, "download-this"
es la frase clave.
Salida de muestra:
Sending 'file.txt' (116 B)
Code is: download-this
On the other computer run
croc download-this
El destinatario puede recibir el archivo usando el siguiente comando:
$ croc download-this
Enviar texto
Al igual que los archivos y las carpetas, también podemos compartir el texto. Esto puede ser útil cuando desea compartir un mensaje o URL.
Para enviar texto usando Croc, ejecuta:
$ croc send --text "Welcome to OSTechNix"
Salida de muestra:
Sending 'text' (20 B)
Code is: natural-roof-clock
On the other computer run
croc natural-roof-clock
Sending (->[fe80::a00:27ff:fe10:7cc1%wlp9s0]:39916)
El destinatario recibirá el texto con el siguiente comando:
$ croc natural-roof-clock
Accept 'text' (20 B)? (y/n) y
Receiving (<-[fe80::d710:cf4:bb49:8b20%enp0s8]:9009)
Welcome to OSTechNix
Usar tuberías
Puede canalizar la salida del archivo a croc como se muestra a continuación.
$ cat file.txt | croc send
Salida de muestra:
Sending 'stdin' (116 B)
Code is: dexter-cowboy-soprano
On the other computer run
croc dexter-cowboy-soprano
Croc usará automáticamente los datos de la entrada estándar y enviará y asignará un nombre de archivo como "croc-stdin-728899651".
En el extremo receptor, el usuario puede recibir el archivo usando cualquiera de los siguientes comandos:
$ croc dexter-cowboy-soprano
O, use:
$ croc --yes dexter-cowboy-soprano > out
Toma, --yes
no pedirá ninguna confirmación y aceptará automáticamente todas las indicaciones.
Establecer carpeta de salida
De forma predeterminada, Croc descargará los datos en el directorio de trabajo actual. Puede hacer que use una ubicación de descarga diferente usando --out
bandera.
$ croc send file.txt
Salida de muestra:
Sending 'file.txt' (116 B)
Code is: program-public-mystery
On the other computer run
croc program-public-mystery
En el extremo receptor, ejecute:
$ croc --out ~/Downloads
Introduzca la frase clave cuando se le solicite.
Obtener ayuda
Para obtener ayuda, ejecute:
$ croc --help
NAME:
croc - easily and securely transfer stuff from one computer to another
USAGE:
Send a file:
croc send file.txt
Send a file with a custom code:
croc send --code secret-passphrase file.txt
VERSION:
v8.3.2-7d155ad
COMMANDS:
send send a file (see options with croc send -h)
relay start your own relay (optional)
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--remember save these settings to reuse next time (default: false)
--debug toggle debug mode (default: false)
--yes automatically agree to all prompts (default: false)
--stdout redirect file to stdout (default: false)
--no-compress disable compression (default: false)
--ask make sure sender and recipient are prompted (default: false)
--relay value address of the relay (default: "142.93.177.120:9009") [$CROC_RELAY]
--relay6 value ipv6 address of the relay (default: "[2604:a880:800:c1::14c:1]:9009") [$CROC_RELAY6]
--out value specify an output folder to receive the file (default: ".")
--pass value password for the relay (default: "pass123") [$CROC_PASS]
--help, -h show help (default: false)
--version, -v print the version (default: false)