Sous le capot

C'est comme scp sans avoir besoin de connaître l'adresse IP. Ajoutez des fichiers à AltSendme, et il vous donnera un ticket collable que vous pourrez transmettre à quiconque a besoin de vos fichiers. AltSendme connectera vos appareils directement et transférera les données sans comptes ni configuration.

Graphique hero AltSendme

Concepts importants

1. Blobs

Stockage et transfert de blobs adressés par contenu. iroh-blobs implémente des transferts request/response et en streaming de blobs d'octets de taille arbitraire, avec des flux vérifiés BLAKE3 et des liens adressés par contenu.

  • Blob : une séquence opaque d'octets (sans métadonnées intégrées).
  • Link : un hash BLAKE3 de 32 octets qui identifie un blob.
  • HashSeq : un blob contenant une séquence de liens (utile pour le chunking/arbres).
  • Provider / Requester : le provider sert les données ; le requester les récupère. Un endpoint peut être les deux.

2. Tickets

Les tickets permettent de partager les informations de connexion entre endpoints iroh. C'est un token unique contenant tout le nécessaire pour se connecter à un autre endpoint, ou pour récupérer un blob. Contient des NodeIds Ed25519 : l'identité cryptographique de votre appareil pour l'authentification. Ce système est considérablement meilleur que les systèmes peer-to-peer complets qui diffusent votre IP. Dans iroh, les tickets forment un « cozy network » entre les pairs avec lesquels vous souhaitez vous connecter explicitement. Il est possible d'aller en « full p2p » et de diffuser les détails de connexion, mais les tickets représentent un meilleur compromis par défaut.

3. Découverte de pairs, traversée NAT & hole punching

Les pairs s'enregistrent au démarrage auprès de serveurs relais publics open source pour traverser pare-feu et NAT et établir des connexions. Une fois connectés, iroh utilise le hole punching QUIC pour tenter une connexion peer-to-peer directe, contournant le relais. Si une connexion directe est possible, la communication se fait directement avec chiffrement de bout en bout ; sinon, le relais sert temporairement de repli. Cela permet des connexions fiables en réseau local et sur Internet.

4. QUIC & chiffrement

QUIC est un protocole de transport moderne basé sur UDP, conçu pour réduire la latence et améliorer les performances web par rapport à TCP. Développé initialement par Google et standardisé par l'IETF comme fondation de HTTP/3, il intègre TLS 1.3 directement dans le protocole.

QUIC permet les super-pouvoirs suivants :

  • chiffrement & authentification
  • multiplexage de flux
  • pas de blocage head-of-line
  • priorités de flux
  • un contrôleur de congestion partagé
  • un transport datagramme chiffré et non fiable
  • établissement de connexion sans temps de round-trip si vous vous êtes déjà connecté à un endpoint

5. Relais

AltSendme utilise des serveurs relais publics open source pour établir des connexions directes, accélérer les connexions initiales et servir de repli si les connexions directes échouent. Toutes les connexions sont chiffrées de bout en bout. Le relais est « juste un autre socket UDP » pour envoyer des paquets chiffrés. En savoir plus.

Sous le capot | AltSendme