This repository has been archived by the owner on Nov 3, 2023. It is now read-only.
tuic-5.0.0
The TUIC project has been totally refactored and has been split into 4 crates. Crate tuic contains:
- Command header abstraction
- Non-IO protocol model abstraction, providing packet fragmentation, task counter, etc.
- Sync / async flavor command marshaling / unmarshaling
TUIC Protocol version 5 is the newest iteration of the TUIC protocol. It is not compatible with the previous versions. Changes include:
- 0-RTT TCP proxying
- UDP packet fragmentation
- Connection bound authentication using TLS Keying Material Exporter
- Better multi-user support
- Removing header command
Response
- Changing the size of header field
ASSOC_ID
from 32 bits to 16 bits - Adding new fields
PKT_ID
,FRAG_TOTAL
andFRAG_ID
in header commandPacket
(for fragmentation) - Header command
Heartbeat
is now being sent through datagrams - Rise the limit of error handling
Full protocol specification can be found at https://github.com/EAimTY/tuic/blob/a299ef02d9f4ab5a0edbf58b9998f41bf768b332/SPEC.md