Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierKorben
  • ✇Korben
  • SendMe - Pour partager des fichiers en P2P comme au bon vieux temps
    Vous avez besoin de partager un gros fichier avec un pote au travers d’Internet ? Bon, y’a WeTransfer et ce genre de choses mais ça reste limité en taille de fichier et c’est stocké on ne sait où… Après vous pouvez tenter scp en priant pour qu’il n’ait pas 15 couches de NAT, mais bon galère quoi… Bienvenue dans sur le nouvel Internet, où le peer-to-peer est mort et enterré sous des tonnes de NAT, de pare-feu et de FAI qui bloquent tout. Du coup, on a tous abandonné le P2P pour le cloud et on upl

SendMe - Pour partager des fichiers en P2P comme au bon vieux temps

Par : Korben
4 novembre 2025 à 12:31

Vous avez besoin de partager un gros fichier avec un pote au travers d’Internet ? Bon, y’a WeTransfer et ce genre de choses mais ça reste limité en taille de fichier et c’est stocké on ne sait où… Après vous pouvez tenter scp en priant pour qu’il n’ait pas 15 couches de NAT, mais bon galère quoi…

Bienvenue dans sur le nouvel Internet, où le peer-to-peer est mort et enterré sous des tonnes de NAT, de pare-feu et de FAI qui bloquent tout. Du coup, on a tous abandonné le P2P pour le cloud et on upload nos fichiers comme des cons, lentement, parfois en payant, au lieu de balancer la sauce en direct.

Heureusement, y’a SendMe qui vient nous rappeler qu’Internet peut fonctionner autrement. C’est un outil de transfert de fichiers qui connecte deux machines directement, sans serveur intermédiaire. Vous lancez sendme send ~/mes_photos, ça génère un ticket unique, vous envoyez ce ticket à votre destinataire, il tape sendme receive blobQmFoo..., et c’est parti mon kiki pour un transfert direct à l’ancienne, device-to-device.

Pas de compte, pas de limite, que dalle à configurer, juste deux machines qui se parlent directement, comme au bon vieux temps !

Le truc cool, c’est que SendMe utilise Iroh , un protocole P2P qui contourne tous les problèmes de NAT et compagnie puisqu’il fonctionne avec un système de “dial by public key” où chaque endpoint a une clé publique unique de 256 bits. Et ensuite, vous vous connectez en utilisant cette clé plutôt qu’une adresse IP.

Quand vous générez un ticket avec SendMe, ce ticket contient la clé publique de votre machine que le destinataire utilise pour se connecter chez vous. Peu importe que vous soyez derrière un NAT, que votre adresse IP change, ou que vous n’ayez aucune idée de ce qu’est un port forwarding. Iroh gère le NAT hole punching automatiquement, et si vraiment la connexion directe est impossible, il passe par un serveur relai en fallback.

Iroh, c’est du QUIC pur jus, un protocole de transport moderne dont je vous ai déjà parlé, qui apporte pas mal de trucs cools comme du chiffrement, de l’authentification par défaut (TLS 1.3), du multiplexage de streams, pas de head-of-line blocking, et connexion en zéro round-trip. Du coup, une fois connecté, les transferts peuvent saturer une connexion 8 Gbps sans problème !

Les fichiers sont ainsi streamés avec vérification Blake3, donc vous êtes sûr de l’intégrité des données et si le transfert est interrompu, pas de problème, il reprend là où il s’était arrêté. Et comme tout passe en chiffrement de bout en bout via QUIC, personne ne peut voir ce qui transite dans les tutubes de votre Internet.

L’installation sur Unix/Linux/macOS, un petit curl et hop, c’est plié :

curl -fsSL https://iroh.computer/sendme.sh | sh

Sur Windows:

iwr https://www.iroh.computer/sendme.ps1 -useb | iex

Vous vous retrouvez avec un binaire sendme prêt à l’emploi.

Maintenant, si vous préférez une interface graphique plutôt que la ligne de commande, il existe aussi AltSendme , une application desktop cross-platform qui utilise le même protocole Iroh. L’app est développée en Rust avec Tauri pour le backend et React + TypeScript pour le frontend et le gros avantage, c’est qu’elle est compatible avec SendMe CLI. Vous pouvez donc générer un ticket avec l’interface graphique et quelqu’un peut le recevoir en ligne de commande, ou vice-versa.

AltSendme ajoute également une couche d’interface utilisateur sympa tout en gardant toute la puissance technique d’Iroh… Même chiffrement de bout en bout (QUIC + TLS 1.3), même NAT hole punching, même vérification Blake3, mêmes téléchargements résumables. C’est dispo sous Windows, macOS (Intel et Apple Silicon), et Linux (deb et AppImage) et comme d’hab, le projet est open-source sous licence AGPL-3.0.

En février dernier, les dev ont ajouté le support navigateur via WebAssembly, ce qui signifie qu’à terme, vous pourrez faire du P2P directement depuis votre navigateur. Ils bossent aussi sur QUIC Multipath, une extension qui permet d’utiliser plusieurs chemins réseau simultanément pour encore plus de performance et de résilience.

L’idée derrière Iroh, c’est donc de redonner aux internautes le contrôle de leurs réseaux plutôt que de tout centraliser comme des teubés sous crack sur des serveurs Amazon, Google ou Microsoft. Ce protocole permet ainsi aux machines de se parler directement, comme Internet était censé fonctionner à l’origine.

SendMe et AltSendme ne sont que deux applications construites sur Iroh et ce protocole lui-même offre d’autres modules comme iroh-blobs (pour le transfert de fichiers verified) et iroh-gossip (pour la communication en temps réel). Vous pourriez donc construire du streaming vidéo avec priorisation de streams, du networking de jeux, de la communication temps réel, ou n’importe quelle app qui a besoin de connexions directes rapides et sécurisées entre devices, avec ce truc.

Merci à Lorenper pour le partage de cette découverte.

  • ✇Korben
  • Ethersync - Le mode multijoueur arrive enfin dans votre éditeur de texte
    Vous codez seul la nuit comme un petit lutin tout triste, paria de la société ? Et bien si je vous disais que vos collègues peuvent éditer vos fichiers en temps réel, directement dans votre Neovim ? Ce serait pas le feu ça ? Ethersync vient de débarquer et c’est exactement ce qu’il propose à savoir transformer n’importe quel éditeur de texte en espace de collaboration instantané. Comme un Google Docs mais en local, peer-to-peer et chiffré. Le projet a été présenté au FOSDEM 2025 par blinry, et l

Ethersync - Le mode multijoueur arrive enfin dans votre éditeur de texte

Par : Korben
5 août 2025 à 13:45

Vous codez seul la nuit comme un petit lutin tout triste, paria de la société ? Et bien si je vous disais que vos collègues peuvent éditer vos fichiers en temps réel, directement dans votre Neovim ? Ce serait pas le feu ça ?

Ethersync vient de débarquer et c’est exactement ce qu’il propose à savoir transformer n’importe quel éditeur de texte en espace de collaboration instantané. Comme un Google Docs mais en local, peer-to-peer et chiffré.

Le projet a été présenté au FOSDEM 2025 par blinry, et la démo m’a scotché. En gros, vous tapez ethersync share dans votre terminal, un code apparaît du style “5-hamburger-endorse”, et de son côté, votre collègue tape ethersync join 5-hamburger-endorse et boom, vous éditez les mêmes fichiers en temps réel. Pas de serveur, pas de cloud, juste une connexion P2P chiffrée entre vos machines.

Ce qui rend Ethersync génial, c’est qu’il fonctionne avec VOTRE éditeur préféré. Neovim, VS Code, et bientôt Emacs et JetBrains grâce aux plugins communautaires en développement comme ça plus besoin de forcer tout le monde sur le même outil. Chacun garde ses habitudes, ses raccourcis, ses configurations. L’interopérabilité est totale !

Le secret technique derrière cette magie ce sont les CRDT (Conflict-free Replicated Data Types) via Automerge. En gros, c’est une structure de données qui permet à plusieurs personnes de modifier le même document sans créer de conflits. Chaque modification est enregistrée comme une opération, et l’algorithme sait comment les fusionner intelligemment. Même si vous travaillez hors ligne et que vous vous reconnectez plus tard, tout se synchronise nickel.

Mais Ethersync va plus loin qu’Etherpad ou Google Docs car il ne se contente pas d’un seul fichier mais synchronise des projets entiers ! Vous partagez un dossier, et tout ce qui s’y trouve devient collaboratif. Fichiers sources, documentation, configs… tout est synchronisé en temps réel ce qui en fait le complément parfait à Git pour la collaboration instantanée.

L’architecture est d’ailleurs brillante. Il y a un daemon qui tourne en arrière-plan et gère la synchronisation via Iroh (une bibliothèque Rust qui permet d’établir des connexions directes entre pairs via QUIC, avec du hole-punching et des relais de secours) ainsi que Magic Wormhole (que vous connaissez, pour l’établissement de connexion facile avec des codes courts).

Les éditeurs communiquent alors avec le daemon via un protocole JSON-RPC tout simple. Du coup, créer un nouveau plugin est relativement facile si vous voulez supporter votre éditeur exotique préféré.

Et surtout, niveau sécurité, c’est du solide. Comme, je vous le disais, toutes les connexions sont chiffrées de bout en bout, et y’a pas de serveur central qui pourrait être compromis. Comme ça, VOS données restent sur VOS machines et si même internet tombe parce que c’est la fin du monde, vous pourrez continuer à collaborer en local sur le même réseau.

Pour l’installer sous Linux/macOS, vous récupérez le binaire statique depuis GitHub, vous le mettez dans votre PATH, et c’est parti. Les utilisateurs d’Arch ont même un paquet AUR (yay -S ethersync-bin). Pour Android, ça marche dans Termux et pour les amateurs de Nix, il y a un flake officiel.

Ce projet est encore jeune et en développement actif mais l’équipe l’utilise au quotidien donc ça se bonifie avec le temps. D’ailleurs, la bonne nouvelle c’est que ça a été financé par NLNet via leur fonds NGI0 Core pour 2024, et par le Prototype Fund allemand pour 2025. Ça garantit comme ça un développement sérieux et en continu.

Bref, que ce soit pour du pair programming, mais aussi de la prise de notes collaborative, de la rédaction de documentation à plusieurs, de la sessions de debug en équipe…etc, ça devrait bien faire le taf et contrairement aux partages d’écran, chacun garde le contrôle de son environnement.

Si vous voulez tester, c’est le moment car le projet recherche des retours, des testeurs, et des contributeurs pour créer de nouveaux plugins. La documentation est claire, le code est propre et l’équipe est réactive !

De la collaboration fluide et instantanée, directement dans votre environnement de travail habituel, comme on aime !

Que demande le peuple ?

  • ✇Korben
  • NetBird – Créez un réseau privé sécurisé hyper facilement
    Après vous avoir présenté WirePiUS ou encore Netmaker qui permettent de créer facilement des réseaux VPN basés sur Wireguard, je tiens aujourd’hui à vous présenter NetBird. Ce logiciel libre qui s’installe sur un serveur en moins de 5 min, va vous permettre de créer un réseau privé sécurisé pour votre organisation ou simplement votre petit chez vous. L’idée, vous l’aurez compris, c’est de pouvoir connecter plusieurs sites éloignés ou simplement partager des fichiers volumineux et confide

NetBird – Créez un réseau privé sécurisé hyper facilement

Par : Korben
31 janvier 2024 à 09:00

Après vous avoir présenté WirePiUS ou encore Netmaker qui permettent de créer facilement des réseaux VPN basés sur Wireguard, je tiens aujourd’hui à vous présenter NetBird.

Ce logiciel libre qui s’installe sur un serveur en moins de 5 min, va vous permettre de créer un réseau privé sécurisé pour votre organisation ou simplement votre petit chez vous.

L’idée, vous l’aurez compris, c’est de pouvoir connecter plusieurs sites éloignés ou simplement partager des fichiers volumineux et confidentiels avec vos collègues en toute sécurité. Ainsi, la plateforme Netbird combine un VPN Wireguard sans configuration, un système de contrôle d’accès centralisé et utilise WebRTC ICE, STUN et TURN pour établir des connexions entre machines.

Bien sûr, la double authentification est de la partie comme vous pouvez le voir sur la vidéo ci-dessous :

Pour installer NetBird, il vous faudra Docker avec docker-compose et jq + curl installés.

Avant de commencer, assurez-vous d’avoir les éléments suivants :

  • Une machine Linux avec au moins 1 CPU et 2 Go de RAM.
  • La machine doit être accessible publiquement sur les ports TCP 80 et 443 et UDP : 3478, 49152-65535.
  • Un nom de domaine public pointant vers la machine.
  • Docker installé sur la machine avec le plugin docker-compose (guide d’installation de Docker).
  • jq installé. jq est généralement disponible dans les dépôts officiels et peut être installé avec la commande
    sudo apt install jq 
    ou 
    sudo yum install jq
  • curl installé. curl est généralement disponible dans les dépôts officiels et peut être installé avec la commande 
    sudo apt install curl 
    ou
    sudo yum install curl

Téléchargez et exécutez le script d’installation :

export NETBIRD_DOMAIN=votre-domaine-public.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash

Ce script téléchargera et exécutera l’installation de NetBird sur votre machine. Il vous demandera de saisir le nom de domaine public que vous souhaitez utiliser pour NetBird.

Puis pour démarrer le service NetBird:

docker-compose up -d

Cette commande démarrera tous les conteneurs Docker nécessaires à l’exécution de NetBird.

Une fois l’installation terminée, vous pouvez gérer les ressources NetBird via docker-compose. Par exemple, pour redémarrer le service NetBird, vous pouvez exécuter la commande suivante :

docker-compose restart netbird

Vous pourrez alors accéder à l’interface utilisateur Web de NetBird via votre nom de domaine public.

Génial non ? Ça n’a jamais été aussi simple d’avoir son réseau privé virtuel et bien sûr hautement sécurisé. Suffit d’une petite box Linux et roule ma poule.

Vous aurez plus d’infos sur Netbird ici.

❌
❌