quic-go/quic-go
GitHub: quic-go/quic-go
纯 Go 语言实现的 QUIC 协议栈,完整支持 HTTP/3 及多种 QUIC 扩展,广泛用于 Web 服务、代理隧道和 P2P 网络等场景。
Stars: 11551 | Forks: 1548
# 纯 Go 实现的 QUIC
[](https://quic-go.net/docs/)
[](https://pkg.go.dev/github.com/quic-go/quic-go)
[](https://codecov.io/gh/quic-go/quic-go/)
[](https://issues.oss-fuzz.com/issues?q=quic-go)
quic-go 是 QUIC 协议([RFC 9000](https://datatracker.ietf.org/doc/html/rfc9000)、[RFC 9001](https://datatracker.ietf.org/doc/html/rfc9001)、[RFC 9002](https://datatracker.ietf.org/doc/html/rfc9002))的 Go 语言实现。它支持 HTTP/3([RFC 9114](https://datatracker.ietf.org/doc/html/rfc9114)),包括 QPACK([RFC 9204](https://datatracker.ietf.org/doc/html/rfc9204))和 HTTP Datagrams([RFC 9297](https://datatracker.ietf.org/doc/html/rfc9297))。
除了这些基础 RFC 之外,它还实现了以下 RFC:
* 不可靠数据报扩展([RFC 9221](https://datatracker.ietf.org/doc/html/rfc9221))
* 数据报分组层路径 MTU 发现(DPLPMTUD,[RFC 8899](https://datatracker.ietf.org/doc/html/rfc8899))
* QUIC 版本 2([RFC 9369](https://datatracker.ietf.org/doc/html/rfc9369))
* 使用 qlog 的 QUIC 事件日志记录([draft-ietf-quic-qlog-main-schema](https://datatracker.ietf.org/doc/draft-ietf-quic-qlog-main-schema/) 和 [draft-ietf-quic-qlog-quic-events](https://datatracker.ietf.org/doc/draft-ietf-quic-qlog-quic-events/))
* 支持部分交付的 QUIC 流重置([draft-ietf-quic-reliable-stream-reset](https://datatracker.ietf.org/doc/html/draft-ietf-quic-reliable-stream-reset-07))
基于 HTTP/3 的 WebTransport 支持([draft-ietf-webtrans-http3](https://datatracker.ietf.org/doc/draft-ietf-webtrans-http3/))在 [webtransport-go](https://github.com/quic-go/webtransport-go) 中实现。
详细的文档可以在 [quic-go.net](https://quic-go.net/docs/) 找到。
## 使用 quic-go 的项目
| 项目 | 描述 | Stars |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [AdGuardHome](https://github.com/AdguardTeam/AdGuardHome) | 免费、开源、功能强大的全网广告和跟踪器拦截 DNS 服务器。 |  |
| [algernon](https://github.com/xyproto/algernon) | 小巧、独立、纯 Go 编写的 Web 服务器,支持 Lua、Markdown、HTTP/2、QUIC、Redis 和 PostgreSQL |  |
| [caddy](https://github.com/caddyserver/caddy/) | 快速、跨平台的 Web 服务器,支持自动 HTTPS |  |
| [cloudflared](https://github.com/cloudflare/cloudflared) | 将流量从 Cloudflare 网络代理到您的本地源的隧道守护进程 |  |
| [frp](https://github.com/fatedier/frp) | 一个快速的反向代理,帮助您将位于 NAT 或防火墙之后的本地服务器暴露到互联网 |  |
| [go-libp2p](https://github.com/libp2p/go-libp2p) | Go 语言实现的 libp2p,为 [Kubo](https://github.com/ipfs/kubo) (IPFS) 和 [Lotus](https://github.com/filecoin-project/lotus) (Filecoin) 等提供动力 |  |
| [gost](https://github.com/go-gost/gost) | 一个用 Go 编写的简单安全隧道 |  |
| [Hysteria](https://github.com/apernet/hysteria) | 一个强大、极速且抗审查的代理工具 |  |
| [Mercure](https://github.com/dunglas/mercure) | 一个开放、简单、快速、可靠且节能的实时通信解决方案 |  |
| [nodepass](https://github.com/NodePassProject/nodepass) | 一个安全、高效的 TCP/UDP 隧道解决方案,利用预先建立的 TCP/QUIC/WebSocket 或 HTTP/2 连接,提供跨网络限制的快速、可靠访问。 |  |
| [OONI Probe](https://github.com/ooni/probe-cli) | 下一代 OONI Probe。库和命令行工具。 |  |
| [reverst](https://github.com/flipt-io/reverst) | 通过 HTTP/3 和 QUIC 实现的 Go 反向隧道 |  |
| [RoadRunner](https://github.com/roadrunner-server/roadrunner) | 高性能 PHP 应用服务器,使用 Go 编写的进程管理器,并由插件提供支持 |  |
| [syncthing](https://github.com/syncthing/syncthing/) | 开源的持续文件同步工具 |  |
| [traefik](https://github.com/traefik/traefik) | 云原生应用代理 |  |
| [v2ray-core](https://github.com/v2fly/v2ray-core) | 用于构建代理以绕过网络限制的平台 |  |
| [YoMo](https://github.com/yomorun/yomo) | 面向地理位置分布式系统的流式 Serverless 框架 |  |
如果您希望将您的项目添加到此列表中,请向我们提交 PR。
## 发布策略
quic-go 始终致力于支持最新的两个 Go 版本。
## 贡献
我们始终乐于欢迎新的贡献者!我们有许多独立的 issue 非常适合首次贡献者,它们被标记为[寻求帮助](https://github.com/quic-go/quic-go/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)。如果您有任何问题,请随时通过开启 issue 或发表评论来联系我们。
## 许可证
代码使用 MIT 许可证授权。Logo 和品牌资产不在 MIT 许可证的范围内。有关完整的使用政策和详细信息,请参阅 [assets/LICENSE.md](https://github.com/quic-go/quic-go/tree/master/assets/LICENSE.md)。
标签:EVTX分析, HTTP/3, MTU发现, QPACK, QUIC协议, RFC 9000, SIP/QUIC, UDP通信, WebTransport, 不可靠数据报, 互联网标准, 传输层安全, 低延迟网络, 协议实现, 开源网络组件, 微服务通信, 日志审计, 流复位, 纯Go语言, 网络协议栈, 网络库, 网络编程, 高并发网络