跳到正文

quiche

热门趋势活跃
cloudflare/quiche

Cloudflare 用 Rust 实现的 QUIC 传输协议和 HTTP/3,应用于 Cloudflare 边缘网络、Android 和 curl。

在 GitHub 查看
星标
1.3万
Fork
1172
关注
1.3万
未关闭 Issue
382

该介绍目前仅提供英文版本。

Overview

quiche is Cloudflare’s implementation of the QUIC transport protocol and HTTP/3, written in Rust and following the IETF specifications. It powers HTTP/3 across Cloudflare’s edge network and is used well beyond it — Android’s DNS resolver relies on it for DNS over HTTP/3, and curl can be built with quiche to speak HTTP/3.

quiche deliberately provides a low-level API: it processes QUIC packets and manages connection state, while your application supplies the I/O (sockets) and an event loop with timers. That makes it easy to embed in existing networking stacks.

Key Features

  • QUIC transport and HTTP/3 per the IETF standards
  • Embeddable design: bring your own sockets and event loop
  • C API via the optional ffi feature, in addition to the native Rust API
  • Battle-tested at Cloudflare scale and in Android
  • Command-line tools (quiche-client, quiche-server) for experimenting and testing

Getting Started

Clone the repository, then try the example client against Cloudflare’s public QUIC test site:

git clone https://github.com/cloudflare/quiche
cd quiche
cargo run --bin quiche-client -- https://cloudflare-quic.com/

You can also start the example server with the bundled self-signed certificate:

cargo run --bin quiche-server -- --cert apps/src/bin/cert.crt --key apps/src/bin/cert.key

The example apps are for testing only and are not meant for production use. To use quiche in your own project, add the crate:

cargo add quiche

Who Uses quiche

  • Cloudflare — HTTP/3 support across the edge network
  • Android — DNS over HTTP/3 in the system resolver
  • curl — optional HTTP/3 backend

License

BSD 2-Clause License.

按共同分类和标签排序的同类开源项目。

全部网络项目 →