• This repository has been archived on 03/Nov/2023
  • Stars
    star
    2,775
  • Rank 16,325 (Top 0.4 %)
  • Language
  • Created almost 3 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

TUIC

Delicately-TUICed 0-RTT proxy protocol

Warning: TUIC's dev branch is under heavy development. For end-user, please check out the latest released tag

Introduction

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 protocol, but you can use it with any other protocol, e.g. TCP, in theory

When paired with QUIC, TUIC can achieve:

  • 0-RTT TCP proxying
  • 0-RTT UDP proxying with NAT type Full Cone
  • 0-RTT authentication
  • Two UDP proxying modes:
    • native: Having characteristics of native UDP mechanism
    • quic: Transferring UDP packets losslessly using QUIC streams
  • Fully multiplexed
  • All the advantages of QUIC, including but not limited to:
    • Bidirectional user-space congestion control
    • Optional 0-RTT connection handshake
    • Connection migration

Fully-detailed TUIC protocol specification can be found in SPEC.md

Overview

There are 4 crates provided in this repository:

  • tuic - Library. The protocol itself, protocol & model abstraction, synchronous / asynchronous marshalling
  • tuic-quinn - Library. A thin layer on top of quinn to provide functions of TUIC
  • tuic-server - Binary. Minimalistic TUIC server implementation as a reference
  • tuic-client - Binary. Minimalistic TUIC client implementation as a reference

License

Code in this repository is licensed under GNU General Public License v3.0

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

More Repositories

1

materiality-typecho-theme

一款简洁并专注于显示文字内容的 Material Design 风格 Typecho 主题,基于 MDUI
PHP
83
star
2

socks5-server

Fine-grained, relatively low-level asynchronized SOCKS5 server library based on tokio
Rust
41
star
3

eaimty_bot

个人用 Telegram Bot
Rust
13
star
4

prefix_tree_map

A Rust implementation of generic prefix tree (trie) map with wildcard capture support
Rust
6
star
5

telegram-bot-on-worker

Create serverless Telegram bot using Cloudflare Workers and grammY
TypeScript
5
star
6

hummingbird

A lightweight and blazing fast content management system using git repo as the database
Rust
5
star
7

gamie

A Rust library provides abstractions for several classic tiny games.
Rust
5
star
8

eaimty.github.io

HTML
4
star
9

bing-dict-rs

Use Bing Dictionary to translate words and phrases between English and Chinese
Rust
2
star
10

jsave

Persist serializable in-memory data in the JSON format
Rust
1
star
11

cf-worker-http-client

Rust
1
star
12

typecho_material_theme

已不再更新,请使用materiality-typecho-theme: https://github.com/EAimTY/materiality-typecho-theme
PHP
1
star
13

bing-dict-telegram-bot

A Telegram bot using Bing Dictionary to translate words and phrases between English and Chinese
Rust
1
star
14

zsh-rustup-completion

rustup & cargo zsh-completions profile, for using antigen
Shell
1
star
15

telegram_bot_api_types

Rust
1
star
16

clash-config.eaimty.com

TypeScript
1
star
17

xuanwu

A simple command line front end of pangu which could automatically insert whitespace between CJK and half-width characters
Rust
1
star
18

register-count

Counting `Register`s created by a `Counter`
Rust
1
star
19

covid19_checkin

某校健康信息系统打卡脚本
PHP
1
star
20

teledustry

Manage your Mindustry game server through Telegram bot
Rust
1
star