Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

tuic-5.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 08 Jun 07:37

Version
Documentation
License

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 and FRAG_ID in header command Packet (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