xSend Logo xSend

Chimie sans Serveur : Anatomie du Transfert P2P de Navigateur à Navigateur de xSend

Découvrez comment nous exploitons WebRTC et des serveurs de signalisation pour accomplir des transferts de fichiers à haute vitesse et chiffrés de bout en bout, directement entre navigateurs web.

Passer par un Cloud de stockage signifie soumettre vos fichiers d’abord à un serveur avant le transfert. La vision de xSend, sans barrière et sans serveur intermédiaire, met l’accent sur un modèle P2P où nous joignons directement les appareils. Mais pour faire cela, qu’arrive-t-il via un simple navigateur web?

1. Comment trouver nos cibles? Le serveur de “Signaling”

Si on lance le navigateur de xSend, on ne peut pas crier tout autour du quartier (“Broadcast local UDP”) pour trouver autrui. C’est ici que le Serveur Cloudflare dédié aide. Quand vous tapez les 6 chiffres d’un ami, les terminaux des deux utilisateurs partagent une salle WebSocket, se communiquant brièvement pour passer le « SDP » ainsi que tous leurs adresses de routeur locales (« ICE »). Et non, le serveur ne voit ni transfère, ni effleure aucun fichier lui-même !

2. Comment percer un trou ? ICE et “UDP Hole Punching”

Un réseau Wi-Fi local sera connecté instantanément en cherchant aux alentours par déduction, ce qui offre d’énormes bénéfices. Par contre, pour un transfert d’un foyer vers un réseau cellulaire, xSend requiert au serveur STUN de détecter quels accès et adresses IP publiques subsistent, expédiant l’opération UDP aux deux partenaires afin de constituer un tunnel continu.

3. Haute Sécurités (SCTP sous DTLS)

Nous profitons de l’équipement RTCDataChannel (SCTP) du WebRTC au lieu d’un simple UDP qui n’assure aucune réception ordonnée, nous réconfortant comme du vrai TCP le ferait. Plus décisif encore, le DTLS, un standard cryptographique, hachure vos octets avec une force monumentale. Un pirate interceptant le cours n’observera alors qu’un charabia incompréhensible.

4. Rebond et Plan B (TURN Relaying)

Face à de redoutables blocages, des firewalls massifs en usine (Symmetric NAT), etc., la connexion se relie discrètement et infailliblement via le relais global de Cloudflare (TURN) du côté P2P, néanmoins en empêchant tout décryptage par Cloudflare puisque l’encryptage terminal n’est pas brisé.

Bien qu’un navigateur s’éreinte légèrement plus vite vis-à-vis d’une application de bureau (« Native »), ce procédé ingénieux téléportera vos clichés entre inconnus de façon miraculeuse.