{"id":28459746,"url":"https://github.com/cesanta/ssl_wrapper","last_synced_at":"2026-03-10T08:02:10.709Z","repository":{"id":16488400,"uuid":"19240983","full_name":"cesanta/ssl_wrapper","owner":"cesanta","description":"Wrap plain TCP traffic into SSL","archived":false,"fork":false,"pushed_at":"2017-10-18T21:54:52.000Z","size":372,"stargazers_count":88,"open_issues_count":4,"forks_count":33,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-07-02T12:48:09.616Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cesanta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-28T14:14:26.000Z","updated_at":"2025-01-06T11:44:25.000Z","dependencies_parsed_at":"2022-07-15T23:30:43.749Z","dependency_job_id":null,"html_url":"https://github.com/cesanta/ssl_wrapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cesanta/ssl_wrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fssl_wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fssl_wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fssl_wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fssl_wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cesanta","download_url":"https://codeload.github.com/cesanta/ssl_wrapper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fssl_wrapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30327553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"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":"2025-06-07T01:06:03.847Z","updated_at":"2026-03-10T08:02:10.701Z","avatar_url":"https://github.com/cesanta.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"ssl_wrapper\n===========\n\nSSL Wrapper is an application that encrypts any unsecured network\ncommunication inside secure SSL tunnel and provides industry-grade\nauthentication mechanism. \n\nSSL wrapper opens a listening port and forwards traffic to the specified target host, in two modes:\n\n   1.  Listening port is SSL, target host is plain TCP\n   2.  Listening port is plain TCP, target host is SSL\n\nSSL wrapper can be used just on one side of communication, or on both sides:\n\n- on one side (client), SSL wrapper encrypts outgoing client traffic\n- on one side (server), SSL wrapper decrypts incoming server traffic,\n  implementing\n  [SSL termination proxy](http://en.wikipedia.org/wiki/SSL_termination_proxy)\n- on both sides, two paired SSL wrappers enclose plain TCP traffic\n  into the secure SSL tunnel\n\nGraphics below illustrate how SSL Wrapper works:\n\n\u003cimg src=\"http://cesanta.com/images/ssl_wrapper/img_1.png\" style=\"width:80%\" /\u003e\n\u003cimg src=\"http://cesanta.com/images/ssl_wrapper/img_2.png\" style=\"width:80%\" /\u003e\n\u003cimg src=\"http://cesanta.com/images/ssl_wrapper/img_3.png\" style=\"width:80%\" /\u003e\n\u003cimg src=\"http://cesanta.com/images/ssl_wrapper/img_4.png\" style=\"width:80%\" /\u003e\n\n## Configuration options\n\n    Usage: ssl_wrapper \u003clistening_address\u003e \u003ctarget_address\u003e\n\nAddress format is as follows:\n\n    [PROTO://][IP:]PORT[:SSL_CERT.PEM][:CA_CERT.PEM]\n\nPROTO is either `tcp` or `ssl`. If omitted, `tcp` is used. For SSL,\n`SSL_CERT.PEM` specifies server certificate for `listening_address` or\nclient certificate for `target_address`. All certificates must be in PEM format.\nServer certificate `SSL_CERT.PEM` file must have both server certificate and\nprivate key, in PEM format, concatenated together.\n\nIf `CA_CERT.PEM` is specified, it enables peer certificate authentication.\nFor `listening_address` it enables client side certificate auth, also\nknown as two-way SSL.\n\n\n## Examples\n\nEnable SSL on a web server (listen on port 443, terminate SSL and forward\nall traffic to port 80, which is a web port):\n\n\t   ssl_wrapper ssl://443:server_cert.pem 127.0.0.1:80\n\n\u003cimg src=\"http://cesanta.com/images/ssl_wrapper/img_3.png\" style=\"width:80%\" /\u003e\n\nSetup SSL man-in-the-middle (MITM) proxy for the external site foo.com,\nwhich requires client authentication. By setting up such a proxy, we can\nconnect to foo.com without client-side certificate. Only proxy needs to have\nclient-side certificate:\n\n    ssl_wrapper ssl://443:foo_server.pem ssl://foo.com:443:foo_client.pem\n\n\n## Building SSL wrapper\n\n\tgit clone https://github.com/cesanta/net_skeleton.git\n\tgit clone https://github.com/cesanta/ssl_wrapper.git\n\tcd ssl_wrapper\n\tmake\n\nNote: SSL Wrapper is built on top of\n[Net Skeleton](https://github.com/cesanta/net_skeleton), and therefore\nit is portable and works on may operating systems including Windows, MacOS, UNIX/LINUX, QNX, eCos, Android, iOS, and more.\n\n## License\n\nSSL Wrapper is released under\n[GNU GPL v.2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).\nBusinesses have an option to get non-restrictive commercial\nlicense and professional support from [Cesanta Software](http://cesanta.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcesanta%2Fssl_wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcesanta%2Fssl_wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcesanta%2Fssl_wrapper/lists"}