croc è uno strumento a riga di comando gratuito e open source per il trasferimento sicuro di file tra computer. Utilizza transazioni peer-to-peer assistite da relay e crittografia end-to-end tramite scambio di chiavi autenticato da password. Il programma è scritto in Go ed è disponibile per Microsoft Windows, macOS, Linux e * BSD.
L’idea alla base di croc è quella di poter trasferire file e cartelle tra computer multipiattaforma in modo sicuro, veloce e facile. Con supporto per trasferimenti peer-to-peer ripristinabili. Come caratteristica bonus, croc è anche in grado di trasferire in modo sicuro un breve testo o URL direttamente.
Il trasferimento dei dati viene effettuato utilizzando un relay, utilizzando socket TCP grezzi o websocket. Quando il mittente e il destinatario sono sulla stessa LAN, croc utilizza un relè locale, altrimenti viene utilizzato un relè pubblico. Grazie a ciò, croc può inviare file tra computer nella stessa LAN o su Internet, senza che il port forwarding sia abilitato.
I dati che attraversano il relay vengono crittografati utilizzando una chiave di sessione generata da PAKE. Per questo, croc usa frasi in codice, una combinazione di tre parole casuali. Per impostazione predefinita, una frase in codice può essere utilizzata solo una volta tra due parti, quindi un utente malintenzionato avrebbe una probabilità inferiore a 1 su 4 miliardi di indovinare correttamente la frase in codice per rubare i dati.
caratteristiche croc:
- consente a due computer qualsiasi di trasferire dati (utilizzando un relè)
- fornisce la crittografia end-to-end (utilizzando PAKE)
- consente un facile trasferimento di file e cartelle multipiattaforma (Windows, Linux, Mac e * BSD)
- consente più trasferimenti di file
- consente di riprendere i trasferimenti interrotti
- server locale o port forwarding non necessari
- IPv6-first con fallback IPv4
- può usare un proxy, come Tor
Lo sviluppatore afferma che croc è l’unico strumento di trasferimento file da riga di comando che ha tutte le funzionalità sopra menzionate.
croc supporta anche l’avvio della propria staffetta (croc relay
; puoi facilmente ospitare un relè utilizzando Docker), impostando una frase di codice personalizzata (non generata da croc) (croc send --code
), accettazione automatica di tutti i prompt (--yes
) e ci sono varie altre opzioni come forzare l’uso di connessioni locali (--local
), specificare l’indirizzo di inoltro (--relay
/ --relay6
), usa un proxy Socks 5 (--socks5
), ecc. È possibile salvare alcune di queste opzioni per usi futuri (il relè personalizzato, le porte e la frase in codice) utilizzando il file --remember
opzione Vedi il croc --help
, così come croc send --help
per dettagli.
Potrebbe piacerti anche: qrcp: trasferire file tra dispositivi desktop e mobili tramite Wi-Fi scansionando un codice QR
Preoccupato che questo sia uno strumento da riga di comando e che sia difficile da utilizzare da un utente inesperto su Microsoft Windows? Non è. Un utente Windows può semplicemente scaricare il file binario di Windows, estrarlo, quindi fare doppio clic sul file croc.exe
eseguibile e verrà visualizzata una finestra della console, che chiede all’utente di inserire il codice di ricezione:
Un altro strumento vicino alla funzionalità di croc è Magic Wormhole. Questo è uno strumento da riga di comando Python3 per inviare file e cartelle tra computer. Le differenze sono che Magic Wormhole è scritto in Python, quindi richiede l’installazione delle sue dipendenze (croc è scritto in Go, quindi puoi usare il binario senza dover installare alcuna dipendenza) e Magic Wormhole non supporta più trasferimenti di file, file ripresa, IPv6, trasferimento locale senza inoltro pubblico, invio di cartelle senza compressione e non è così facile installarlo su Windows.
utilizzo croc
Usare croc per inviare un file o una cartella è semplice come:
croc send file-or-folder
Per esempio:
$ croc croc_8.6.8_Linux-64bit.deb
Did you mean to send 'croc_8.6.8_Linux-64bit.deb'? (y/n) y
Sending 'croc_8.6.8_Linux-64bit.deb' (2.1 MB)
Code is: life-brother-chickenOn the other computer run
croc life-brother-chicken
Come puoi vedere dall’output del comando, quando invia un file, croc mostra un codice sotto forma di una frase facile da ricordare. Anche le istruzioni per ricevere il file sono mostrate qui – quindi per ottenere il file, il destinatario deve eseguire il comando croc seguito dal codice del file / cartella:
croc code-phrase
Esempio:
$ croc life-brother-chicken
Accept 'croc_8.6.8_Linux-64bit.deb' (2.1 MB)? (y/n) y
Receiving (<-192.168.70.106:36472)
croc_8.6.8_Linux-64bit.deb 100% || (2.1/2.1 MB, 2.153 MB/s)
Una volta che il destinatario esegue il comando croc per ottenere il file, il mittente vedrà un messaggio che dice qualcosa del genere:
Sending (->192.168.70.106:36480)
Dopo che il trasferimento del file è completo, croc esiste, quindi il file non può più essere scaricato di nuovo. Se si desidera annullare il trasferimento del file prima che sia completato (o prima ancora che inizi), premere Ctrl + c
.
Puoi anche utilizzare croc per inviare in modo sicuro un breve testo o URL tra computer, utilizzando:
croc send --text "Some text"
Per ancora di più, come usare pipe, ecc. Vedere l’utilizzo di croc dal suo repository GitHub.
Correlati: ffsend: Condivisione file sicura dalla riga di comando (client di invio Firefox)
Scarica croc
Sono disponibili binari croc per Microsoft Windows, macOS, FreeBSD e Linux.
Su Linux troverai solo binari DEB (per Debian / Ubuntu / Linux Mint / Pop! _OS / ecc.), Nonché binari generici che puoi installare su qualsiasi distribuzione Linux, copiandoli da qualche parte nel tuo PATH (ad es. /usr/local/bin
).
Consulta le istruzioni di installazione ufficiali di croc per un elenco completo dei modi in cui puoi installare questo strumento da riga di comando (uno script generico per installarlo su qualsiasi distribuzione Linux, lo strumento è disponibile nei repository di Arch Linux, installalo utilizzando Homebrew, Chocolatey, ecc. ).
Potrebbe piacerti anche: Come crittografare i file di archiviazione cloud con Rclone