En 2026, nous avons encore souvent besoin de transférer des fichiers entre ordinateurs. Même si de nombreux services de stockage cloud sont disponibles, il arrive que vous ayez simplement besoin d'un moyen rapide, sûr et sans inscription pour un transfert pair à pair. C'est là que croc entre en scène.

Qu'est-ce que Croc ?

croc est un outil en ligne de commande écrit en Rust qui permet de transférer facilement et en toute sécurité des fichiers et des dossiers entre deux ordinateurs quelconques. Contrairement à d'autres outils de transfert de fichiers, croc présente ces avantages uniques :

  • Chiffrement de bout en bout : tous les transferts sont chiffrés via le protocole PAKE (Password-Authenticated Key Exchange)
  • Transmission via relais : la connexion s'établit grâce à un serveur relais public, ce qui permet de traverser les NAT et les pare-feu
  • Reprise après interruption : le transfert reprend là où il s'est arrêté, même pour les gros fichiers
  • Multiplateforme : compatible Windows, macOS, Linux et BSD
  • Aucun port à ouvrir : pas besoin de configurer le pare-feu ni de faire une redirection de port

Installer Croc

Linux

Fedora/RHEL/CentOS :

BASH
sudo dnf install croc

Debian/Ubuntu :

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

Arch Linux :

BASH
yay -S croc

macOS

Avec Homebrew :

BASH
brew install croc

Windows

Avec Chocolatey :

BASH
choco install croc

Ou téléchargez le binaire précompilé depuis les GitHub Releases.

Utilisation de base

Utiliser croc est très simple. Il suffit de deux étapes : l'expéditeur génère un code, le destinataire le saisit.

Envoyer un fichier

Sur la machine de l'expéditeur :

BASH
croc send /chemin/vers/fichier.txt

Ou envoyer un dossier entier :

BASH
croc send /chemin/vers/dossier/

croc génère un code qui ressemble à ceci :

Sending 'file.txt' (2.5 MB)
Code is: 1234-abcd-efgh-5678

Recevoir un fichier

Sur la machine du destinataire, il suffit de taper :

BASH
croc 1234-abcd-efgh-5678

Le fichier commence alors à se télécharger dans le répertoire courant.

Astuces avancées

Mot de passe personnalisé

Si vous préférez définir vous-même le mot de passe plutôt que de laisser croc le générer automatiquement :

BASH
# Expéditeur
croc send --pass monmotdepasse fichier.txt

# Destinataire
croc --pass monmotdepasse 1234-abcd-efgh-5678

Serveur relais personnalisé

croc utilise un serveur relais public par défaut, mais vous pouvez aussi installer le vôtre :

BASH
# Expéditeur
croc --relay monrelais.example.com send fichier.txt

# Destinataire
croc --relay monrelais.example.com 1234-abcd-efgh-5678

Transférer plusieurs fichiers

BASH
croc send fichier1.txt fichier2.txt fichier3.txt

Ou avec un glob :

BASH
croc send *.pdf

Transfert depuis l'entrée standard

BASH
# Expéditeur
cat secret.txt | croc send

# Destinataire
croc > received.txt

Fonctionnalités de sécurité en détail

Protocole de chiffrement PAKE

croc utilise le protocole SPAKE2+ pour l'authentification par mot de passe et l'échange de clés. Cela signifie que :

  1. Le mot de passe n'est jamais transmis : seule une preuve cryptographique du mot de passe est échangée
  2. Protection contre les attaques de l'homme du milieu : même si le serveur relais est compromis, l'attaquant ne peut pas déchiffrer les fichiers
  3. Confidentialité persistante (forward secrecy) : chaque transfert utilise une clé de session différente

Flux de chiffrement de bout en bout

Expéditeur                Serveur relais                Destinataire
  |                           |                           |
  |---- Fichier chiffré ----->|                           |
  |                           |---- Données chiffrées --->|
  |<--- Confirmation échange -|                           |
  |                           |<-- Confirmation échange --|
  |==== Connexion P2P directe établie =====================|

Une fois la connexion établie, les fichiers transitent directement entre les deux machines. Le serveur relais ne sert qu'au handshake initial.

Cas d'utilisation concrets

Scénario 1 : Partager rapidement un gros fichier

Vous devez envoyer un vidéo de 2 Go à un collègue, mais la limite d'attachment de l'entreprise est de 25 Mo. Avec croc :

BASH
croc send presentation-video.mp4
# Envoyez le code au collègue par messagerie instantanée
# Le collègue saisit le code pour recevoir

Scénario 2 : Transfert entre serveurs sur des réseaux différents

Transférez des fichiers de logs entre deux serveurs dans des data centers distincts :

BASH
# Serveur A
croc send /var/log/application.log

# Serveur B (via SSH)
croc [code]

Scénario 3 : Sauvegarde vers un NAS domestique

Transférez de manière chiffrée des fichiers sensibles depuis votre ordinateur de travail vers votre NAS à la maison :

BASH
croc --pass "mot-de-passe-fort" send confidentiel/

Performances

Selon des tests réels, voici les performances de croc dans différents environnements réseau :

Environnement réseau Vitesse moyenne Remarque
Réseau local 50-100 Mo/s Connexion P2P directe
Large bande même ville 10-30 Mo/s Limité par la bande passante montante
Transmission internationale 2-8 Mo/s La latence affecte la vitesse de handshake

Comparaison avec d'autres outils

Fonctionnalité croc scp rsync Magic Wormhole
Chiffrement de bout en bout ✅ ❌ ❌ ✅
Traversée NAT ✅ ❌ ❌ ✅
Reprise après interruption ✅ ❌ ✅ ❌
Facilité d'utilisation ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
Multiplateforme ✅ ⭐ ⭐ ✅

Installer son propre serveur relais

Si vous vous inquiétez de la confidentialité du serveur relais public, vous pouvez installer le vôtre :

BASH
# Installation
go install github.com/schollz/croc/v10/src/croc@latest

# Lancer le relais
croc relay

# Ports écoutés par défaut : 9009, 9010, 9011, 9012, 9013

Ou lancer via Docker :

BASH
docker run -d \
  -p 9009:9009 -p 9010:9010 -p 9011:9011 \
  -p 9012:9012 -p 9013:9013 \
  --name croc-relay \
  schollz/croc:latest relay

Questions fréquentes

Q : Que faire si le transfert est interrompu ?

R : croc supporte la reprise après interruption. Il suffit de relancer la même commande : le transfert reprendra automatiquement là où il s'était arrêté.

Q : Comment vérifier l'intégrité du fichier ?

R : croc vérifie automatiquement l'intégrité des fichiers grâce à un checksum SHA-256. La vérification se fait automatiquement à la fin du transfert.

Q : Peut-on limiter la vitesse de transfert ?

R : Oui, avec le paramètre --rate :

BASH
croc --rate 1mbps send fichier.txt

Q : Est-ce que plusieurs destinataires sont supportés ?

R : Oui, le même code peut être utilisé par plusieurs personnes. Chacune recevra une copie complète du fichier.

Résumé

croc est l'un des outils de transfert de fichiers en ligne de commande les plus intéressants en 2026. Il combine parfaitement sécurité, simplicité et fonctionnalités, que vous soyez développeur, administrateur système ou utilisateur lambda.

Principaux avantages : - 🛡️ Chiffrement de niveau entreprise - 🚀 Expérience rapide et intuitive - 🌐 Transmission via Internet sans configuration réseau - 📦 Supporte les fichiers et dossiers de toute taille

Liens du projet : - GitHub : https://github.com/schollz/croc - Site officiel : https://croc.schollz.com - Documentation : https://github.com/schollz/croc/blob/main/README.md

La prochaine fois que vous devez transférer des fichiers rapidement et en toute sécurité, essayez croc !