Sotto il cofano

È come scp senza dover conoscere l'indirizzo IP. Aggiungi file ad AltSendme e otterrai un ticket incollabile da dare a chiunque abbia bisogno dei tuoi file. AltSendme collegherà i tuoi dispositivi direttamente e trasferirà i dati senza account o configurazione.

Grafica hero AltSendme

Concetti importanti

1. Blobs

Archiviazione e trasferimento di blob indirizzati per contenuto. iroh-blobs implementa trasferimenti request/response e in streaming di blob di byte di dimensione arbitraria, con stream verificati BLAKE3 e link indirizzati per contenuto.

  • Blob: una sequenza opaca di byte (senza metadati incorporati).
  • Link: un hash BLAKE3 a 32 byte che identifica un blob.
  • HashSeq: un blob che contiene una sequenza di link (utile per chunking/alberi).
  • Provider / Requester: il provider serve i dati; il requester li recupera. Un endpoint può essere entrambi.

2. Tickets

I ticket sono un modo per condividere informazioni di connessione tra endpoint iroh. Sono un singolo token con tutto il necessario per connettersi a un altro endpoint o recuperare un blob. Contiene NodeIds Ed25519: l'identità crittografica del tuo dispositivo per l'autenticazione. Vale la pena sottolineare che questo setup è nettamente migliore dei sistemi peer-to-peer completi che diffondono il tuo IP. In iroh, i ticket formano una "cozy network" tra i peer con cui vuoi connetterti esplicitamente. È possibile andare in "full p2p" e configurare l'app per diffondere i dettagli di connessione, ma i ticket rappresentano un migliore compromesso predefinito.

3. Peer Discovery, NAT Traversal e Hole Punching

I peer si registrano all'avvio su server relay pubblici open source per attraversare firewall e NAT e stabilire connessioni. Una volta connessi, iroh usa QUIC hole punching per tentare una connessione peer-to-peer diretta, bypassando il relay. Se la connessione diretta è possibile, la comunicazione avviene direttamente con crittografia end-to-end; altrimenti il relay opera temporaneamente come fallback. Questo consente connessioni affidabili in rete locale e su Internet.

4. QUIC e crittografia

QUIC è un protocollo di trasporto moderno basato su UDP, progettato per ridurre la latenza e migliorare le prestazioni web rispetto a TCP. Sviluppato originariamente da Google e ora standardizzato dall'IETF come base di HTTP/3, integra TLS 1.3 direttamente nel protocollo.

QUIC consente i seguenti super-poteri:

  • crittografia e autenticazione
  • multiplexing degli stream
  • nessun problema di head-of-line blocking
  • priorità degli stream
  • un unico controller di congestione condiviso
  • un trasporto datagramma crittografato e inaffidabile
  • stabilimento connessione zero round-trip se ti sei già connesso a un altro endpoint

5. Relay

AltSendme usa server relay pubblici open source per stabilire connessioni dirette, accelerare i tempi di connessione iniziali e fornire un fallback se le connessioni dirette falliscono. Tutte le connessioni sono crittografate end-to-end. Il relay è "solo un altro socket UDP" per inviare pacchetti crittografati. Scopri di più.

Sotto il cofano | AltSendme