{"id":21018760,"url":"https://github.com/simonrupf/docker-socat","last_synced_at":"2025-12-25T18:47:07.538Z","repository":{"id":148362208,"uuid":"295101807","full_name":"simonrupf/docker-socat","owner":"simonrupf","description":"socat is a relay for bidirectional data transfer between two independent data channels.","archived":false,"fork":false,"pushed_at":"2024-12-14T08:17:28.000Z","size":18,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-20T12:33:52.805Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/simonrupf/socat","language":"Makefile","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/simonrupf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-09-13T07:36:39.000Z","updated_at":"2024-12-14T08:17:32.000Z","dependencies_parsed_at":"2023-12-16T20:26:21.581Z","dependency_job_id":"39638e10-bd23-4652-8890-00387a563177","html_url":"https://github.com/simonrupf/docker-socat","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonrupf%2Fdocker-socat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonrupf%2Fdocker-socat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonrupf%2Fdocker-socat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonrupf%2Fdocker-socat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonrupf","download_url":"https://codeload.github.com/simonrupf/docker-socat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243447639,"owners_count":20292453,"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":[],"created_at":"2024-11-19T10:27:33.495Z","updated_at":"2025-12-25T18:47:07.496Z","avatar_url":"https://github.com/simonrupf.png","language":"Makefile","readme":"# socat\n\nTiny image containing only socat and it's libraries. Quoting from the projects\n[README](http://www.dest-unreach.org/socat/doc/README):\n\n\u003e socat is a relay for bidirectional data transfer between two independent data\n\u003e channels. Each of these data channels may be a file, pipe, device (serial line\n\u003e etc. or a pseudo terminal), a socket (UNIX, IP4, IP6 - raw, UDP, TCP), an\n\u003e SSL socket, proxy CONNECT connection, a file descriptor (stdin etc.), the GNU\n\u003e line editor (readline), a program, or a combination of two of these. \n\u003e These modes include generation of \"listening\" sockets, named pipes, and pseudo\n\u003e terminals.\n\n## Security\n\nThis image was built to run as user ID 255. To support binding to ports below\n1024, the binary had it's extended attributes (xattr) set to allow it to use the\n`CAP_NET_BIND_SERVICE` capability, otherwise only the root user could do this.\n\nIf your filesystem doesn't support extended attributes, you can include the flag\n`--cap-add NET_BIND_SERVICE` in your the `docker run` command, if you intend to\nexpose a port below 1024.\n\nIf your container environment doesn't let you use capabilities, you will have\nto stick to exposing ports above 1024.\n\nPlease consider running the image as read-only for an additional layer of\nprotection.\n\n## Use cases for socat in a container\n\n### Expose a tcp socket for accessing docker API on MacOS\n\nThe Docker for Mac application does not provide the same docker daemon\nconfiguration options as other versions of docker-engine. Use socat to establish\na tcp socket bound to localhost which makes available the Docker API on the Mac.\n\nTo publish the unix-socket (/var/run/docker.sock) of the Docker daemon as port \n2375 on the local loopback interface (127.0.0.1), use:\n\n```\n$ docker run -d --init --read-only --restart=always \\\n    -p 127.0.0.1:2375:2375 \\\n    -v /var/run/docker.sock:/var/run/docker.sock \\\n    simonrupf/socat \\\n    tcp-listen:2375,fork,reuseaddr unix-connect:/var/run/docker.sock\n```\n\n***WARNING***: The Docker API is unsecure by default. Please remember to bind\nthe TCP socket to the localhost interface otherwise the Docker API will be\nbound to all interfaces.\n\n### Expose a service offering only IPv4 on an IPv6 interface\n\nWhile IPv6 has been around for a few decades, even some modern appliances or\ntechnology stacks (*cough* Kubernetes) don't support it (well). You can use\nsocat to expose an IPv4 service to the IPv6 world.\n\n```\n$ docker run -d --init --read-only--restart=always \\\n    -p \"[2001:dB8::1234]:80:80\" \\\n    simonrupf/socat \\\n    tcp6-listen:80,fork,reuseaddr tcp4:192.0.2.123:30080\n```\n\n*NOTE*: From the perspective of the service behind socat, all IPv6 connections\nwill originate from the IPv4 address of the socat host. This may limit the\nusefulness of IP logs or IP based load balancing for that service.\n\n## Usage\n\n```shell\nmake help\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonrupf%2Fdocker-socat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonrupf%2Fdocker-socat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonrupf%2Fdocker-socat/lists"}