Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
croc [Le 28/03/2020, 17:55] – merci à BeCool pour sa relecture et ses nombreux conseils !-) bcag2croc [Le 31/03/2020, 10:48] (Version actuelle) – [Utilisation et fonctionnement] croc send --code… bcag2
Ligne 1: Ligne 1:
 +{{tag> réseau partage}}
  
 +----
 +
 +====== Croc, partage de fichiers/répertoires en pair à pair ======
 +
 +Pour échanger entre deux PC un(des) fichier(s) (éventuellement gros((il est toujours conseillé d'en limiter la taille… avec notre OS préféré, vous pouvez utiliser la commande split))) ou un(des) répertoire(s), voici une solution efficace en [[wpfr>Pair_à_pair|peer2peer]] (ou pair à pair), CROC.
 +
 +Il permet :
 +  * de chiffrer le transfert de bout en bout (en utilisant [[wp>Password-authenticated_key_agreement|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
 +  * d'être plus rapide que //wormhole//, [[:rsync]], [[:ssh#transfert_-_copie_de_fichiers|scp]] grâce à de la compression et du multiplexage (gain de 1,5× à 4×)
 +  * 
 +
 +===== Installation =====
 +Avec [[:snap]], il suffit de lancer:
 +<code bash>snap install croc</code>
 +Cette installation est évidemment nécessaire sur le PC émetteur et récepteur (+ sur un serveur si vous souhaitez avoir votre propre relais)
 +
 +Autre solution:
 +<code bash>curl https://getcroc.schollz.com | bash</code>
 +
 +Pour les autres OS, reportez-vous à la page [[https://github.com/schollz/croc#install|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:
 +<code bash>croc send <Fichier(s)OuRépertoire(s)Àenvoyer></code>
 +exemple "réel":
 +<code bash>croc send /home/bcag2/Documents/doc-croc.pdf</code>
 +À ce moment, croc contacte le serveur //relay//, lui donne les infos identifiant l'émetteur (adresse IP essentiellement) et un code-phrase((comme un mot de passe ou [[wpfr>Phrase_secrète|phrase secrète]], mais organisé en mots plutôt qu'en caractères. Croc génère des codes-phrases de 3 mots séparés pas des tirets)) associé qu'il a généré, dans l'exemple ci-dessous //flute-vibrate-cyclone//\\
 +Ce code-phrase est retourné:
 +<code bash>
 +On the other computer run
 +croc flute-vibrate-cyclone
 +</code>
 +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:
 +<code bash>croc flute-vibrate-cyclone</code>
 +La communication s’établit alors **directement** entre les 2 PC, qui échangent la clé de chiffrement [[wp>Password-authenticated_key_agreement|PAKE]] utilisée pour sécuriser le transfert, puis le transfert commence.
 +
 +<note important>Étant en peer2peer, il est clair que le PC émetteur doit rester allumé tant que le fichier/répertoire n'est pas récupéré!\\
 +Un seul destinataire peut récupérer le fichier/répertoire, si vous devez l'envoyer à plusieurs personnes, il faut recommencer l'opération!</note>
 +
 +Il est possible d'utiliser son propre code-phrase (([[https://github.com/schollz/croc#custom-code-phrase]])) qu'on aura inventé ou généré avec un autre outil (minimum 4 caractères):
 +<code bash>croc send --code mon-code-phrase mon_fichier</code>
 +<note tip>le code-phrase ne sert pas au chiffrement du transfert mais simplement à l'identification de l'émetteur sur le serveur relais</note>
 +
 +Pour accéder à l'aide:
 +sur la liste des sous-commandes (//send//, //relay//) et options globales:
 +<code bash>croc help</code>
 +pour les options d'une <sous-commande>, //send// par exemple:
 +<code bash>croc send --help</code> 
 +
 +===== 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 commande((https://github.com/schollz/croc#self-host-relay)) <code bash>croc relay</code>
 +
 +===== Voir aussi =====
 +  * (en) [[https://github.com/schollz/croc|Croc sur github]]