awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
quic-go avatar

quic-go/quic-go

0
View on GitHub↗
11,661 stars·1,578 forks·Go·MIT·22 viewsquic-go.net↗

Quic Go

This project is a high-performance implementation of the QUIC transport protocol, providing a library for establishing multiplexed, low-latency network connections over UDP. It serves as a foundational networking stack for building modern web servers and clients, with native support for HTTP/3 and WebTransport standards.

The library distinguishes itself through advanced connection management, including the ability to maintain stable sessions across changing network paths or IP addresses using connection identifiers. It optimizes data throughput by employing packet batching to reduce kernel overhead and dynamic flow control windowing to prevent congestion. Furthermore, it supports zero-round-trip handshake resumption, allowing clients to transmit application data immediately upon reconnection by reusing cached cryptographic state.

Beyond core transport capabilities, the project provides a comprehensive suite of tools for traffic regulation, network observability, and proxying. It includes mechanisms for bidirectional and unidirectional stream management, unreliable datagram transmission, and graceful connection termination. The implementation also handles complex scenarios such as NAT rebinding recovery, path MTU discovery, and protocol version negotiation to ensure reliable communication in diverse network environments.

The library is written in Go and provides a modular API for configuring transport parameters, managing concurrent streams, and integrating with existing network clients.

Features

  • Network Protocol Implementations - Provides a high-performance library for establishing multiplexed, low-latency network connections using the QUIC transport protocol.
  • Real-time Communication Libraries - Provides a framework for bidirectional, real-time data exchange between web clients and servers over secure transport protocols.
  • HTTP/3 Libraries - Builds high-performance web servers and clients that use the QUIC protocol to provide multiplexed, low-latency communication for modern web applications.
  • Connection Multiplexing - Provides a toolkit for managing multiple concurrent data streams and unreliable datagrams over a single encrypted UDP connection.
  • Early Data Transmitters - Transmits data to clients immediately after the initial handshake exchange to reduce latency before the full connection is established.
  • Connection and Session Management - Initiates connections to servers using modern protocols with configurable parameters and mandatory datagram support.
  • Connection Migrators - Maintains active network connections during IP or port changes by using connection identifiers to ensure seamless transitions.
  • Real-Time Communication Protocols - Enables bidirectional, multiplexed streaming and unreliable datagram delivery between web clients and servers for low-latency data exchange.
  • UDP Transport Implementations - Implements a custom reliable transport protocol over standard UDP to provide multiplexed streams and low-latency data delivery.
  • Zero-RTT Resumption - Allows returning clients to send data immediately upon connection by configuring the server to accept early streams and session resumption.
  • Bidirectional Streaming Protocols - Opens two-way communication channels between peers to allow simultaneous data transmission and reception over a single network connection.
  • Connection Establishment Protocols - Listens for and establishes new network connections, allowing for independent lifecycle management of the listener and active sessions.
  • Network Transport Layers - Opens and accepts bidirectional or unidirectional data channels between peers while managing flow control limits to ensure reliable communication.
  • Connection Handshake Protocols - Exchanges settings frames between endpoints to negotiate protocol extensions and performance parameters during the initial handshake.
  • Flow Control Mechanisms - Project networking increases receive window sizes dynamically during a connection to maximize bandwidth utilization based on observed round-trip performance.
  • Flow Control Window Managers - Configures initial and maximum receive window sizes for connections and streams to optimize data throughput based on network conditions.
  • High-Performance Transport Layers - Optimizes data transfer through advanced flow control, connection multiplexing, and zero-round-trip resumption to reduce latency in distributed systems.
  • NAT Rebinding Handlers - Adapts to network address translation changes by re-validating connections when packets arrive from unexpected source addresses or ports.
  • Connection Resilience Layers - Maintains stable communication sessions across changing network paths or IP addresses by using connection identifiers to ensure seamless transitions.
  • Path Migration Managers - Maintains active sessions during network interface changes by validating new paths and updating connection identifiers without dropping the link.
  • Handshake Protocols - Resumes previous sessions to skip handshake steps, reducing latency by reusing existing session state and credentials.
  • Zero-RTT Handshake Resumption - Allows clients to send application data immediately upon reconnection by reusing cached cryptographic state from previous successful sessions.
  • Path Validators - Verifies that new network paths are functional and secure by exchanging challenge and response frames before switching traffic.
  • Network Protocol Metrics - Exposes internal protocol events and performance statistics to provide visibility into connection health and transport behavior.
  • Connection Termination - Closes active network sessions by communicating specific error codes and reasons to remote peers for state synchronization.
  • Protocol Error Handlers - Reports protocol violations, handshake failures, and remote closures to allow applications to implement appropriate retry or recovery logic.
  • HTTP Proxies - Encapsulates IP packets within HTTP streams to enable transparent network routing and connectivity through web-based proxies.
  • Network Traffic Managers - Manages the rate of data transmission to prevent network congestion, minimize packet loss, and reduce latency during communication between endpoints.
  • Packet Batching Engines - Combines multiple individual data packets into a single system call to minimize processing overhead and increase throughput during high-volume communication.
  • UDP Datagram Transmitters - Sends small, time-sensitive messages without the overhead of stream-based reliability to allow faster communication.
  • Protocol Negotiation Tools - Advertises supported application-level protocols during the connection handshake to ensure client and server agreement.
  • Transport Timeouts - Terminates inactive network connections based on negotiated time limits to conserve resources and prevent unnecessary radio activity.
  • UDP Proxies - Routes network traffic through proxy servers by encapsulating UDP datagrams within secure, multiplexed connections to bypass restrictive network environments.
  • Flow Control Window Controllers - Regulates data transmission rates by dynamically adjusting receive windows to prevent network congestion and optimize bandwidth utilization.
  • HTTP Header Compression Engines - Provides dynamic table and static dictionary encoding to reduce the size of transmitted network headers during client-server communication.
  • Protocol Error Handling - Communicates application-specific error codes when resetting a stream to notify peers of failures or state changes during transmission.
  • HTTP Datagram Transports - Supports the transmission of unreliable data packets by upgrading standard streams to allow direct access to the underlying transport protocol.
  • Stream Limiters - Limits the number of simultaneous incoming bidirectional and unidirectional streams a peer can open to protect local resource consumption.
  • Custom Transport Protocols - Enables the use of custom packet connection interfaces to facilitate protocol communication over non-standard transports.
  • HTTP Transport Configurations - Allows customization of connection settings and socket behavior to gain fine-grained control over network data travel and session management.
  • Unidirectional Streams - Opens one-way communication channels to send data from one peer to another without requiring a return path.
  • Path MTU Discoverers - Determines the maximum transmission unit size for a network path to prevent packet fragmentation and optimize data delivery efficiency.
  • Network Buffer Managers - Increases kernel-level receive and send buffer capacities to prevent packet loss and maintain stable data flow during high-bandwidth activity.
  • Packet Batching Interfaces - Reduces kernel overhead by grouping multiple network packets into single system calls to improve throughput during high-volume data transfers.
  • HTTP Request Clients - Integrates with standard network clients to perform high-performance data transfers over modern protocol versions for faster content delivery.
  • Stateless Resetters - Issues cryptographically signed tokens to peers after a reboot, allowing them to immediately terminate stale connections without waiting for timeouts.
  • Fallback Mechanisms - Switches to alternative transport protocols when modern protocols are blocked to ensure connectivity in restricted environments.
  • Path Aggregators - Transfers application data simultaneously across multiple network interfaces to increase throughput and improve resilience against individual path failures.
  • UDP Socket Managers - Provides control over underlying UDP connections by injecting custom sockets to handle proxying of network traffic.
  • Socket Sharers - Runs client and server instances on the same UDP socket by leveraging connection ID demultiplexing to reduce resource usage.
  • Origin Validators - Prevents cross-site request forgery by verifying that the client request origin matches the server host before allowing a session upgrade.

Star history

Star history chart for quic-go/quic-goStar history chart for quic-go/quic-go

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Quic Go

Similar open-source projects, ranked by how many features they share with Quic Go.
  • cloudflare/quichecloudflare avatar

    cloudflare/quiche

    11,563View on GitHub↗

    This project is a memory-safe implementation of the QUIC transport protocol and HTTP/3, designed for high-throughput and efficient network communication. It provides a comprehensive toolkit for building secure, low-latency network applications by managing the full lifecycle of transport connections, including protocol negotiation, stream data exchange, and connection state management. The library distinguishes itself through a focus on performance and protocol integrity. It utilizes a formal state machine to enforce strict adherence to transport rules and employs zero-copy buffer management t

    Rusthttp3network-programmingprotocol
    View on GitHub↗11,563
  • ithewei/libhvithewei avatar

    ithewei/libhv

    7,521View on GitHub↗

    libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered

    Ccurlepollhttp-client
    View on GitHub↗7,521
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    Gocloudcloud-computingcloud-native
    View on GitHub↗20,076
  • ginuerzh/gostginuerzh avatar

    ginuerzh/gost

    18,019View on GitHub↗

    gost is a multi-protocol proxy tunnel and secure tunneling server designed to route network traffic through encrypted connections. It functions as a traffic obfuscation gateway and a transparent proxy server capable of intercepting TCP and UDP traffic at the IP level. The project also includes a virtual network interface manager for creating TUN and TAP devices to intercept operating system packets. The system distinguishes itself through a chain-based request routing model, allowing traffic to pass through an ordered sequence of proxy nodes. It provides extensive transport-layer encapsulatio

    Godnsgogolang
    View on GitHub↗18,019
See all 30 alternatives to Quic Go→

Frequently asked questions

What does quic-go/quic-go do?

This project is a high-performance implementation of the QUIC transport protocol, providing a library for establishing multiplexed, low-latency network connections over UDP. It serves as a foundational networking stack for building modern web servers and clients, with native support for HTTP/3 and WebTransport standards.

What are the main features of quic-go/quic-go?

The main features of quic-go/quic-go are: Network Protocol Implementations, Real-time Communication Libraries, HTTP/3 Libraries, Connection Multiplexing, Early Data Transmitters, Connection and Session Management, Connection Migrators, Real-Time Communication Protocols.

What are some open-source alternatives to quic-go/quic-go?

Open-source alternatives to quic-go/quic-go include: cloudflare/quiche — This project is a memory-safe implementation of the QUIC transport protocol and HTTP/3, designed for high-throughput… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge… ginuerzh/gost — gost is a multi-protocol proxy tunnel and secure tunneling server designed to route network traffic through encrypted… skywind3000/kcp — KCP is a low-latency transport protocol and reliability layer designed to provide TCP-like guaranteed delivery and… httpwg/http2-spec — This project provides the formal network protocol standards and technical specifications for HTTP/2. It defines the…