{"id":18509352,"url":"https://github.com/lgsinnovations/ws-replay","last_synced_at":"2025-05-14T10:17:38.658Z","repository":{"id":43953755,"uuid":"248578065","full_name":"LGSInnovations/ws-replay","owner":"LGSInnovations","description":"WsReplay is a small tool for capturing hard-to-replicate websocket messages so they can be replayed for frontend development","archived":false,"fork":false,"pushed_at":"2022-02-13T08:39:57.000Z","size":14,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-25T20:12:13.233Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/LGSInnovations.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":null,"security":null,"support":null}},"created_at":"2020-03-19T18:37:00.000Z","updated_at":"2020-03-19T19:52:05.000Z","dependencies_parsed_at":"2022-09-08T12:00:13.230Z","dependency_job_id":null,"html_url":"https://github.com/LGSInnovations/ws-replay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGSInnovations%2Fws-replay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGSInnovations%2Fws-replay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGSInnovations%2Fws-replay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGSInnovations%2Fws-replay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LGSInnovations","download_url":"https://codeload.github.com/LGSInnovations/ws-replay/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239222322,"owners_count":19602594,"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-06T15:17:20.182Z","updated_at":"2025-02-17T02:25:32.169Z","avatar_url":"https://github.com/LGSInnovations.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ws-replay\nWsReplay is a small tool for capturing hard-to-replicate websocket messages so they can be replayed for frontend development\n\nTo use:\n- git clone https://github.com/LGSInnovations/ws-replay.git\n- cd ws-replay\n- npm install\n- node example-server.js \u0026\n- node proxy-server.js\n- (Point browser to localhost:3001)\n\n![screenshot1](https://user-images.githubusercontent.com/3712209/77108227-733d9900-69e7-11ea-8b74-7bd6d52dc2af.png)\n\nFor a professional tool, consider one of these tools that existed before this project:\n\n- https://github.com/mitmproxy/mitmproxy\n- https://github.com/mock-server/mockserver\n- https://github.com/Stuk/server-replay\n\n## Work List\n\n- did create example webapp with server and client\n- did let example server stream messages to client via websocket\n- did let client display stream\n- did create proxy with server and client\n- did let proxy client display the example stream by proxying\n- did give example client buttons: Server, send me numbers and Server, stop sending numbers\n- did give proxy main actions: capture/stop/inject radio\n- did make proxy main actions capture/stop/ work\n- did let proxy inject in loop so example client is forced to see letters or numbers\n- did improve display to clarify what is time vs msg\n- let command line arg give WsReplayUI port\n- let command line argument determine whether or not example is shown\n- let WsReplayUI accept and send port of proxied/watched server and port for proxied/watched client\n- create github project\n- give proxy save button\n- let proxy client save to file\n- let proxy client load from file\n- allow user to remove a time+message pair or add one\n- let proxy client display multiple exported/imported data sets?\n- let example client and server share heartbeats?\n- create written tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgsinnovations%2Fws-replay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flgsinnovations%2Fws-replay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgsinnovations%2Fws-replay/lists"}