GNU/Linux >> Linux Esercitazione >  >> Linux

Trasferisci file e cartelle tra computer con Croc

Esistono moltissimi modi per trasferire file tra due o più computer. È possibile utilizzare strumenti di condivisione file basati su server, app di condivisione file peer-to-peer, chiavette USB, unità disco rigido esterne, SCP, NFS, FTP, HTTP, piattaforme di archiviazione cloud e molti altri. Abbiamo già trattato alcuni strumenti di condivisione di file. Oggi parleremo di un'altra utility chiamata Croc . Croc è un'utilità della riga di comando che consente di trasferire facilmente, rapidamente e in modo sicuro file e cartelle tra computer.

Il trasferimento dei dati tramite Croc è più veloce, perché funge da server di inoltro tra i sistemi. Crea uno strato di comunicazione in tempo reale full-duplex tra i due computer, in modo che le attività di "caricamento" e "download" avvengano contemporaneamente tra quei computer.

Croc fornisce la crittografia end-to-end utilizzando Password Authenticated Key Exchange libreria (PAKE). Per coloro che si chiedono, la libreria PAKE consente a due persone di generare una chiave segreta forte utilizzando una chiave debole nota a entrambi in anticipo. Questa chiave segreta viene quindi utilizzata per un'ulteriore crittografia. Poiché la chiave è nota solo al mittente e al destinatario, nessun altro può conoscere la chiave segreta anche se conosce la password originale.

Croc può essere in grado di trasferire più file contemporaneamente tra computer. Se il trasferimento dei dati viene interrotto per qualsiasi motivo, può riprendere la copia del file da dove era stato lasciato l'ultima volta.

Poiché Croc utilizza il relay, non hai bisogno né di un server centrale né di un port forwarding. È un'applicazione multipiattaforma, quindi puoi trasferire i dati tra piattaforme Linux, Mac e Windows.

In poche parole, Croc fa quanto segue:

  • trasferisce i dati tra due computer utilizzando un relè,
  • fornisce crittografia end-to-end utilizzando la libreria PAKE,
  • trasferisce più file in una volta,
  • Riprende la copia del file interrotta,
  • Nessun port forwarding del server centrale necessario ,
  • ipv6-first con ipv4 fallback,
  • richiede zero dipendenze,
  • multipiattaforma,
  • gratuito e open source.

Croc è scritto in GO linguaggio di programmazione e disponibile gratuitamente con licenza MIT.

Installa Croc su Linux

Croc può essere installato su qualsiasi distribuzione Linux e Unix che supporti Bash utilizzando il seguente comando:

$ curl https://getcroc.schollz.com | bash

Questo comando installerà Croc in /usr/local/bin/ Posizione.

Se non vuoi iniettare qualcosa direttamente nel tuo SHELL , puoi scaricare i binari precompilati dalla pagina dei rilasci e installali utilizzando il gestore di pacchetti della tua distribuzione.

Ad esempio, ho installato il file Croc deb sul mio sistema Ubuntu utilizzando i seguenti comandi:

$ sudo apt install gdebi
$ sudo gdebi croc_8.3.2_Linux-64bit.deb

Croc è disponibile nella [Community], quindi puoi installarlo su Arch Linux e le sue varianti usando pacman come di seguito:

$ pacman -S croc

Su NixOS, esegui:

$ nix-env -i croc

Croc è disponibile anche come snap .

$ snap install croc

Puoi anche creare Croc dal sorgente se hai installato Go sul tuo Linux sistema.

$ GO111MODULE=on go get -v github.com/schollz/croc/v8

Trasferisci file e cartelle tra computer con Croc

Assicurati di aver installato Croc su tutti i sistemi.

Per trasferire un file/cartella utilizzando Croc, esegui semplicemente:

$ croc send <file-or-folder-path>

Esempio:

$ croc send file.txt

Croc genererà una frase in codice casuale come di seguito.

Sending 'file.txt' (116 B)
Code is: slow-tomato-almond
On the other computer run

croc slow-tomato-almond

Qui, la frase in codice è slow-tomato-almond . La frase in codice viene utilizzata per stabilire un accordo di chiave autenticata con password (PAKE) che genera una chiave segreta per il mittente e il destinatario da utilizzare per la crittografia end-to-end.

Per ricevere il file sopra sull'altro computer, il destinatario deve inserire l'ultima riga nell'output sopra:

$ croc slow-tomato-almond

Premi "y" e premi invio per ricevere il file.

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] ✔️

Risultato di esempio:

Imposta una frase in codice personalizzata

Come ho già detto, Croc genererà un codice casuale ogni volta che invii un file o una cartella. Puoi anche inviare file/cartelle con un codice personalizzato a tua scelta utilizzando --code opzione.

$ croc send --code download-this file.txt

Qui, "download-this" è la frase in codice.

Risultato di esempio:

Sending 'file.txt' (116 B)
Code is: download-this
On the other computer run

croc download-this

Il destinatario può ricevere il file utilizzando il seguente comando:

$ croc download-this

Invia SMS

Proprio come file e cartelle, possiamo condividere anche il testo. Questo può essere utile quando vuoi condividere un messaggio o un URL.

Per inviare testo utilizzando Croc, esegui:

$ croc send --text "Welcome to OSTechNix"

Risultato di esempio:

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)

Il destinatario riceverà il testo utilizzando il seguente comando:

$ croc natural-roof-clock
Accept 'text' (20 B)? (y/n) y

Receiving (<-[fe80::d710:cf4:bb49:8b20%enp0s8]:9009)
Welcome to OSTechNix

Usa i tubi

Puoi reindirizzare l'output del file a croc come di seguito.

$ cat file.txt | croc send

Risultato di esempio:

Sending 'stdin' (116 B)
Code is: dexter-cowboy-soprano
On the other computer run

croc dexter-cowboy-soprano

Croc utilizzerà automaticamente i dati stdin e invierà e assegnerà un nome file come "croc-stdin-728899651".

Sul lato ricevente, l'utente può ricevere il file utilizzando uno qualsiasi dei seguenti comandi:

$ croc dexter-cowboy-soprano

Oppure usa:

$ croc --yes dexter-cowboy-soprano > out

Qui, --yes non chiederà alcuna conferma e accetterà automaticamente tutte le richieste.

Imposta cartella di output

Per impostazione predefinita, Croc scaricherà i dati nella directory di lavoro corrente. Puoi fare in modo che utilizzi un percorso di download diverso usando --out bandiera.

$ croc send file.txt

Risultato di esempio:

Sending 'file.txt' (116 B)
Code is: program-public-mystery
On the other computer run

croc program-public-mystery

Sul lato ricevente, esegui:

$ croc --out ~/Downloads

Inserisci la frase in codice quando richiesto.

Ricevere aiuto

Per assistenza, esegui:

$ 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)

Linux
  1. Come trasferire file tra due computer utilizzando i comandi nc e pv

  2. Confronta graficamente file e cartelle in Linux con Meld

  3. Come configurare il server SAMBA e trasferire file tra Linux e Windows

  4. Recupera partizioni e file con TestDisk

  5. Come trasferire file in Linux con SCP e Rsync

Condividi file tra desktop Linux con Warpinator

Trasferisci file tra computer e dispositivi mobili scansionando i codici QR

Come trasferire file tra Dropbox e Google Drive con Rclone in Linux

Linux cerca la stringa nelle cartelle e nei file con ack

4 modi per trasferire file tra sistemi remoti e locali su SSH

Come trasferire facilmente file tra desktop Linux con Warp