- Dumbpipe est un outil de style Unix qui permet de relier facilement un pipe de données entre deux ordinateurs
- L’installation et l’utilisation sont très simples, sans compte ni configuration supplémentaire
- Sur un ordinateur, il attend en mode récepteur et fournit une clé secrète ainsi qu’une commande de connexion
- Sur l’autre ordinateur, il suffit d’une seule ligne de commande pour émettre et se connecter afin de transmettre les données
- Il fonctionne quel que soit l’environnement réseau, ce qui permet de l’utiliser indépendamment du lieu
Présentation de Dumbpipe
- Un outil open source permettant d’échanger directement des données entre deux ordinateurs, comme avec un pipe Unix
- Il peut être installé et exécuté en une seule ligne sans configuration complexe, ce qui le rend pratique et très accessible
Principales caractéristiques
- Après installation sur un ordinateur, la commande
./dumbpipe listen permet d’entrer en mode attente (réception)
- Lors de l’exécution, une clé secrète générée automatiquement est fournie, ainsi qu’une commande de connexion dédiée utilisable depuis l’autre ordinateur
- L’émetteur peut envoyer des données très simplement sous la forme
echo "hello" | ./dumbpipe connect ...
- Aucune création de compte n’est nécessaire
- Utilisation immédiate, sans inscription, connexion ni enregistrement d’informations utilisateur
- Fonctionne immédiatement sans configuration supplémentaire
- Aucun besoin de variables d’environnement, de fichier de configuration ou de réglage de pare-feu
- Échange de données entre deux appareils depuis n’importe où dans le monde
- Fonctionne sans restriction liée à l’environnement réseau, qu’il s’agisse d’un réseau privé, du cloud ou d’un réseau local
Résumé de l’utilisation
- Le récepteur lance dumbpipe en mode listen, puis copie et transmet les éléments nécessaires à la connexion, comme la clé
- L’émetteur utilise la commande
connect contenant cette clé pour envoyer les données sous forme de flux
Ce que cela implique
- Même les nouveaux utilisateurs ou les personnes peu expérimentées peuvent facilement mettre en place un pipeline de transfert de données réseau
- Peut être rapidement utilisé pour de nombreux usages, comme le transfert de fichiers ou de messages simples, le relais de données entre appareils, ainsi que l’automatisation du développement et du déploiement
- Grâce à une commande unique et à un workflow intuitif, il contribue à la productivité des ingénieurs
1 commentaires
Avis Hacker News
Présentation d’une méthode pour échanger des commandes à distance avec
sshetsocatoumkfifoSi la cible est bloquée par un pare-feu ou un NAT, on peut utiliser un serveur SSH public comme ssh-j.com comme relais pour envoyer et recevoir des données de façon sécurisée (via un double tunnel SSH)
C’est le contenu que j’avais initialement publié dans un fil lié à beam lien
Je me demande pourquoi le simple échange de fichiers entre deux PC via un câble USB n’est pas standard. Si tous les OS prenaient en charge le même protocole, on a l’impression que cela aurait dû exister depuis le tout début. Je sais bien qu’un câble USB A-A n’existe théoriquement pas, mais c’est justement en soi un argument montrant le besoin. Avec l’USB C, cela devrait être tout à fait possible ; c’est faisable dans une certaine mesure entre Android et un PC, mais pas entre deux ordinateurs portables
Microsoft a aussi publié un outil compatible, mais il semble qu’il n’ait été proposé que pour Windows CE lien officiel Microsoft
À ce sujet, j’ai une liste d’outils de transfert de fichiers (principalement basés sur le navigateur, avec un peu de CLI) que j’ai compilée. Je la partage selon les situations et je continue à y ajouter de bons outils ma liste d’outils
Je me demande à quel point il y a duplication entre dumbpipe et Tailscale. Il semble y avoir beaucoup de fonctionnalités nécessaires en commun, et j’imagine qu’il existe déjà beaucoup de bibliothèques de bas niveau réutilisables, notamment pour la traversée de NAT. Ou bien c’est peut-être la première bibliothèque de ce genre
Chez pico.sh, une fonction similaire de transfert de fichiers a été implémentée avec SSH pipe.pico.sh
Si l’écosystème des outils de tunnelisation similaires vous intéresse, il existe une awesome list utile à consulter awesome-tunneling
iroh est une technologie absolument fantastique. J’ai participé il y a deux semaines à l’atelier de Rüdiger (N0) au web3 summit de Berlin, et j’en suis sorti profondément inspiré. Le code pour construire un service similaire est publié ici code de l’atelier iroh et je recommande vivement de jeter aussi un œil aux slides
Si vous voulez un pipe plus avancé, j’ai aussi un CLI de gestion de tunnels que je suis en train de construire sur Iroh. Il prend en charge le port forwarding TCP, UDP et sockets UNIX qtm sur GitLab
Ce genre de solution sort une ou deux fois par an. Comme bon open source spécialisé dans l’orchestration de connexions, je recommande Spacebrew documentation officielle de Spacebrew
J’ai toujours trouvé cette méthode particulièrement intéressante GitHub de pwnat
Elle ne couvre pas tous les cas et elle est un peu plus complexe, mais son plus grand avantage est qu’elle ne nécessite aucun intermédiaire