Table des matières

croc

Croc est un petit logiciel (8 Méga-octets) en ligne de commande pratique pour transférer directement un fichier ou un répertoire d'un ordinateur à un autre. Il a les particularités suivantes:


Installation

croc est déjà probablement présent dans les dépôts de votre distribution.

Sinon, vous pouvez procéder à une installation manuelle : https://github.com/schollz/croc#install

Ou même télécharger directement la dernière version (c'est un simple exécutable) (C'est pratique également pour utiliser croc sur les ordinateurs où vous n'avez pas les droits pour installer des applications) : https://github.com/schollz/croc/releases/latest

Croc existe pour Windows, Linux (pour processeurs x86/x64/arm… donc cela fonctionnera aussi très bien sur un Raspberry), Mac, FreeBSD et autres.

L'auteur ne distribue pas de version officielle pour Android, mais il existe deux moyens de l'utiliser. Voir la section Android.


Exemple d'utilisation

Et c'est tout. Dès que le fichier est tranféré, les deux applications se terminent.

Dans le cas où les machines ne peuvent pas se "parler" en direct, le serveur croc.schollz.com est utilisé comme relai mais c'est chiffré de bout en bout.
Mais rien ne vous empêche d'installer votre propre serveur de relai.

Un raccourcis dans le gestionnaire de fichiers

La plupart des gestionnaires de fichiers sous Linux vous permettent de créer vos propres scripts, activables avec un simple clic-droit. Exemple:

Par exemple dans le bureau Mate, le gestionnaire de fichier est Caja et vous pouvez placer vos scripts dans ~/.config/caja/scripts/

Voici un script pour envoyer n'importe quel fichier via Croc avec un simple clic-droit dans Caja:

Envoyer-via-croc
#!/bin/bash
IFS=$'\n'
for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do
if [ -d "$FILENAME" ]; then
 cmd="croc send \"$FILENAME\""
 mate-terminal --title="Envoi du répertoire via croc (`basename $FILENAME`)" -x /bin/bash -l -c "$cmd"
fi
if [ -f "$FILENAME" ]; then
 cmd="croc send \"$FILENAME\""
 mate-terminal --title="Envoi du fichier via croc (`basename $FILENAME`)" -x /bin/bash -l -c "$cmd"
fi
done

Enregistrez-le dans ~/.config/caja/scripts et rendez-le exécutable (chmod +x Envoyer-via-croc). Vous pouvez maintenant faire un clic-droit sur les fichiers et répertoires > Scripts > Envoyer-via-croc.

Notez que la plupart des autres gestionnaires de fichiers (par exemple Nautilus) possèdent la même capacité de lancer des scripts, mais vous devrez adapter ce script et le placer dans le bon répertoire.


Reprendre un téléchargement interrompu

S'il y a un problème réseau qui brise la connexion, émetteur et récepteur vont quitter.

Il faut alors relancer l'envoi du fichier côté émetteur (ce qui va créer un nouveau code).

Côté destinataire, retapez la commande de réception avec ce nouveau code. Quand croc verra qu'un fichier de même nom existe, il vous proposera de reprendre le téléchargement.

Resume 'NomDuFichier' (25.4%)? (y/N)

Répondez simplement Y et il reprendra là où il s'était arrêté.


Automatiser des transfers

Si vous voulez utiliser croc dans vos scripts, vous pouvez aussi le faire. Par exemple :

croc send --code blablabla587568 monfichier

Et côté réception:

croc --yes blablabla587568

--yes téléchargera automatiquement.

Vous pouvez également utiliser les pipes:

echo 'coucou' | croc send --code blabla750

Et à la réception:

croc --yes --stdout blabla750 > message.txt

Android

L'auteur ne distribue pas de version officielle pour Android, mais il y a deux manière d'utiliser croc sous Android:

Application (non officielle)

Avec Termux

Termux est un émulateur Linux pour Android qui ne nécessite pas un téléphone rooté. Il possède son propre gestionnaire de packages et fournit un terminal. Voici les instructions (rapides):

Si vous voulez écrire des scripts shell pour termux, votre shebang ne doit pas être #!/bin/sh mais #!/data/data/com.termux/files/usr/bin/sh

Liens