{"id":13847852,"url":"https://github.com/alibaba/xquic","last_synced_at":"2026-04-17T05:08:39.503Z","repository":{"id":37640383,"uuid":"424947551","full_name":"alibaba/xquic","owner":"alibaba","description":"XQUIC Library released by Alibaba is a cross-platform implementation of QUIC and HTTP/3 protocol.","archived":false,"fork":false,"pushed_at":"2024-11-03T13:18:37.000Z","size":6023,"stargazers_count":1720,"open_issues_count":27,"forks_count":332,"subscribers_count":65,"default_branch":"main","last_synced_at":"2024-11-14T21:42:27.330Z","etag":null,"topics":["http3","ietf","protocol","quic","tls13"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alibaba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-05T12:53:18.000Z","updated_at":"2024-11-13T10:46:43.000Z","dependencies_parsed_at":"2024-02-28T15:50:37.808Z","dependency_job_id":"2e96eb7f-6c3a-465c-bd7b-ccfa2880186f","html_url":"https://github.com/alibaba/xquic","commit_stats":{"total_commits":130,"total_committers":32,"mean_commits":4.0625,"dds":0.7615384615384615,"last_synced_commit":"07b18386a7d7e28a2279ead9e9a6c3d8d5ced413"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fxquic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fxquic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fxquic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fxquic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alibaba","download_url":"https://codeload.github.com/alibaba/xquic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225820303,"owners_count":17529138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["http3","ietf","protocol","quic","tls13"],"created_at":"2024-08-04T19:00:33.767Z","updated_at":"2025-10-14T08:44:36.510Z","avatar_url":"https://github.com/alibaba.png","language":"C","funding_links":[],"categories":["C","Implementations"],"sub_categories":[],"readme":"# XQUIC\n\u003cimg src=\"docs/images/xquic_logo.png\" alt=\"xquic logo\" width=585.9 height=309.1/\u003e\n\n![GitHub](https://img.shields.io/github/license/alibaba/xquic)\n[![Build](https://github.com/alibaba/xquic/actions/workflows/build.yml/badge.svg)](https://github.com/alibaba/xquic/actions/workflows/build.yml)\n[![CodeQL](https://github.com/alibaba/xquic/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/alibaba/xquic/actions/workflows/codeql-analysis.yml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/485e758edd98409bb7a51cbb803838c4)](https://www.codacy.com/gh/alibaba/xquic/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=alibaba/xquic\u0026amp;utm_campaign=Badge_Grade)\n[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/485e758edd98409bb7a51cbb803838c4)](https://www.codacy.com/gh/alibaba/xquic/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=alibaba/xquic\u0026utm_campaign=Badge_Coverage)\n![Platforms](https://img.shields.io/badge/platform-Android%20%7C%20iOS%20%7C%20Linux%20%7C%20macOS-blue)\n[![DeepWiki](https://img.shields.io/badge/DeepWiki-alibaba%2Fxquic-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/alibaba/xquic)\n\u003c!-- DeepWiki badge generated by https://deepwiki.ryoppippi.com/ --\u003e\n+ [官方文档](https://doc.xquic.org.cn)\n+ [AI文档](https://deepwiki.com/alibaba/xquic/)\n+ [简体中文文档 README-zh-CN](https://github.com/alibaba/xquic/blob/main/docs/docs-zh/README-zh.md)\n\n## Introduction\n\nXQUIC Library released by Alibaba is …\n\n… **a client and server implementation of QUIC and HTTP/3 as specified by the IETF.** Currently supported QUIC versions are v1 and draft-29.\n\n… **OS and platform agnostic.** It currently supports Android, iOS, HarmonyOS, Linux, macOS and Windows(v1.2.0). Most of the code is used in our own products, and has been tested at scale on android, iOS apps, as well as servers.\n\n… **still in active development.** [Interoperability](https://interop.seemann.io/) is regularly tested with other QUIC implementations.\n\n### Features\n\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9000\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9000)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9001\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9001)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9002\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9002)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9114\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9114)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9204\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9204)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9221\u0026color=brightgreen)](https://datatracker.ietf.org/doc/html/rfc9221)\n\n\n[![](https://img.shields.io/static/v1?label=draft-13\u0026message=QUIC-LB\u0026color=9cf)](https://tools.ietf.org/html/draft-ietf-quic-load-balancers-13)\n[![](https://img.shields.io/static/v1?label=draft-05\u0026message=Multipath-QUIC\u0026color=9cf)](https://tools.ietf.org/html/draft-ietf-quic-multipath-05)\n[![](https://img.shields.io/static/v1?label=draft-06\u0026message=Multipath-QUIC\u0026color=9cf)](https://tools.ietf.org/html/draft-ietf-quic-multipath-06)\n[![](https://img.shields.io/static/v1?label=draft-07\u0026message=QUIC-Qlog\u0026color=9cf)](https://datatracker.ietf.org/doc/html/draft-ietf-quic-qlog-main-schema-07)\n\n#### Standardized Features\n\n* All big features conforming with [RFC 9000](https://www.rfc-editor.org/rfc/rfc9000), [RFC9001](https://www.rfc-editor.org/rfc/rfc9001), [RFC9002](https://www.rfc-editor.org/rfc/rfc9002), [RFC9114](https://www.rfc-editor.org/rfc/rfc9114) and [RFC9204](https://www.rfc-editor.org/rfc/rfc9204), including the interface between QUIC and TLS, 0-RTT connection establishment, HTTP/3 and QPACK.\n* ALPN Extension conforming with [RFC7301](https://www.rfc-editor.org/rfc/rfc7301)\n\n#### Not Yet Standardized Features\n\n* [Multipath QUIC](https://tools.ietf.org/html/draft-ietf-quic-multipath-04)\n* [QUIC-LB](https://tools.ietf.org/html/draft-ietf-quic-load-balancers-13)\n\n#### Library Features\n\n* Pluggable congestion control: NewReno, Cubic, BBR and BBRv2, ...\n* Pluggable cryptography, integration with BoringSSL and BabaSSL\n* Cross-platform implementation, support Android, iOS, HarmonyOS, Linux, macOS and Windows(v1.2.0)\n\n## Requirements\n\nTo build XQUIC, you need \n* CMake\n* BoringSSL or BabaSSL\n\nTo run test cases, you need\n* libevent\n* CUnit\n\n## QuickStart Guide\n\nXQUIC can be built with BabaSSL(Tongsuo) or BoringSSL.\n\n### Build with BoringSSL\n\n```bash\nsudo apt-get install -y build-essential libevent-dev\n\n# get XQUIC source code\ngit clone https://github.com/alibaba/xquic.git; cd xquic\n\n# get and build BoringSSL\ngit clone https://github.com/google/boringssl.git ./third_party/boringssl; cd ./third_party/boringssl\nmkdir -p build \u0026\u0026 cd build\ncmake -DBUILD_SHARED_LIBS=0 -DCMAKE_C_FLAGS=\"-fPIC\" -DCMAKE_CXX_FLAGS=\"-fPIC\" ..\nmake -j ssl crypto\ncd ..\nSSL_TYPE_STR=\"boringssl\"\nSSL_PATH_STR=\"${PWD}\"\ncd ../..\n\n# build XQUIC with BoringSSL\n# When build XQUIC with boringssl, by default XQUIC will use boringssl\n# in third_party. If boringssl is deployed in other directories, SSL_PATH could be \n# used to specify the search path of boringssl\ngit submodule update --init --recursive\nmkdir -p build; cd build\ncmake -DGCOV=on -DCMAKE_BUILD_TYPE=Debug -DXQC_ENABLE_TESTING=1 -DXQC_SUPPORT_SENDMMSG_BUILD=1 -DXQC_ENABLE_EVENT_LOG=1 -DXQC_ENABLE_BBR2=1 -DXQC_ENABLE_RENO=1 -DSSL_TYPE=${SSL_TYPE_STR} -DSSL_PATH=${SSL_PATH_STR} ..\n\n# exit if cmake error\nif [ $? -ne 0 ]; then\n    echo \"cmake failed\"\n    exit 1\nfi\n\nmake -j\n```\n\n### Build with BabaSSL(Tongsuo)\n\n```bash\nsudo apt-get install -y build-essential libevent-dev\n\n# get XQUIC source code\ngit clone https://github.com/alibaba/xquic.git; cd xquic\n\n# get and build BabaSSL(Tongsuo)\ngit clone -b 8.3-stable https://github.com/Tongsuo-Project/Tongsuo.git ./third_party/babassl; cd ./third_party/babassl/\n./config --prefix=/usr/local/babassl\nmake -j\nSSL_TYPE_STR=\"babassl\"\nSSL_PATH_STR=\"${PWD}\"\ncd -\n\n# build XQUIC with BabaSSL\n# When build XQUIC with babassl, /usr/local/babassl directory will be searched\n# as default. If babassl is deployed in other directories, SSL_PATH could be \n# used to specify the search path of babassl\ngit submodule update --init --recursive\nmkdir -p build; cd build\ncmake -DGCOV=on -DCMAKE_BUILD_TYPE=Debug -DXQC_ENABLE_TESTING=1 -DXQC_SUPPORT_SENDMMSG_BUILD=1 -DXQC_ENABLE_EVENT_LOG=1 -DXQC_ENABLE_BBR2=1 -DXQC_ENABLE_RENO=1 -DSSL_TYPE=${SSL_TYPE_STR} -DSSL_PATH=${SSL_PATH_STR} ..\n\n# exit if cmake error\nif [ $? -ne 0 ]; then\n    echo \"cmake failed\"\n    exit 1\nfi\n\nmake -j\n```\n\n### Run testcases\n\n```bash\nsh ../scripts/xquic_test.sh\n```\n\n## Documentation\n\n* For using the API, see the [API docs](./docs/API.md).\n* For platform support details, see the [Platforms docs](./docs/Platforms.md).\n* For Chinese Simplified (zh-CN) translation of the IETF QUIC Protocol, see the Translation docs.\n    - [RFC8999-invariants-zh](./docs/translation/rfc8999-invariants-zh.md)\n    - [RFC9000-transport-zh](./docs/translation/rfc9000-transport-zh.md)\n    - [RFC9001-tls-zh](./docs/translation/rfc9001-tls-zh.md)\n    - [RFC9002-recovery-zh](./docs/translation/rfc9002-recovery-zh.md)\n    - [draft-ietf-quic-http-34-zh](./docs/translation/draft-ietf-quic-http-34-zh.md)\n    - [draft-ietf-quic-qpack-21-zh](./docs/translation/draft-ietf-quic-qpack-21-zh.md)\n    - [RFC9221-datagram-zh](./docs/translation/rfc9221-datagram-zh.md)\n\n* For using quic-qlog, see the [Features: qlog](./docs/Features.md)\n* For testing the library, see the [Testing docs](./docs/docs-zh/Testing-zh.md).\n* For other frequently asked questions, see the [FAQs](./docs/docs-zh/FAQ-zh.md) and [Trouble Shooting Guide](./docs/docs-zh/Troubleshooting-zh.md).\n\n## Contributing\n\nWe 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](https://github.com/alibaba/xquic/blob/main/CONTRIBUTING.md#all-contributors). See our [Contributing Guidelines](./CONTRIBUTING.md) for more information.\n\nIf you have any questions, please feel free to open a new Discussion topic in our [discussion forums](https://github.com/alibaba/xquic/discussions).\n\n## License\n\nXQUIC is released under the Apache 2.0 License.\n\n## Contact Us\n\nFeel free to contact us in the following ways:\n\n* e-mail: xquic@alibaba-inc.com\n* Dingtalk group: 34059705\n* slack channel: #xquic in quicdev group\n\n  \u003cimg src=\"docs/images/dingtalk_group.JPG\" width=200 alt=\"dingtalk group\"/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fxquic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falibaba%2Fxquic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fxquic/lists"}