update README.md
This commit is contained in:
parent
6e91fc99f1
commit
13065e92b3
12
README.md
12
README.md
@ -6,7 +6,7 @@ Delicately-TUICed 0-RTT proxy protocol
|
||||
|
||||
## Introduction
|
||||
|
||||
TUIC is a proxy protocol focusing on the simplicity. It aims to minimize the additional handshake latency caused by relaying as much as possible
|
||||
TUIC is a proxy protocol focusing on minimize the additional handshake latency caused by relaying as much as possible, as well as keeping the protocol itself being simple and easy to implement
|
||||
|
||||
TUIC is originally designed to be used on top of the [QUIC](https://en.wikipedia.org/wiki/QUIC) protocol, but you can use it with any other protocol, e.g. TCP, in theory
|
||||
|
||||
@ -19,10 +19,12 @@ When paired with QUIC, TUIC can achieve:
|
||||
- `native`: Having characteristics of native UDP mechanism
|
||||
- `quic`: Transferring UDP packets losslessly using QUIC streams
|
||||
- Fully multiplexed
|
||||
- All the advantages of QUIC:
|
||||
- All the advantages of QUIC, including but not limited to:
|
||||
- Bidirectional user-space congestion control
|
||||
- Connection migration
|
||||
- Optional 0-RTT connection handshake
|
||||
- Connection migration
|
||||
|
||||
Fully-detailed TUIC protocol specification can be found in [SPEC.md](https://github.com/EAimTY/tuic/blob/dev/SPEC.md)
|
||||
|
||||
## Overview
|
||||
|
||||
@ -35,4 +37,6 @@ There are 4 crates provided in this repository:
|
||||
|
||||
## License
|
||||
|
||||
GNU General Public License v3.0
|
||||
Code in this repository is licensed under [GNU General Public License v3.0](https://github.com/EAimTY/tuic/blob/dev/LICENSE)
|
||||
|
||||
However, the concept of the TUIC protocol is license-free. You can implement, modify, and redistribute the protocol without any restrictions, even for commercial use
|
||||
|
@ -5,6 +5,12 @@ Minimalistic TUIC client implementation as a reference
|
||||
[![Version](https://img.shields.io/crates/v/tuic-client.svg?style=flat)](https://crates.io/crates/tuic-client)
|
||||
[![License](https://img.shields.io/crates/l/tuic-client.svg?style=flat)](https://github.com/EAimTY/tuic/blob/dev/LICENSE)
|
||||
|
||||
# Overview
|
||||
|
||||
The main goal of this TUIC client implementation is not to provide a full-featured, production-ready TUIC client, but to provide a minimal reference for the TUIC protocol client implementation.
|
||||
|
||||
This implementation only contains the most basic requirements of a functional TUIC protocol client. If you are looking for features like HTTP-inbound, load-balance, etc., try other implementations, or implement them yourself.
|
||||
|
||||
## Usage
|
||||
|
||||
Download the latest binary from [releases](https://github.com/EAimTY/tuic/releases).
|
||||
@ -132,12 +138,6 @@ tuic-client -c PATH/TO/CONFIG
|
||||
}
|
||||
```
|
||||
|
||||
## Opinions on Advanced Features
|
||||
|
||||
This TUIC client implementation is intended to be minimalistic. It is mainly used as a reference and verification of the TUIC protocol specification.
|
||||
|
||||
This implementation only contains the most basic requirements of a functional TUIC protocol client. It does not includes any advanced features, such as outbound control, obfuscation, etc. If you want them, try other implementations, or implement them yourself.
|
||||
|
||||
## License
|
||||
|
||||
GNU General Public License v3.0
|
||||
|
@ -10,7 +10,7 @@ A thin layer on top of [quinn](https://github.com/quinn-rs/quinn) to provide fun
|
||||
|
||||
This crate provides a wrapper [`Connection`](https://docs.rs/tuic-quinn/latest/tuic_quinn/struct.Connection.html) around [`quinn::Connection`](https://docs.rs/quinn/latest/quinn/struct.Connection.html). It can be used to perform TUIC operations.
|
||||
|
||||
Note that there is no TUIC protocol flow state machine abstraction in this crate. You need to implement it yourself.
|
||||
Note that there is no state machine abstraction for the TUIC protocol flow in this crate. You need to implement it yourself.
|
||||
|
||||
## License
|
||||
|
||||
|
@ -5,6 +5,12 @@ Minimalistic TUIC server implementation as a reference
|
||||
[![Version](https://img.shields.io/crates/v/tuic-server.svg?style=flat)](https://crates.io/crates/tuic-server)
|
||||
[![License](https://img.shields.io/crates/l/tuic-server.svg?style=flat)](https://github.com/EAimTY/tuic/blob/dev/LICENSE)
|
||||
|
||||
# Overview
|
||||
|
||||
The main goal of this TUIC server implementation is not to provide a full-featured, production-ready TUIC server, but to provide a minimal reference for the TUIC protocol server implementation.
|
||||
|
||||
This implementation only contains the most basic requirements of a functional TUIC protocol server. If you are looking for features like outbound-control, DNS-caching, etc., try other implementations, or implement them yourself.
|
||||
|
||||
## Usage
|
||||
|
||||
Download the latest binary from [releases](https://github.com/EAimTY/tuic/releases).
|
||||
@ -103,12 +109,6 @@ tuic-server -c PATH/TO/CONFIG
|
||||
}
|
||||
```
|
||||
|
||||
## Opinions on Advanced Features
|
||||
|
||||
This TUIC server implementation is intended to be minimalistic. It is mainly used as a reference and verification of the TUIC protocol specification.
|
||||
|
||||
This implementation only contains the most basic requirements of a functional TUIC protocol server. It does not includes any advanced features, such as outbound control, obfuscation, etc. If you want them, try other implementations, or implement them yourself.
|
||||
|
||||
## License
|
||||
|
||||
GNU General Public License v3.0
|
||||
|
@ -8,22 +8,22 @@ Delicately-TUICed 0-RTT proxy protocol
|
||||
|
||||
## Overview
|
||||
|
||||
The TUIC protocol specification can be found in [SPEC.md](https://github.com/EAimTY/tuic/blob/dev/tuic/SPEC.md). This crate provides the low-level abstract of the TUIC protocol in Rust.
|
||||
The TUIC protocol specification can be found in [SPEC.md](https://github.com/EAimTY/tuic/blob/dev/SPEC.md). This crate provides the low-level abstract of the TUIC protocol in Rust.
|
||||
|
||||
Some optional features that can be enabled:
|
||||
|
||||
- `model` - Provides a model of the TUIC protocol, with packet fragmentation and task counter built-in. No I/O operation is involved.
|
||||
- `model` - Provides a connection model abstraction of the TUIC protocol, with packet fragmentation and task counter built-in. No I/O operation is involved.
|
||||
- `marshal` - Provides methods for (un)marsalling the protocol in sync flavor.
|
||||
- `async_marshal` - Provides methods for (un)marsalling the protocol in async flavor.
|
||||
|
||||
The root of the protocol abstraction is the [`Header`](https://docs.rs/tuic/latest/tuic/enum.Header.html).
|
||||
|
||||
## Semantic Versioning Syntax
|
||||
## Versioning Syntax
|
||||
|
||||
```
|
||||
5.0.0-rc0
|
||||
^ ^ ^ ^
|
||||
| | | |- Pre-release version
|
||||
| | | |- Pre-release version, considered to be unstable
|
||||
| | |---- Patch version, no breaking changes
|
||||
| |------ Major version of a specific TUIC protocol version, may have breaking changes
|
||||
|-------- TUIC protocol version
|
||||
@ -37,4 +37,6 @@ tuic = "5.0.*"
|
||||
|
||||
## License
|
||||
|
||||
GNU General Public License v3.0
|
||||
This library is licensed under [GNU General Public License v3.0](https://github.com/EAimTY/tuic/blob/dev/LICENSE)
|
||||
|
||||
However, the concept of the TUIC protocol is license-free. You can implement, modify, and redistribute the protocol without any restrictions, even for commercial use
|
||||
|
Loading…
Reference in New Issue
Block a user