GNU/Linux >> Tutoriels Linux >  >> Linux

Transférer des fichiers et des dossiers entre ordinateurs avec Croc

Il existe de nombreuses façons de transférer des fichiers entre deux ordinateurs ou plus. Vous pouvez utiliser des outils de partage de fichiers sur serveur, des applications de partage de fichiers peer-to-peer, des clés USB, des disques durs externes, SCP, NFS, FTP, HTTP, des plates-formes de stockage en nuage et bien d'autres. Nous avons déjà couvert quelques outils de partage de fichiers. Aujourd'hui, nous allons discuter d'un autre utilitaire nommé Croc . Croc est un utilitaire de ligne de commande qui vous permet de transférer facilement, rapidement et en toute sécurité des fichiers et des dossiers entre ordinateurs.

Le transfert de données à l'aide de Croc est plus rapide, car il agit comme un serveur relais entre les systèmes. Il crée une couche de communication en temps réel en duplex intégral entre les deux ordinateurs, de sorte que les tâches de "téléchargement" et de "téléchargement" se produisent simultanément entre ces ordinateurs.

Croc fournit un chiffrement de bout en bout à l'aide de Password Authenticated Key Exchange (PAKE) bibliothèque. Pour ceux qui se demandent, la bibliothèque PAKE permet à deux personnes de générer une clé secrète forte en utilisant une clé faible connue des deux au préalable. Cette clé secrète est ensuite utilisée pour un chiffrement supplémentaire. Étant donné que la clé n'est connue que de l'expéditeur et du destinataire, personne d'autre ne peut connaître la clé secrète même s'il connaît le mot de passe d'origine.

Croc peut être en mesure de transférer plusieurs fichiers à la fois entre les ordinateurs. Si le transfert de données est interrompu pour une raison quelconque, il peut reprendre la copie du fichier là où il a été laissé la dernière fois.

Étant donné que Croc utilise un relais, vous n'avez besoin ni d'un serveur central ni d'une redirection de port. Il s'agit d'une application multiplateforme, vous pouvez donc transférer les données entre les plateformes Linux, Mac et Windows.

En un mot, Croc fait ce qui suit :

  • transfère des données entre deux ordinateurs à l'aide d'un relais,
  • fournit un chiffrement de bout en bout en utilisant la bibliothèque PAKE,
  • transfère plusieurs fichiers en une seule fois,
  • Reprend la copie de fichier interrompue,
  • Aucun transfert de port de serveur central nécessaire ,
  • ipv6-first avec repli ipv4,
  • ne nécessite aucune dépendance,
  • multiplateforme,
  • gratuit et open source.

Croc est écrit en GO langage de programmation et disponible gratuitement sous licence MIT.

Installer Croc sur Linux

Croc peut être installé sur toutes les distributions Linux et Unix prenant en charge Bash en utilisant la commande suivante :

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

Cette commande installera Croc dans /usr/local/bin/ emplacement.

Si vous ne voulez pas injecter quelque chose directement dans votre SHELL , vous pouvez télécharger les binaires pré-compilés à partir de la page des versions et installez-les à l'aide du gestionnaire de packages de votre distribution.

Par exemple, j'ai installé le fichier Croc deb sur mon système Ubuntu en utilisant les commandes suivantes :

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

Croc est disponible dans la [Communauté], vous pouvez donc l'installer sur Arch Linux et ses variantes en utilisant pacman comme ci-dessous :

$ pacman -S croc

Sur NixOS, exécutez :

$ nix-env -i croc

Croc est également disponible en snap .

$ snap install croc

Vous pouvez également compiler Croc à partir des sources si vous avez installé Go sur votre Linux système.

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

Transférer des fichiers et des dossiers entre ordinateurs avec Croc

Assurez-vous d'avoir installé Croc sur tous les systèmes.

Pour transférer un fichier/dossier à l'aide de Croc, exécutez simplement :

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

Exemple :

$ croc send file.txt

Croc générera une phrase de code aléatoire comme ci-dessous.

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

croc slow-tomato-almond

Ici, la phrase de code est slow-tomato-almond . La phrase de code est utilisée pour établir un accord de clé authentifiée par mot de passe (PAKE) qui génère une clé secrète que l'expéditeur et le destinataire peuvent utiliser pour le chiffrement de bout en bout.

Pour recevoir le fichier ci-dessus sur l'autre ordinateur, le destinataire doit saisir la dernière ligne de la sortie ci-dessus :

$ croc slow-tomato-almond

Appuyez sur "y" et appuyez sur Entrée pour recevoir le fichier.

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

Exemple de résultat :

Définir une phrase de code personnalisée

Comme je l'ai déjà mentionné, Croc générera un code aléatoire chaque fois que vous enverrez un fichier ou un dossier. Vous pouvez également envoyer des fichiers/dossiers avec un code personnalisé de votre choix en utilisant --code option.

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

Ici, "download-this" est la phrase de code.

Exemple de résultat :

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

croc download-this

Le destinataire peut recevoir le fichier à l'aide de la commande suivante :

$ croc download-this

Envoyer un SMS

Tout comme les fichiers et les dossiers, nous pouvons également partager le texte. Cela peut être utile lorsque vous souhaitez partager un message ou une URL.

Pour envoyer du texte à l'aide de Croc, exécutez :

$ croc send --text "Welcome to OSTechNix"

Exemple de résultat :

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)

Le destinataire recevra le texte en utilisant la commande suivante :

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

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

Utiliser des tuyaux

Vous pouvez rediriger la sortie du fichier vers croc comme ci-dessous.

$ cat file.txt | croc send

Exemple de résultat :

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

croc dexter-cowboy-soprano

Croc utilisera automatiquement les données stdin et enverra et attribuera un nom de fichier comme "croc-stdin-728899651".

À la réception, l'utilisateur peut recevoir le fichier à l'aide de l'une des commandes suivantes :

$ croc dexter-cowboy-soprano

Ou utilisez :

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

Ici, --yes ne demandera aucune confirmation et acceptera automatiquement toutes les invites.

Définir le dossier de sortie

Par défaut, Croc téléchargera les données dans le répertoire de travail actuel. Vous pouvez faire en sorte qu'il utilise un emplacement de téléchargement différent en utilisant --out drapeau.

$ croc send file.txt

Exemple de résultat :

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

croc program-public-mystery

À la réception, exécutez :

$ croc --out ~/Downloads

Entrez la phrase de code lorsque vous y êtes invité.

Obtenir de l'aide

Pour obtenir de l'aide, exécutez :

$ 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. Comment transférer des fichiers entre deux ordinateurs à l'aide des commandes nc et pv

  2. Transférer en toute sécurité des fichiers et des dossiers entre ordinateurs à l'aide de Croc

  3. Récupérer des partitions et des fichiers avec TestDisk

  4. Comment transférer des fichiers entre serveurs sous Linux à l'aide de SCP et FTP

  5. Comment transférer des fichiers sous Linux avec SCP et Rsync

Partager des fichiers entre des postes de travail Linux avec Warpinator

Transférer des fichiers entre ordinateurs et appareils mobiles en scannant des codes QR

Comment transférer des fichiers entre Dropbox et Google Drive avec Rclone sous Linux

Linux recherche une chaîne dans des dossiers et des fichiers avec ack

4 façons de transférer des fichiers entre des systèmes distants et locaux via SSH

Comment transférer facilement des fichiers entre des bureaux Linux avec Warp