
Version sécurisée (avec AEAD) d'USTP, appelée USTP-Secure (ustps://)
USTP signifie UDP Speedy Transmission Protocol.
USTP conserve le même modèle de transport authentifié, mais le nom du projet est désormais simplement USTP à nouveau.
Par défaut, USTP utilise AEAD pour DATA.
Il prend également en charge un mode optionnel négocié cleartext + HMAC pour DATA, où les octets de charge utile sont visibles sur le réseau mais toute altération est détectée et rejetée.
USTP prend désormais en charge un contrôleur de congestion optionnel appelé USTP Congestion. Il reste prioritairement basé sur UDP, mais il peut éventuellement ralentir et remonter en débit lorsque le chemin commence à montrer des signaux de congestion.
Statut : Beta
USTP n'est plus seulement une preuve de concept. Il est actuellement en phase Beta.
USTP peut être utilisé pour de nombreux types d'applications et de transports.
Ce dépôt, cependant, se concentre spécifiquement sur le streaming sur USTP.
02/08/2026 : USTP-Secure redevient USTP.
USTP-Secure était un ancien nom de projet qui ne convient plus au projet.USTP est désormais à nouveau préféré.UDP Speedy Transmission Protocol, sans Secure dans le titre.2026-07-18 : USTP/2 Beta a été retiré de l'arborescence actuelle.
Codex en utilisant GPT-5.4 (Low).--loss 33.Brazil -> Canada avec environ 140ms de RTT.chacha20 = CHACHA20_POLY1305aes-256-gcm = AES_256_GCMaes-128-gcm = AES_128_GCMchacha20DATA par défaut est AEAD.DATA optionnel est cleartext + HMAC par paquet.HELLO, ACK, RETRANSMIT_REQUEST, CLOSE) restent en clair volontairement.ACK et NACK/RETRANSMIT_REQUEST restent en clair, mais sont authentifiés avec un tag HMAC par session.DATA utilisent un format de trame binaire nommé UPACK (UPAK sur le réseau).IP:port source.--cipher est défini sur le serveur, le serveur utilise exactement ce chiffrement.--cipher est omis ou défini sur auto, le serveur utilise le chiffrement demandé par le client.DATA est négocié séparément du choix du chiffrement :
--cleartext auto|on|off--cleartext on|offautooffauto, le serveur suit la demande du client.on, le serveur force cleartext + HMAC.off, le serveur force AEAD.~/.ustps_host_key par défaut afin que TOFU reste stable entre les reconnexions et les redémarrages.--regen-key sur le serveur uniquement lorsque vous souhaitez intentionnellement faire tourner cette clé d'hôte.ACK:, NACK:, HELLO: et CLOSE: sont les préfixes des enregistrements de contrôle en clair.USS1 signifie UDP Speedy Secure, version 1.USC1 signifie UDP Speedy Clear, version 1.UPAK est le marqueur binaire de trame DATA UPACK.ACK: 10, NACK: 42, HELLO: ... et CLOSE:.UPAK identifie les paquets DATA binaires après déchiffrement.USS1 est le format d'enveloppe AEAD sécurisée externe.USC1 est le format d'enveloppe DATA en clair+HMAC externe.USS1... pour les DATA protégées par AEADUSC1... pour les DATA en clair+HMACUSTP Congestion optionnel, négocié pendant la poignée de main.seq de transport et un stream_pos destiné à l'application.seq est utilisé pour l'ACK, la détection de perte, la retransmission et l'échantillonnage du RTT.stream_pos indique à l'application où la charge utile se situe dans le flux d'octets logique.seq est un compteur 32 bits qui commence à 1 pour chaque nouvelle session.stream_pos est un compteur d'octets 64 bits qui commence à 0 pour chaque nouveau flux logique.HELLO de transport en clair portant sa clé publique X25519, le chiffrement demandé, le mode de contrôle de congestion demandé (on ou off) et le mode de protection DATA demandé (cleartext on|off).session_id Base64 généréDATA négociéDATA.IP:port qui a complété le défi.session_id est toujours utilisé comme étiquette de session, mais il n'est pas accepté depuis une autre IP:port.