What is XQUIC?
XQUIC Library released by Alibaba is …
… a client and server implementation of QUIC and HTTP/3 as specified by the IETF. Currently supported QUIC versions are v1 and draft-29.
… OS and platform agnostic. It currently supports Android, iOS, HarmonyOS, Linux, macOS and Windows. Most of the code is used in our own products, and has been tested at scale on android, iOS apps, as well as servers.
… still in active development. Interoperability is regularly tested with other QUIC implementations.
Standardized Features
All basic features conforming with RFC 9000, RFC9001, RFC9002, RFC9114 and RFC9204, including the interface between QUIC and TLS, 0-RTT connection establishment, HTTP/3 and QPACK.
ALPN Extension conforming with RFC7301
Library Features
Pluggable congestion control: NewReno, Cubic, BBR and BBRv2, ...
Pluggable cryptography, integration with BoringSSL and BabaSSL
Unreliable datagram Extension
Cross-platform implementation, support Android, iOS, HarmonyOS, Linux, macOS and Windows(v1.2.0)
Quic event logging based on qlog(draft-ietf-quic-qlog-main-schema, draft-ietf-quic-qlog-quic-events and draft-ietf-quic-qlog-h3-events)
Not Yet Standardized
Forward Error Correction (FEC)
To Get Started
If it's your first time using XQUIC, see the Getting Started for environment setup.
To compile XQUIC on specific platform, see the instructions as follows:
Try to run the examples as follows:
- To run the test client/server Run the Tests
- To test specific test cases , find it in Supported Cases
For more details about XQUIC, see the Deep Dives
For using the API, see the API docs
For other frequently asked questions, see the Trouble Shooting Guide.
Contributing
We would love for you to contribute to XQUIC and help make it even better than it is today! All types of contributions are encouraged and valued. Thanks to all contributors. See our Contributing Guidelines for more information.
If you have any questions, please feel free to open a new Discussion topic in our discussion forums.
Who is using XQUIC?
XQUIC has been applied in many products, including:
- Taobao Mobile
If you are using XQUIC in your product, please let us know by contacting us through the contact us.
License
XQUIC is released under the Apache 2.0 License.
Contact Us
Feel free to contact us in the following ways:
- e-mail: xquic@alibaba-inc.com
- Dingtalk group: 34059705
- slack channel: #xquic in quicdev group