本文へスキップ

quiche

トレンド活発
cloudflare/quiche

Cloudflare による QUIC トランスポートプロトコルと HTTP/3 の Rust 実装。Cloudflare のエッジ、Android、curl で使われています。

GitHub で見る
スター
1.3万
フォーク
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.

共通のカテゴリとタグで順位付けした、似たオープンソースプロジェクトです。

すべてのネットワークプロジェクト →