{"id":20127147,"url":"https://github.com/cloudamqp/websocket-tcp-relay","last_synced_at":"2025-05-06T18:31:19.299Z","repository":{"id":37690254,"uuid":"343723437","full_name":"cloudamqp/websocket-tcp-relay","owner":"cloudamqp","description":"Expose any TCP server as a WebSocket endpoint","archived":false,"fork":false,"pushed_at":"2024-10-11T08:16:21.000Z","size":66,"stargazers_count":31,"open_issues_count":5,"forks_count":11,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-09T15:30:04.528Z","etag":null,"topics":["tcp-server","websocket"],"latest_commit_sha":null,"homepage":"","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudamqp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-02T09:50:42.000Z","updated_at":"2025-02-26T08:54:37.000Z","dependencies_parsed_at":"2023-01-21T11:47:09.218Z","dependency_job_id":"20d33edd-0743-4a8d-8cf4-90a0197290b8","html_url":"https://github.com/cloudamqp/websocket-tcp-relay","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudamqp%2Fwebsocket-tcp-relay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudamqp%2Fwebsocket-tcp-relay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudamqp%2Fwebsocket-tcp-relay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudamqp%2Fwebsocket-tcp-relay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudamqp","download_url":"https://codeload.github.com/cloudamqp/websocket-tcp-relay/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252744432,"owners_count":21797616,"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":["tcp-server","websocket"],"created_at":"2024-11-13T20:19:28.265Z","updated_at":"2025-05-06T18:31:18.950Z","avatar_url":"https://github.com/cloudamqp.png","language":"Crystal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebSocket TCP Relay\n\nWebSocket server that relay traffic to any TCP server. It also serves static files from `--webroot` directory.\n\n## Installation\n\nDebian/Ubuntu:\n\n```bash\nwget -qO- https://packagecloud.io/cloudamqp/websocket-tcp-relay/gpgkey | sudo apt-key add -\necho \"deb https://packagecloud.io/cloudamqp/websocket-tcp-relay/ubuntu/ $(lsb_release -cs) main\" | sudo tee /etc/apt/sources.list.d/websocket-tcp-relay.list\n\nsudo apt update\nsudo apt install websocket-tcp-relay\n```\n\nDocker/Podman:\n\nDocker images are published to [Docker Hub](https://hub.docker.com/r/cloudamqp/websocket-tcp-relay). Fetch and run the latest version with:\n\n`docker run --rm -it -p 15670:15670 cloudamqp/websocket-tcp-relay --upstream tcp://container:5672`\n\n## Usage\n\n```\nUsage: websocket-tcp-relay [arguments]\n    -u URI, --upstream=URI           Upstream (eg. tcp://localhost:5672 or tls://127.0.0.1:5671)\n    -b HOST, --bind=HOST             Address to bind to (default localhost)\n    -p PORT, --port=PORT             Address to bind to (default 15670)\n    --tls-cert=PATH                  TLS certificate + chain (default ./certs/fullchain.pem)\n    --tls-key=PATH                   TLS certificate key (default ./certs/privkey.pem)\n    -P, --proxy-protocol             If the upstream expects the PROXY protocol (default false)\n    -w PATH, --webroot=PATH          Directory from which to serve static content (default ./webroot)\n    -c PATH, --config=PATH           Config file\n    -v, --version                    Display version number\n    -h, --help                       Show this help\n```\n\nExample config file:\n\n```ini\n[main]\nupstream = tcp://127.0.0.1:5672\nbind = 127.0.0.1\nport = 15670\nproxy-protocol = false\nwebroot = /var/lib/wwwroot\ntls-cert = /etc/ssl/certs/fullchain.pem\ntls-key = /etc/ssl/private/privkey.pem\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudamqp%2Fwebsocket-tcp-relay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudamqp%2Fwebsocket-tcp-relay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudamqp%2Fwebsocket-tcp-relay/lists"}