QUICHE 库:Google 开发的 QUIC 和 HTTP/3 协议的底层实现。 核心网络功能。Chromium 使用 QUICHE 来处理所有 QUIC 和 H/3 网络请求,这是现代 Web 加速的关键。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 3 年前 | ||
| 3 个月前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 7 个月前 | ||
| 8 个月前 | ||
| 28 天前 | ||
| 2 个月前 | ||
| 8 个月前 | ||
| 3 年前 |
QUICHE
QUICHE 是 QUIC、Http 等(QUIC, Http, Etc.)的缩写。它是 Google 开发的成熟生产级实现,支持 QUIC、HTTP/2、HTTP/3 及相关协议与工具。Google 的服务器、Chromium、Envoy 以及其他项目均采用此库提供支持。目前,QUICHE 仍在积极开发和维护中。
QUICHE 有两个公开的代码仓库。由于两者会自动保持同步,嵌入方可以选择任意一个使用:
要在您的项目中嵌入 QUICHE,需要实现平台 API 并创建构建文件。请注意,QUICHE 团队已将“为所有平台 API 提供默认实现”以及“开源构建文件”列入路线图。在此期间,您可以参考 Chromium 和 Envoy 等开源嵌入方的实现来开始:
如要为 QUICHE 贡献代码,请遵循 CONTRIBUTING.md 中的说明。
QUICHE 仅支持小端序平台。
构建并运行独立的 QUICHE
QUICHE 提供可在 Linux 平台上运行的二进制文件。
请按照 说明 安装 Bazel。
sudo apt install libicu-dev clang lld
cd <directory that will be the root of your quiche implmentation>
git clone https://github.com/google/quiche.git
cd quiche
CC=clang bazel build -c opt //...
./bazel-bin/quiche/<target_name> <arguments>
有多个可构建并运行的目标。通过在任何二进制文件上使用 --helpfull 标志,可以获取完整的使用说明。
- quic_packet_printer:根据提供的数据包,解析并打印无需解密即可访问的内容。
用法:quic_packet_printer server|client <数据包的十六进制转储>
- crypto_message_printer:以人类可读的格式转储 QUIC 加密握手消息的内容。
用法:crypto_message_printer_bin <消息的十六进制>
- quic_client:使用 QUIC 和 HTTP/3 连接到主机,向提供的 URL 发送请求,并显示响应。
用法:quic_client <URL>
-
quic_server:在 --port(默认 6121)上永久监听,直到通过 ctrl-c 停止。
-
masque_client:通过已识别的代理隧道传输到 URL(参见 RFC 9298)。
用法:masque_client [选项] <代理 URL> <URLs>
- masque_server:MASQUE 隧道代理,默认端口为 9661。
用法:masque_server
-
web_transport_test_server:客户端可通过 WebTransport 连接的服务器。
-
moqt_relay:媒体覆盖 QUIC 传输的中继,发布者和订阅者可连接到该中继。
用法:moqt_relay
项目介绍
QUICHE 库:Google 开发的 QUIC 和 HTTP/3 协议的底层实现。 核心网络功能。Chromium 使用 QUICHE 来处理所有 QUIC 和 H/3 网络请求,这是现代 Web 加速的关键。
https://gitcode.com/openharmony-sig/chromium_quiche定制我的领域