
USTP का सुरक्षित (AEAD के साथ) संस्करण, जिसे USTP-Secure (ustps://) कहा जाता है
USTP का अर्थ है UDP Speedy Transmission Protocol।
USTP वही प्रमाणित ट्रांसपोर्ट मॉडल बनाए रखता है, लेकिन परियोजना का नाम अब फिर से केवल USTP है।
डिफ़ॉल्ट रूप से, USTP DATA के लिए AEAD का उपयोग करता है।
यह DATA के लिए एक वैकल्पिक रूप से नेगोशिएटेड cleartext + HMAC मोड का भी समर्थन करता है, जिसमें पेलोड बाइट्स वायर पर दिखाई देते हैं लेकिन छेड़छाड़ का पता लगाया और अस्वीकार किया जाता है।
USTP अब USTP Congestion नामक एक वैकल्पिक कंजेशन कंट्रोलर का समर्थन करता है। यह अभी भी UDP-प्रथम है, लेकिन जब पथ कंजेशन संकेत दिखाने लगता है तो यह वैकल्पिक रूप से धीमा हो सकता है और फिर से गति बढ़ा सकता है।
स्थिति: Beta
USTP अब केवल एक प्रूफ ऑफ कॉन्सेप्ट नहीं है। यह वर्तमान में Beta चरण में है।
USTP का उपयोग कई प्रकार के अनुप्रयोगों और ट्रांसपोर्ट के लिए किया जा सकता है।
हालाँकि, यह रिपॉज़िटरी विशेष रूप से USTP पर स्ट्रीमिंग पर केंद्रित है।
02/08/2026: USTP-Secure अब वापस USTP हो गया है।
USTP-Secure एक पुराना परियोजना नाम था और अब परियोजना के लिए उपयुक्त नहीं है।USTP नाम अब फिर से पसंदीदा है।UDP Speedy Transmission Protocol है, शीर्षक में Secure के बिना।2026-07-18: USTP/2 Beta को वर्तमान ट्री से हटा दिया गया।
Codex के साथ GPT-5.4 (Low) का उपयोग करके बनाया गया।--loss 33 पर फ्रीज़ होने के बिना सत्यापित किया गया।Brazil -> Canada लगभग 140ms RTT के साथ।chacha20 = CHACHA20_POLY1305aes-256-gcm = AES_256_GCMaes-128-gcm = AES_128_GCMchacha20DATA सुरक्षा मोड AEAD है।DATA सुरक्षा मोड cleartext + प्रति-पैकेट HMAC है।HELLO, ACK, RETRANSMIT_REQUEST, CLOSE) जानबूझकर plaintext रहते हैं।ACK और NACK/RETRANSMIT_REQUEST plaintext रहते हैं, लेकिन प्रति-सत्र HMAC टैग के साथ प्रमाणित होते हैं।DATA पैकेट्स UPACK (वायर पर UPAK) नामक बाइनरी फ्रेम प्रारूप का उपयोग करते हैं।IP:port पर चैलेंज राउंड-ट्रिप के साथ क्लाइंट को सत्यापित करता है।--cipher सेट है, तो सर्वर उसी सिफर का उपयोग करता है।--cipher छोड़ा गया है या auto पर सेट है, तो सर्वर क्लाइंट द्वारा अनुरोधित सिफर का उपयोग करता है।DATA सुरक्षा मोड सिफर चयन से अलग नेगोशिएट किया जाता है:
--cleartext auto|on|off--cleartext on|offautooffauto के साथ, सर्वर क्लाइंट अनुरोध का पालन करता है।on के साथ, सर्वर cleartext + HMAC को बाध्य करता है।off के साथ, सर्वर AEAD को बाध्य करता है।~/.ustps_host_key में एक स्थायी X25519 होस्ट कुंजी रखता है ताकि TOFU पुनःकनेक्शन और पुनःआरंभ के दौरान स्थिर रहे।--regen-key का उपयोग केवल तब करें जब आप जानबूझकर उस होस्ट कुंजी को रोटेट करना चाहते हों।ACK:, NACK:, HELLO:, और CLOSE: प्लेनटेक्स्ट कंट्रोल रिकॉर्ड प्रीफ़िक्स हैं।USS1 का अर्थ है UDP Speedy Secure, संस्करण 1।USC1 का अर्थ है UDP Speedy Clear, संस्करण 1।UPAK बाइनरी UPACK DATA फ़्रेम मार्कर है।ACK: 10, NACK: 42, HELLO: ..., और CLOSE:।UPAK डिक्रिप्शन के बाद बाइनरी DATA पैकेट्स को पहचानता है।USS1 बाहरी सुरक्षित AEAD एनवेलप फ़ॉर्मेट है।USC1 बाहरी क्लियरटेक्स्ट+HMAC DATA एनवेलप फ़ॉर्मेट है।DATA के लिए USS1...DATA के लिए USC1...USTP Congestion के साथ चल सकता है, जिस पर हैंडशेक के दौरान बातचीत होती है।seq और एप्लिकेशन-उन्मुख stream_pos दोनों होते हैं।seq का उपयोग ACK, लॉस डिटेक्शन, रीट्रांसमिशन, और RTT सैंपलिंग के लिए किया जाता है।stream_pos एप्लिकेशन को बताता है कि पेलोड लॉजिकल बाइट स्ट्रीम में कहाँ belongs है।seq एक 32-बिट काउंटर है जो प्रत्येक नए सत्र के लिए 1 से शुरू होता है।stream_pos एक 64-बिट बाइट काउंटर है जो प्रत्येक नए लॉजिकल स्ट्रीम के लिए 0 से शुरू होता है।HELLO से शुरू करता है जिसमें उसकी X25519 पब्लिक की, अनुरोधित साइफ़र, अनुरोधित कंजेशन-कंट्रोल मोड (on या off), और अनुरोधित DATA प्रोटेक्शन मोड (cleartext on|off) होता है।session_idDATA प्रोटेक्शन मोडDATA भेजना शुरू करता है।IP:port से बंध जाता है जिसने चैलेंज पूरा किया।session_id अभी भी सत्र लेबल के रूप में उपयोग किया जाता है, लेकिन इसे किसी भिन्न IP:port से स्वीकार नहीं किया जाता है।HELLO भेजता हैUSTPS-CHALLENGE1 के साथ उत्तर देता है जिसमें token, session_id, चयनित साइफ़र, बातचीत किया गया कंजेशन-कंट्रोल मोड, बातचीत किया गया DATA प्रोटेक्शन मोड, और सर्वर पब्लिक की होता हैUSTPS-CHALLENGE-REPLY1 में वापस प्रतिध्वनित करता हैUSTPS-SESSION1 भेजता हैIP:port पर प्रेषक वास्तव में वहाँ पैकेट्स प्राप्त कर सकता हैUSTP है, लेकिन कई ऑन-वायर ASCII पहचानकर्ता अभी भी ऐतिहासिक USTPS-* प्रीफ़िक्स का उपयोग करते हैं।USTPS-KEX1USTPS-CHALLENGE1USTPS-CHALLENGE-REPLY1USTPS-SESSION1USTPS-RESUME1USTPS-RTT1USTP में बदल गया, लेकिन उन ऐतिहासिक वायर पहचानकर्ताओं को प्रोटोकॉल बाइट्स में पुनः नामित नहीं किया गया।