Clone this repo:
  1. 9f1ab92 Add a pointer to QUICHE in README. (#73) by Bin Wu · 2 months ago master
  2. 1694fa5 Deprecation (#69) by Ryan Hamilton · 1 year, 6 months ago
  3. fa1d264 Rollback most recent commit which is broken (#67) by Ryan Hamilton · 1 year, 7 months ago
  4. 4bb6c62 Update build instructions (#64) by ianswett · 1 year, 7 months ago
  5. 0a5589a Updating to 62.0.3195.0 (#63) by ianswett · 1 year, 7 months ago

proto-quic is no longer being maintained

proto-quic is no longer being updated from Chromium. To checkout and build QUIC code, please follow the Chromium instructions.

The QUIC team at Google is actively working on a new open source repository, QUICHE, it will include Google‘s implementation of QUIC and related protocols, and eventually will become the upstream of Chromium's QUIC code.

This repository will remain available for some period of time, but will eventually be removed.


proto-quic is intended as a standalone library for QUIC.

It contains the subset of Chromium code and dependencies required for QUIC so folks can use the Chromium code without depending on all of Chromium. It is intended to be a cross-platform library, but will only support the set (or a strict subset) of platforms which Chromium already supports.

This is not an officially supported Google product. It‘s being kept up to date (on a theoretical weekly basis) as a best-effort side-project by some of the current QUIC developers. Worst case, should Google’s priorities change about supporting a standalone QUIC library, it's all open source and any interested community can just clone the repo and continue updates on their own.

Currently, the only supported platform is Linux (and the only tested version is Google's Ubuntu clone) but Windows and iOS should be coming soon.

Building on Linux

  1. Clone this repository:

    git clone
    cd proto-quic
    export PROTO_QUIC_ROOT=`pwd`/src
    export PATH=$PATH:`pwd`/depot_tools
  2. If you're building for the first time, install dependencies:

  3. Build the QUIC client, server, and tests:

    cd src
    gn gen out/Default && ninja -C out/Default quic_client quic_server net_unittests

From then on you can follow the usual Chromium instructions for playing with the toy client and server: