{"id":29537931,"url":"https://github.com/openziti/tlsuv","last_synced_at":"2026-01-21T23:12:25.732Z","repository":{"id":37345867,"uuid":"175814075","full_name":"openziti/tlsuv","owner":"openziti","description":"TLS and HTTP(s) client library for libuv","archived":false,"fork":false,"pushed_at":"2026-01-14T17:33:54.000Z","size":1295,"stargazers_count":69,"open_issues_count":8,"forks_count":14,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-01-14T21:20:13.704Z","etag":null,"topics":["libuv","mbedtls","networking","tls"],"latest_commit_sha":null,"homepage":"https://docs.openziti.io/tlsuv/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openziti.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":".github/CODEOWNERS","security":"SECURITY.md","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":"2019-03-15T12:14:13.000Z","updated_at":"2026-01-14T17:34:00.000Z","dependencies_parsed_at":"2023-02-15T11:00:42.034Z","dependency_job_id":"205107d8-ada3-42f7-b7ad-48f9b0c2276a","html_url":"https://github.com/openziti/tlsuv","commit_stats":null,"previous_names":[],"tags_count":148,"template":false,"template_full_name":null,"purl":"pkg:github/openziti/tlsuv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openziti%2Ftlsuv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openziti%2Ftlsuv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openziti%2Ftlsuv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openziti%2Ftlsuv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openziti","download_url":"https://codeload.github.com/openziti/tlsuv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openziti%2Ftlsuv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"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":["libuv","mbedtls","networking","tls"],"created_at":"2025-07-17T04:43:16.321Z","updated_at":"2026-01-16T12:25:53.181Z","avatar_url":"https://github.com/openziti.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"TLSUV = TLS + libUV\n----\n\n## Overview\nTLSUV is a cross-platform library allowing asynchronous TLS communication. \nThis is done by combinining [libuv](https://github.com/libuv/libuv) with [mbedTLS](https://github.com/ARMmbed/mbedtls.git) \nor [OpenSSL](https://www.openssl.org/)\n(see below for using other TLS implementations)\n\n## Features\n* async TLS over TCP\n* flexible TLS engine support\n* HTTP and websocket clients\n* [pkcs#11](https://en.wikipedia.org/wiki/PKCS_11) support with default(OpenSSL) engine\n\n## API\nAPI is attempted to be consistent with [libuv API](http://docs.libuv.org/en/v1.x/api.html)\n\n## Supported Platforms\n* Linux\n* Darwin/MacOS\n* Windows\n\n## Using in your project\nThe simplest way to integrate `tlsuv` in your project is to include it in your CMake build \nwith [`FetchContent`](https://cmake.org/cmake/help/latest/module/FetchContent.html)\n\n```cmake\n    FetchContent_Declare(tlsuv\n            GIT_REPOSITORY https://github.com/openziti/tlsuv.git\n        GIT_TAG v0.40.0 # use latest release version\n            )\n    FetchContent_MakeAvailable(tlsuv)\n\n    target_link_libraries(your_app PRIVATE tlsuv)\n```\n\n## Selectable Features\nHTTP support is a selectable feature (ON by default) and can be disabled by adding `-DTLSUV_HTTP=OFF` during CMake \nconfiguration step. This will also reduce dependencies list.\n\n## Dependencies\nTLSUV depends on the following libraries:\n\n| Library                                                                         | Notes                                                            |\n|---------------------------------------------------------------------------------|------------------------------------------------------------------|\n| [libuv](https://github.com/libuv/libuv)                                         |                                                                  | \n| TLS - the following are supported                                               | Some features are only available with OpenSSL                    |\n| - [OpenSSL](https://github.com/openssl/openssl)                                 | default TLS implementation except for Windows                    |\n| - [Windows crypto](https://learn.microsoft.com/en-us/windows/win32/api/ncrypt/) | default TLS implementation on Windows                            | \n| - [mbedTLS](https://github.com/mbedtls/mbedtls)                                 | use `TLSUV_TLSLIB=mbedtls` does not support PKCS#11 or keychains |\n| [llhttp](https://github.com/nodejs/llhttp)                                      | only with HTTP enabled                                           |\n| [zlib](https://github.com/madler/zlib)                                          | only with HTTP enabled                                           |\n\n\nCMake configuration process will attempt to resolve the above dependencies via `find_package()` it is up to consuming project\nto provide them.\n \n## TLS engine support (BYFE - Bring Your Favorite Engine)\nIf either of two TLS library options are not working for, there is a mechanism to dynamically provide TLS implementation.\n\nFor example, you're already using another TLS library for your project, there is a way to use it inside _tlsuv_.\nTwo API [interfaces are defined](include/tlsuv/tls_engine.h) for that purpose:\n\n- `tls_context` is roughly equivalent to `mbedtls_ssl_config` or `SSL_CTX`in OpenSSL and is used to create instances\nof `tls_engine` for individual connections\n- `tls_engine` is an object for handling handshake and encryption for a single connection.\nSimilar in purpose to `mbedtls_ssl_ctx` or `SSL` in OpenSSL\n\n## Building standalone \nSee [development](HACKING.md) instruction for building this project standalone \nfor checking out samples, or contributing.\n\n\n## Getting Help\n\n------------\nPlease use these community resources for getting help. We use GitHub [issues](https://github.com/openziti/tlsuv/issues)\nfor tracking bugs and feature requests and have limited bandwidth to address them.\n\n- Read [the docs](https://docs.openziti.io/)\n- Ask a question on [Discourse](https://openziti.discourse.group/)\n\nCopyright\u0026copy; 2018-2024. NetFoundry, Inc.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenziti%2Ftlsuv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenziti%2Ftlsuv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenziti%2Ftlsuv/lists"}