{"id":23650197,"url":"https://github.com/ryanj/ws-test","last_synced_at":"2026-01-26T19:21:55.748Z","repository":{"id":261674050,"uuid":"884451487","full_name":"ryanj/ws-test","owner":"ryanj","description":"Test your websocket interactions on OpenShift","archived":false,"fork":false,"pushed_at":"2024-11-23T22:35:21.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-20T00:12:47.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","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/ryanj.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-06T19:20:53.000Z","updated_at":"2024-11-23T22:35:25.000Z","dependencies_parsed_at":"2025-05-20T00:12:48.218Z","dependency_job_id":"c664a63e-88a9-4764-beb2-bc9075c5a068","html_url":"https://github.com/ryanj/ws-test","commit_stats":null,"previous_names":["ryanj/ws-test"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ryanj/ws-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanj%2Fws-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanj%2Fws-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanj%2Fws-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanj%2Fws-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanj","download_url":"https://codeload.github.com/ryanj/ws-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanj%2Fws-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28785313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"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":"2024-12-28T15:52:16.826Z","updated_at":"2026-01-26T19:21:55.743Z","avatar_url":"https://github.com/ryanj.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ws-test\n\nTest your websocket interactions on OpenShift\n\nNOTE: Websocket connections can only be upgraded from http to ws, or from https to wss\n\nTo use https+wss, make sure to mount secrets as files:\n\n * `public.crt`\n * `private.key`\n\nOr, expose secrets as environment variables: `PUBLIC_CRT` `PRIVATE_KEY`\n\nIf secrets are not found, this app will default to http+ws only.\n\n## OpenShift\n\nWebsocket connections will work successfully when connecting over http/ws, or when using a \"passthrough\" Route for full https+wss support.\n\nWARNING: You may be tempted to use an \"edge\" Route with SSL termination for this app.  Edge Routes can allow developers to simplify to \"http\" only, and to avoid using certificates in their server config.  However, edge terminated Routes will NOT allow a connection upgrade from http to wss since the protocol is mismatched.  Your webserver must be configured for direct https connections using TLS certs in order to successfully negotiate the wss connection upgrade.  This is why passthrough Routes are required for wss connectivity.\n\n## Local Dev\n\n1. Generate a [localhost certificate](https://letsencrypt.org/docs/certificates-for-localhost/) for dev testing:\n```bash\nopenssl req -x509 -out public.crt -keyout private.key \\\n  -newkey rsa:2048 -nodes -sha256 \\\n  -subj '/CN=localhost' -extensions EXT -config \u003c( \\\n   printf \"[dn]\\nCN=localhost\\n[req]\\ndistinguished_name = dn\\n[EXT]\\nsubjectAltName=DNS:localhost\\nkeyUsage=digitalSignature\\nextendedKeyUsage=serverAuth\")\n```\n2. Install dependencies:\n```\nnpm install\n```\n3. Start the webserver:\n```\nnpm start\n```\n4. Connect to the webserver at [https://localhost:8080/](https://localhost:8080/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanj%2Fws-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanj%2Fws-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanj%2Fws-test/lists"}