Bibliothek / SDK
quic-go/quic-go avatar
quic-go/quic-go

quic-go: eine reine Go-Implementierung von QUIC mit HTTP/3-Unterstützung

Dieses Projekt rundet „A production-ready QUIC implementation in pure Go. FIPS 140-3 Starting with v0.60, quic-go supports use in FIPS 140-3 environments when built with Go 1.26 or newer, using Go standard library cryptography for the QUIC code paths relevant in FIPS mode; see FIPS140.md for details.“ zu einer praxistauglichen Open-Source-Lösung zusammen, mit wiederverwendbarer Tooling- und Integrationsunterstützung für reale Anwendungsfälle.

11.769 Sterne1.643 ForksGoMIT

Auf einen Blick

Was ist das?
Ein Repository, das QUIC, HTTP/3, QPACK und HTTP-Datagramme in Go implementiert und zusätzliche QUIC-Erweiterungen sowie FIPS 140-3 unterstützt.
Für wen ist es gedacht?
Das Repository definiert seinen Protokollumfang, listet Anwenderprojekte auf, setzt eine Unterstützung der letzten zwei Go-Versionen voraus und lizenziert den Code unter MIT, während Logo und Markenressourcen getrennt behandelt werden.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich Go, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Protokollumfang und RFCs

Abschnitt 1, Absatz 1: quic-go ist eine Implementierung des QUIC-Protokolls in Go, die auf RFC 9000, RFC 9001 und RFC 9002 aufbaut. Dieselbe Codebasis bietet HTTP/3 gemäß RFC 9114, einschließlich QPACK-Headerkomprimierung nach RFC 9204 und HTTP-Datagramme nach RFC 9297. Die Repository-Metadaten beschreiben das Projekt als produktionsreife QUIC-Implementierung in reinem Go. Die README nennt diese RFCs direkt, beschreibt aber weder die interne Architektur noch liefert sie Leistungszahlen. Prüfpunkt 1.1 für quic-go-quic-go-deep-analysis. Abschnitt 1 behandelt bei quic-go-quic-go-deep-analysis einen eigenen Prüfaspekt.

Erweiterungen über die Basis-RFCs hinaus

Abschnitt 2, Absatz 1: Neben den Basis-RFCs für QUIC und HTTP/3 listet die README Unterstützung für die Unreliable Datagram Extension (RFC 9221), Datagram Packetization Layer Path MTU Discovery (RFC 8899) und QUIC Version 2 (RFC 9369). Sie verfolgt außerdem zwei Entwurfsfassungen für qlog-Ereignisprotokollierung, draft-ietf-quic-qlog-main-schema und draft-ietf-quic-qlog-quic-events, sowie zwei Revisionen eines Entwurfs für QUIC-Stream-Resets mit teilweiser Zustellung, draft-ietf-quic-reliable-stream-reset-07 und -09. Die README sagt nicht, ob diese Funktionen standardmäßig aktiviert sind oder wie sie konfiguriert werden. Prüfpunkt 2.1 für quic-go-quic-go-deep-analysis. Abschnitt 2 behandelt bei quic-go-quic-go-deep-analysis einen eigenen Prüfaspekt.

WebTransport und Dokumentation

Abschnitt 3, Absatz 1: WebTransport über HTTP/3, basierend auf draft-ietf-webtrans-http3, ist nicht in diesem Repository implementiert. Die README verweist auf webtransport-go als separates Projekt, das diese Funktion bereitstellt. Ausführliche Dokumentation wird auf quic-go.net veröffentlicht, unter dem Pfad /docs/. Die README enthält keine Installationsbefehle, Schnellstartbeispiele oder API-Nutzungsbeispiele. Sie geht auch nicht über den Verweis hinaus auf die WebTransport-Unterstützung in diesem Repository ein. Prüfpunkt 3.1 für quic-go-quic-go-deep-analysis. Abschnitt 3 behandelt bei quic-go-quic-go-deep-analysis einen eigenen Prüfaspekt.

FIPS-140-3-Unterstützung

Abschnitt 4, Absatz 1: Ab Version v0.60 unterstützt quic-go den Einsatz in FIPS-140-3-Umgebungen, wenn es mit Go 1.26 oder neuer gebaut wird. In diesem Modus verwendet es für die FIPS-relevanten QUIC-Codepfade Kryptografie aus der Go-Standardbibliothek. Die README verweist auf FIPS140.md für Details und behauptet nicht, dass das Projekt selbst FIPS-zertifiziert ist. Sie sagt auch nicht, ob der FIPS-Modus die öffentliche API ändert oder über die Go-Version hinaus besondere Build-Flags erfordert. Prüfpunkt 4.1 für quic-go-quic-go-deep-analysis. Abschnitt 4 behandelt bei quic-go-quic-go-deep-analysis einen eigenen Prüfaspekt.

Projekte, die quic-go verwenden

Abschnitt 5, Absatz 1: Die README enthält eine Tabelle mit Projekten, die quic-go verwenden, mit Links und kurzen Beschreibungen. In der Liste stehen unter anderem AdGuardHome, Caddy, cloudflared, go-libp2p, Syncthing, Traefik, v2ray-core, Hysteria und OONI Probe. Die Sternzahlen in der Tabelle sind GitHub-Sterne der jeweiligen Projekte; die README erklärt nicht, wie diese Projekte quic-go einsetzen, sondern gibt nur eine einzeilige Beschreibung an. Sie bittet Projektverantwortliche, eine Pull-Anfrage zu senden, um ihr Projekt hinzuzufügen. Prüfpunkt 5.1 für quic-go-quic-go-deep-analysis. Abschnitt 5 behandelt bei quic-go-quic-go-deep-analysis einen eigenen Prüfaspekt.

Release-Richtlinie und Mitwirkung

Abschnitt 6, Absatz 1: Die Release-Richtlinie besagt, dass quic-go stets die letzten beiden Go-Versionen unterstützen möchte. Der Abschnitt zu Mitwirkung lädt neue Beitragende ein und verweist auf Issues mit dem Label help wanted als geeigneten Einstieg, die als eigenständig beschrieben werden. Laut README können Fragen durch Öffnen eines Issues oder Hinterlassen eines Kommentars gestellt werden. Ein konkreter Ablauf für Beiträge, Code-Review-Verfahren oder eine Maintainer-Struktur werden nicht beschrieben. Prüfpunkt 6.1 für quic-go-quic-go-deep-analysis. Abschnitt 6 behandelt bei quic-go-quic-go-deep-analysis einen eigenen Prüfaspekt.

Lizenz und Markenressourcen

Abschnitt 7, Absatz 1: Der Code ist unter der MIT-Lizenz veröffentlicht. Der Lizenzauszug gewährt das Recht, Kopien der Software zu verwenden, zu kopieren, zu modifizieren, zu fusionieren, zu veröffentlichen, zu verteilen, zu unterlizenzieren und zu verkaufen, unter der Bedingung, dass der Urheberrechtshinweis und der Genehmigungshinweis in allen Kopien oder wesentlichen Teilen enthalten sind. Die Urheberrechtszeile nennt die Autoren von quic-go und Google, Inc. Die Lizenz enthält den üblichen Haftungsausschluss, dass die Software ohne Gewährleistung bereitgestellt wird. Die README stellt klar, dass Logo und Markenressourcen nicht von der MIT-Lizenz umfasst sind und in assets/LICENSE.md separat geregelt werden. Prüfpunkt 7.1 für quic-go-quic-go-deep-analysis. Abschnitt 7 behandelt bei quic-go-quic-go-deep-analysis einen eigenen Prüfaspekt.

Redaktionelles Fazit

Das Repository definiert seinen Protokollumfang, listet Anwenderprojekte auf, setzt eine Unterstützung der letzten zwei Go-Versionen voraus und lizenziert den Code unter MIT, während Logo und Markenressourcen getrennt behandelt werden.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen