{"id":49001232,"url":"https://github.com/n0-computer/noq","last_synced_at":"2026-04-18T18:38:11.471Z","repository":{"id":237657335,"uuid":"794980274","full_name":"n0-computer/noq","owner":"n0-computer","description":"noq, a QUIC implementation in Rust","archived":false,"fork":false,"pushed_at":"2026-04-17T13:03:48.000Z","size":67458,"stargazers_count":213,"open_issues_count":74,"forks_count":25,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-17T13:17:51.483Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"quinn-rs/quinn","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n0-computer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-02T10:50:05.000Z","updated_at":"2026-04-17T12:03:43.000Z","dependencies_parsed_at":"2026-04-02T14:00:49.485Z","dependency_job_id":null,"html_url":"https://github.com/n0-computer/noq","commit_stats":null,"previous_names":["n0-computer/quinn","n0-computer/noq"],"tags_count":102,"template":false,"template_full_name":null,"purl":"pkg:github/n0-computer/noq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0-computer%2Fnoq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0-computer%2Fnoq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0-computer%2Fnoq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0-computer%2Fnoq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n0-computer","download_url":"https://codeload.github.com/n0-computer/noq/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0-computer%2Fnoq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31980610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-04-18T18:38:10.716Z","updated_at":"2026-04-18T18:38:11.431Z","avatar_url":"https://github.com/n0-computer.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# noq\n\n[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square)](https://docs.rs/noq/)\n[![Crates.io](https://img.shields.io/crates/v/iroh.svg?style=flat-square)](https://crates.io/crates/noq)\n[![Chat](https://img.shields.io/discord/1161119546170687619?logo=discord\u0026style=flat-square)](https://discord.com/invite/DpmJgtU7cW)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE-MIT)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](LICENSE-APACHE)\n\nGeneral purpose implementation of the [QUIC transport\nprotocol](https://www.rfc-editor.org/rfc/rfc9000.html) in pure\nRust. Noq is built as an async-friendly API in the `noq` crate on top\nof a sans-io protocol library in `noq-proto`.\n\nNoq started out as a fork of the excellent\n[Quinn](https://github.com/quinn-rs/quinn) project. The main focus of\ndevelopment has been towards adding support for more QUIC (draft)\nextensions:\n\n- [QUIC Multipath](https://datatracker.ietf.org/doc/draft-ietf-quic-multipath/)\n- [QUIC Address Discovery](https://datatracker.ietf.org/doc/draft-ietf-quic-address-discovery/) (QAD)\n- [Using QUIC to traverse Nat's](https://datatracker.ietf.org/doc/draft-seemann-quic-nat-traversal/) (QNT)\n\n## Features\n\n- Easy to use futures-based async API.\n- Client and server server functionality.\n- 0-RTT and 0.5-RTT data support.\n- Ordered and unordered stream reads.\n- Custom and zero-length connection identifiers.\n- Fully pluggable crypto API with a [Rustls] implementation using\n  [ring] or [aws-lc-rs] provided by default for convenience.\n- Broad platform support, including Linux, Windows, macOS, android,\n  iOS and wasm.\n\n[Rustls]: https://github.com/rustls/rustls\n[ring]: https://github.com/briansmith/ring\n[aws-lc-rs]: https://github.com/aws/aws-lc-rs\n\n\n## Standards\n\nThe noq library aims to be correct implementation of various QUIC\nstandards:\n\n- Supports the core QUIC specifications:\n  - [RFC 8999 - Version-Independent Properties of QUIC].\n  - [RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport].\n  - [RFC 9001 - Using TLS to Secure QUIC].\n  - [RFC 9002 - QUIC Loss Detection and Congestion Control].\n- The standardised QUIC extensions:\n  - [RFC 9221 - An Unreliable Datagram Extension to QUIC].\n  - [RFC 9287 - Greasing the QUIC Bit].\n  - [RFC 9368 - Compatible Version Negotiation for QUIC].\n- Draft extensions:\n  - [qlog: Structured Logging for Network Protocols].\n  - [QUIC Multipath].\n    - With experimental qlog support.\n  - [QUIC Address Discovery] (QAD).\n  - [Using QUIC to traverse NATs] (QNT).\n\n[RFC 8999 - Version-Independent Properties of QUIC]: https://www.rfc-editor.org/rfc/rfc8999.html\n[RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport]: https://www.rfc-editor.org/rfc/rfc9000.html\n[RFC 9001 - Using TLS to Secure QUIC]: https://www.rfc-editor.org/rfc/rfc9001.html\n[RFC 9002 - QUIC Loss Detection and Congestion Control]: https://www.rfc-editor.org/rfc/rfc9002.html\n[RFC 9221 - An Unreliable Datagram Extension to QUIC]: https://www.rfc-editor.org/rfc/rfc9221.html\n[RFC 9287 - Greasing the QUIC Bit]: https://www.rfc-editor.org/rfc/rfc9287.html\n[RFC 9368 - Compatible Version Negotiation for QUIC]: https://www.rfc-editor.org/rfc/rfc9368.html\n[RFC 9369 - QUIC Version 2]: https://www.rfc-editor.org/rfc/rfc9369.html\n[qlog: Structured Logging for Network Protocols]: https://quicwg.org/qlog/draft-ietf-quic-qlog-main-schema.html\n[QUIC Multipath]: https://datatracker.ietf.org/doc/draft-ietf-quic-multipath/\n[QUIC Address Discovery]: https://datatracker.ietf.org/doc/draft-ietf-quic-address-discovery/\n[Using QUIC to traverse NATs]: https://datatracker.ietf.org/doc/draft-seemann-quic-nat-traversal/.\n\n\n## Getting started\n\nExamples at https://github.com/n0-computer/noq/blob/main/noq/examples\n\n```\n$ cargo run --example server ./\n$ cargo run --example client https://localhost:4433/Cargo.toml\n```\n\nThis launches an HTTP 0.9 server over the QUIC transport on the\nloopback address serving the current working directory, with the\nclient fetching ./Cargo.toml. By default, the server generates a\nself-signed certificate and stores it to disk, where the client will\nautomatically find and trust it.\n\n## License\n\nCopyright 2025 The quinn developers\nCopyright 2025 N0, INC.\n\nThis project is licensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or\n   http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or\n   http://opensource.org/licenses/MIT)\n\nat your option.\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in this project by you, as defined in the\nApache-2.0 license, shall be dual licensed as above, without any\nadditional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn0-computer%2Fnoq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn0-computer%2Fnoq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn0-computer%2Fnoq/lists"}