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

Releases: EAimTY/tuic

tuic-server-1.0.0

08 Jun 07:40
Compare
Choose a tag to compare

Version
License

The TUIC project has been totally refactored and has been split into 4 crates. The new version is not compatible with the old version.

Crate tuic-server is a minimalistic TUIC server implementation as a reference.

Comparing with version 0.8.5, changes:

  • Completely new codebase
  • Built on TUIC protocol version 5
  • A seperate IPv6 UDP socket can be enabled for relaying UDP packet on IPv6 stack
  • Dynamically increase incoming stream capacity
  • Treat dual-stack socket more transparently
  • New config send_window and receive_window
  • New config task_negotiation_timeout
  • Dropped command-line config input
  • New config file format
  • Various bug fixes and optimizations

tuic-quinn-0.1.0

08 Jun 07:37
Compare
Choose a tag to compare

Version
Documentation
License

The TUIC project has been totally refactored and has been split into 4 crates. Crate tuic-quinn is a thin layer on top of quinn to provide functions for TUIC. Features:

  • Initiate relay task without dealing with low-level protocol details
  • Parse incoming stream / datagram as TUIC commands
  • Abstraction for CONNECT and PACKET command

tuic-quinn only implemented the newest TUIC protocol version 5. Full protocol specification can be found at https://github.com/EAimTY/tuic/blob/a299ef02d9f4ab5a0edbf58b9998f41bf768b332/SPEC.md

tuic-client-1.0.0

08 Jun 07:40
Compare
Choose a tag to compare

Version
License

The TUIC project has been totally refactored and has been split into 4 crates. The new version is not compatible with the old version.

Crate tuic-client is a minimalistic TUIC client implementation as a reference.

Comparing with version 0.8.5, changes:

  • Completely new codebase
  • Built on TUIC protocol version 5
  • Replace the relay connection guard worker with a new mechanism that tasks mutual exclusively getting relay connection handler. This hugely reduced the code complexity and improved the performance
  • Dynamically increase incoming stream capacity
  • Treat dual-stack socket more transparently
  • New config send_window and receive_window
  • Dropped command-line config input
  • New config file format
  • Various bug fixes and optimizations

tuic-5.0.0

08 Jun 07:37
Compare
Choose a tag to compare

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

tuic-server-1.0.0-rc0

04 Jun 09:37
Compare
Choose a tag to compare
tuic-server-1.0.0-rc0 Pre-release
Pre-release

Version
License

  • Log fragment id as 1-indexed
  • Process not-yet-opened timed out / locally closed stream (fix #173, #174)
  • Remove lib.rs in binaries
  • Various improvement

tuic-client-1.0.0-rc0

04 Jun 09:38
Compare
Choose a tag to compare
tuic-client-1.0.0-rc0 Pre-release
Pre-release

Version
License

  • Send auth after connection fully established (fix #173)
  • Fix server name parsing
  • Remove lib.rs in binaries
  • Various improvement

tuic-server-1.0.0-beta0

30 May 12:14
Compare
Choose a tag to compare
Pre-release

Version
License

WARN: THIS IS AN EARLY VERSION AND MAY NOT WORKS AS EXPECTED. USE IT AT YOUR OWN RISK.

  • Fix UDP packet payload length check
  • Fix wrong calculated length of packet fragmentations
  • Tuned log information
  • Various improvement

tuic-quinn-0.1.0-beta0

30 May 12:11
Compare
Choose a tag to compare
Pre-release

Version
Documentation
License

WARN: THIS IS AN EARLY VERSION AND MAY NOT WORK AS EXPECTED. USE IT AT YOUR OWN RISK.

  • Upgrade dependency tuic to 5.0.0-rc0

tuic-quinn-0.1.0-alpha1

30 May 10:40
Compare
Choose a tag to compare
Pre-release

Version
Documentation
License

WARN: THIS IS AN EXTREMELY EARLY VERSION. IT GETS HIGH CHANCE NOT TO WORK AS EXPECTED. USE IT AT YOUR OWN RISK.

  • Fix bug in calculating fragmented packet size (#170)
  • Various improvement

tuic-client-1.0.0-beta0

30 May 12:14
Compare
Choose a tag to compare
Pre-release

Version
License

WARN: THIS IS AN EARLY VERSION AND MAY NOT WORK AS EXPECTED. USE IT AT YOUR OWN RISK.

  • Fix UDP packet payload length check
  • Fix wrong calculated length of packet fragmentations
  • Tuned log information
  • Various improvement