{"id":32368894,"url":"https://github.com/dockur/stunnel","last_synced_at":"2025-10-24T19:35:55.848Z","repository":{"id":320091421,"uuid":"1064352612","full_name":"dockur/stunnel","owner":"dockur","description":"Stunnel in a Docker container","archived":false,"fork":false,"pushed_at":"2025-10-21T21:12:06.000Z","size":427,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-21T23:21:47.425Z","etag":null,"topics":["docker","docker-container","stunnel","tls","tls-proxy"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/dockur.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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":"2025-09-25T23:03:13.000Z","updated_at":"2025-10-21T21:12:09.000Z","dependencies_parsed_at":"2025-10-21T23:22:27.047Z","dependency_job_id":"80e1383c-8bb7-4eee-92f2-d6823d7f8ee4","html_url":"https://github.com/dockur/stunnel","commit_stats":null,"previous_names":["dockur/stunnel"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dockur/stunnel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockur%2Fstunnel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockur%2Fstunnel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockur%2Fstunnel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockur%2Fstunnel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dockur","download_url":"https://codeload.github.com/dockur/stunnel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockur%2Fstunnel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280856797,"owners_count":26403189,"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","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker","docker-container","stunnel","tls","tls-proxy"],"created_at":"2025-10-24T19:35:54.546Z","updated_at":"2025-10-24T19:35:55.837Z","avatar_url":"https://github.com/dockur.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003estunnel\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://github.com/dockur/stunnel\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/dockur/stunnel/master/.github/logo.png\" title=\"Logo\" style=\"max-width:100%;\" width=\"128\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![Build]][build_url]\n[![Version]][tag_url]\n[![Size]][tag_url]\n[![Package]][pkg_url]\n[![Pulls]][hub_url]\n\n\u003c/div\u003e\u003c/h1\u003e\n\nDocker container of [stunnel](https://www.stunnel.org/), a proxy designed to add TLS encryption functionality to existing clients and servers without any changes in the programs' code.\n\n## Usage  🐳\n\n##### Via Docker Compose:\n\n```yaml\nservices:\n  stunnel:\n    hostname: stunnel\n    image: dockurr/stunnel\n    container_name: stunnel\n    environment:\n      LISTEN_PORT: \"853\"\n      CONNECT_PORT: \"53\"\n      CONNECT_HOST: \"1.1.1.1\"\n    volumes:\n      - ./privkey.pem:/private.pem\n      - ./certificate.pem:/cert.pem\n    ports:\n      - 853:853\n    restart: always\n```\n\n##### Via Docker CLI:\n\n```bash\ndocker run -it --rm --name stunnel -p 853:853 -e \"LISTEN_PORT=853\" -e \"CONNECT_PORT=53\" -e \"CONNECT_HOST=1.1.1.1\" -v \"${PWD:-.}/privkey.pem:/private.pem\" -v \"${PWD:-.}/certificate.pem:/cert.pem\" docker.io/dockurr/stunnel\n```\n\n## Configuration ⚙️\n\n### How do I select the mode?\n\nStunnel can operate in two modes. The __server mode__ works as a transparent proxy in front of a server, so that clients that connect negotiate an TLS connection while the traffic forwarded to the destination server will be unencrypted.\n\nThe __client mode__ does the opposite thing. Clients connecting to stunnel running in client mode can establish a plain text connection and stunnel will create an encrypted TLS tunnel to the destination server.\n\nBy default it will run in server mode, but to switch modes you can set the `CLIENT` variable like this:\n\n```yaml\nenvironment:\n  CLIENT: \"yes\"\n```\n\n### How do I select the certificate?\n\nWhen running in server mode, a certificate is needed. By default, a self-signed certificate will be generated, but you can supply your own `.pem` certificates by adding:\n\n```yaml\nvolumes:\n  - ./privkey.pem:/private.pem\n  - ./certificate.pem:/cert.pem\n```\n\nInstead of `.pem` files you can also use `.crt`/`.key` files:\n\n```yaml\nvolumes:\n  - ./privkey.key:/private.key\n  - ./certificate.crt:/cert.crt\n```\n\n### How do I modify the permissions?\n\nYou can set `UID` and `GID` environment variables to change the user and group ID.\n\n```yaml\nenvironment:\n  UID: \"1002\"\n  GID: \"1005\"\n```\n\n### How do I modify other settings?\n\nIf you need more advanced features, you can completely override the default configuration by binding your custom config to the container like this:\n\n```yaml\nvolumes:\n  - ./custom.conf:/stunnel.conf\n```\n\n## Stars 🌟\n[![Stars](https://starchart.cc/dockur/stunnel.svg?variant=adaptive)](https://starchart.cc/dockur/stunnel)\n\n[build_url]: https://github.com/dockur/stunnel\n[hub_url]: https://hub.docker.com/r/dockurr/stunnel\n[tag_url]: https://hub.docker.com/r/dockurr/stunnel/tags\n[pkg_url]: https://github.com/dockur/stunnel/pkgs/container/stunnel\n\n[Build]: https://github.com/dockur/stunnel/actions/workflows/build.yml/badge.svg\n[Size]: https://img.shields.io/docker/image-size/dockurr/stunnel/latest?color=066da5\u0026label=size\n[Pulls]: https://img.shields.io/docker/pulls/dockurr/stunnel.svg?style=flat\u0026label=pulls\u0026logo=docker\n[Version]: https://img.shields.io/docker/v/dockurr/stunnel/latest?arch=amd64\u0026sort=semver\u0026color=066da5\n[Package]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fipitio.github.io%2Fbackage%2Fdockur%2Fstunnel%2Fstunnel.json\u0026query=%24.downloads\u0026logo=github\u0026style=flat\u0026color=066da5\u0026label=pulls\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdockur%2Fstunnel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdockur%2Fstunnel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdockur%2Fstunnel/lists"}