Croc, partage de fichiers/répertoires en pair à pair
Pour échanger entre deux PC un(des) fichier(s) (éventuellement gros1)) ou un(des) répertoire(s), voici une solution efficace en peer2peer (ou pair à pair), CROC.
Il permet :
- de chiffrer le transfert de bout en bout (en utilisant PAKE)
- des transferts entre PC multi-platformes (Linux, Windows, Mac)
- de transférer plusieurs fichiers/répertoires
- de reprendre le transfert après une interruption
Installation
Avec snap, il suffit de lancer:
snap install croc
Cette installation est évidemment nécessaire sur le PC émetteur et récepteur (+ sur un serveur si vous souhaitez avoir votre propre relais)
Si snap ne passe pas (focal, jammy) :
snap install croc erreur : snap "croc" non trouvé
Vous pouvez l'installer à partir du paquet :
wget https://github.com/schollz/croc/releases/download/v9.6.0/croc_9.6.0_Linux-64bit.deb | sudo dpkg -i # ou utilisez le script défini par son développeur : curl https://getcroc.schollz.com | bash
Pour les autres OS, reportez-vous à la page installation de croc (en)
Utilisation et fonctionnement
Principe: cette outil léger (Croc fait moins de 1 Mo !) permet d'émettre un envoi de fichier(s) ou répertoire(s) avec une commande très simple:
croc send <Fichier(s)OuRépertoire(s)Àenvoyer>
exemple "réel":
croc send /home/bcag2/Documents/doc-croc.pdf
À ce moment, croc contacte le serveur relay, lui donne les infos identifiant l'émetteur (adresse IP essentiellement) et un code-phrase2) associé qu'il a généré, dans l'exemple ci-dessous flute-vibrate-cyclone
Ce code-phrase est retourné:
On the other computer run croc flute-vibrate-cyclone
pour vous permettre de le communiquer au destinataire oralement (avantage du code-phrase sur un mot de passe), par email, messagerie instantanée…
Le destinataire n'a plus qu'à le coller dans son terminal en argument de la commande croc, dans notre exemple:
croc flute-vibrate-cyclone
La communication s’établit alors directement entre les 2 PC, qui échangent la clé de chiffrement PAKE utilisée pour sécuriser le transfert, puis le transfert commence.
Un seul destinataire peut récupérer le fichier/répertoire, si vous devez l'envoyer à plusieurs personnes, il faut recommencer l'opération!
Il est possible d'utiliser son propre code-phrase 3) qu'on aura inventé ou généré avec un autre outil (minimum 6 caractères):
croc send --code mon-code-phrase mon_fichier
Pour accéder à l'aide: sur la liste des sous-commandes (send, relay) et options globales:
croc help
pour les options d'une <sous-commande>, send par exemple:
croc send --help
Le relais
La mise en relation entre le PC émetteur et le PC destinataire se fait via un serveur (le relais) qui, un peu comme un DNS, va mémoriser la correspondance code - adresse IP de l'émetteur qu'il va transmettre au destinataire.
Ce relais, par défaut, est public (hébergé à New-York, par défaut IP:142.93.177.120:9009)
Il est possible de se créer son propre relais avec la commande4)
croc relay
Voir aussi
- (en) Croc sur github