{"id":13571847,"url":"https://github.com/socketstream/socketstream","last_synced_at":"2026-03-17T20:13:19.338Z","repository":{"id":1310489,"uuid":"1254218","full_name":"socketstream/socketstream","owner":"socketstream","description":"A framework for Realtime Web Apps","archived":false,"fork":false,"pushed_at":"2022-03-09T20:49:22.000Z","size":5349,"stargazers_count":3528,"open_issues_count":30,"forks_count":283,"subscribers_count":111,"default_branch":"develop","last_synced_at":"2025-12-20T07:59:17.557Z","etag":null,"topics":["nodejs","realtime"],"latest_commit_sha":null,"homepage":"","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/socketstream.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-14T11:47:16.000Z","updated_at":"2025-12-09T04:34:19.000Z","dependencies_parsed_at":"2022-07-06T20:04:56.178Z","dependency_job_id":null,"html_url":"https://github.com/socketstream/socketstream","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/socketstream/socketstream","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketstream%2Fsocketstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketstream%2Fsocketstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketstream%2Fsocketstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketstream%2Fsocketstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/socketstream","download_url":"https://codeload.github.com/socketstream/socketstream/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketstream%2Fsocketstream/sbom","scorecard":{"id":835650,"data":{"date":"2025-08-11","repo":{"name":"github.com/socketstream/socketstream","commit":"790bfbd20cda239e20dba6ed7f05425438c030e8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/socketstream/socketstream/codeql-analysis.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/socketstream/socketstream/codeql-analysis.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/socketstream/socketstream/codeql-analysis.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/socketstream/socketstream/codeql-analysis.yml/develop?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'develop'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T18:58:12.005Z","repository_id":1310489,"created_at":"2025-08-23T18:58:12.005Z","updated_at":"2025-08-23T18:58:12.005Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30630297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"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":["nodejs","realtime"],"created_at":"2024-08-01T14:01:07.148Z","updated_at":"2026-03-17T20:13:19.295Z","avatar_url":"https://github.com/socketstream.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# NOTICE - NO LONGER WORKED ON\n\nHi, SocketStream isn't maintained anymore, but the code is here for anyone who wants to take a look.\n\nThere are lots of other Node.js web application frameworks out there, please consider those instead for building your applications.\n\nPaul Jensen, Wednesday 15th May, 2019.\n\n![SocketStream!](https://github.com/socketstream/socketstream/raw/master/new_project/client/static/images/logo.png)\n\n# SocketStream\n[![Build Status](https://api.travis-ci.org/socketstream/socketstream.svg?branch=master)](https://travis-ci.org/socketstream/socketstream) [![Dependency Status](https://david-dm.org/socketstream/socketstream.svg)](https://david-dm.org/socketstream/socketstream#info=dependencies) [![devDependency Status](https://david-dm.org/socketstream/socketstream/dev-status.svg)](https://david-dm.org/socketstream/socketstream#info=devDependencies) [![Code Climate](https://codeclimate.com/github/socketstream/socketstream.svg)](https://codeclimate.com/github/socketstream/socketstream) [![Codacy Badge](https://www.codacy.com/project/badge/802df47157c84beca4c3dbcda76bc553)](https://www.codacy.com/public/paulbjensen_2636/socketstream) [![NPM version](https://badge.fury.io/js/socketstream.svg)](http://badge.fury.io/js/socketstream) [![Gitter chat](https://badges.gitter.im/socketstream.svg)](https://gitter.im/socketstream/socketstream)\n[![Issue Stats](http://issuestats.com/github/socketstream/socketstream/badge/pr)](http://issuestats.com/github/socketstream/socketstream)\n[![Issue Stats](http://issuestats.com/github/socketstream/socketstream/badge/issue)](http://issuestats.com/github/socketstream/socketstream)\n[![Coverage Status](https://img.shields.io/coveralls/socketstream/socketstream.svg)](https://coveralls.io/r/socketstream/socketstream?branch=master)\n[![Stories in Ready](https://badge.waffle.io/socketstream/socketstream.png?label=ready\u0026title=Ready)](https://waffle.io/socketstream/socketstream)\n\n\n### Introduction\n\nSocketStream is a framework for Realtime Web Apps\n\n_Latest release: 0.5.3 unstable ([view changelog](CHANGELOG.md))_\n\n[Live demo](http://demo.socketstream.com) | [Documentation](http://socketstream.github.io/socketstream/docs/)\n\nFor existing SocketStream installations you may want to remain on `0.4.5` for a while. It is the most backwards compatible\nand robust and  well covered by tests. It should be ready for production.\n\nThe coming releases will see a lot of changes to accommodate new transport options modern browsers and mobile apps. The API\nwill remain largely the same, but there are bound to be some changes.\n\n### Installation\n\n    npm install -g socketstream\n\n### Usage\n\n    socketstream new \u003cyour_app_name\u003e\n    cd \u003cyour_app_name\u003e\n    npm install\n    npm start\n\nThen open a web browser at localhost:3000:\n\n    open http://localhost:3000\n\n### Upgrade from 0.3 or 0.4 to 0.5\n\nTo make SocketStream more stable some major dependencies have been moved out. Please add these modules to `package.json`.\n\n* socketstream-cookie-session: 0.5.x\n* engine.io: 1.5.2\n* engine.io-client: 1.5.2\n* redis: 0.12.1\n* connect: 3.4.0\n\n### Why SocketStream?\n\nThe Real-Time web has been touted for years, and it is very much in use. However there remains a number of challenges that have not been solved.\nWeb Sockets will remain an important technology for delivering a _live_ experience on your website or mobile app. However with HTTP/2 and WebRTC\nother options come into play. SocketStream will help you to mix and match depending on what you aim to build.\n\nIt gives you tools to manage your project:\n\n* Providing a sensible place to put everything\n* Accelerating deployment with integrated asset packing and CDN support\n* Production Deployment skeleton\n* Good debugging output\n\nIntegration points:\n\n* Accelerating development with Live Reload and (optional) support for Stylus, Jade, and other transpilers.\n* Add-ons can be dropped in without configuration needed picking between Cookie and Token based auth.\n\nEasy progression from REST\n\nA good REST API will remain the right solution for many scenarios. Web pages will remain based on HTTP. Streaming is pixie dust sprinkled on top. SocketStream will be refactored to support a gradual addition on pixie dust keeping the REST structure as the central point.\n\nBatteries included:\n\n* Dependencies are peer, so you pick the versions you want to use.\n* Built-in CommonJS bundler (ES6 on-the-way)\n* Built in formatter integration for: Sass, LESS, Stylus, Jade, Hogan\n* Built in template engine integration for: HTML5, React, Angular, jQuery\n* Built in transport integration for: Socket.io and SockJS\n* Examples\n\nBuilding a simple chat app that uses websockets is easy, but rich, non-trivial, responsive realtime UI without ending up with a mess of code is hard SocketStream eases the pain by:\n\n### How to\n\n* Base the application on [Connect and Engine io](https://github.com/socketstream/ss-examples/tree/master/connect-and-engineio)\n* Base the application on [Express and SockJS](https://github.com/socketstream/ss-examples/tree/master/express-4-and-js)\n* Make a minimal application like [SocketStream 0.3](https://github.com/socketstream/ss-examples/tree/master/legacy-app)\n* Serve [HTTP resources and pages](http://socketstream.github.io/socketstream/docs/#/tutorials/serving_http_resources)\n* Choosing the right [Streaming Protocol](http://socketstream.github.io/socketstream/docs/#/tutorials/choosing_protocol)\n\n### Applications using SocketStream\n\n- [Dashku](https://github.com/Anephenix/dashku): Realtime dashboards and widgets using HTML, CSS and JavaScript. Also hosted at [dashku.com](https://dashku.com).\n- [SketchDeck](http://sketchdeck.com): An app for designing great slide decks from sketches, also a Y Combinator tech startup.\n- [Hollow](http://hollowdocumentary.com/): An interactive, emmy-nominated documentary.\n- [Bitjoy](http://bitjoy.org/): Realtime Bitcoin prices and news.\n- [Teeleader](http://www.teeleader.com): A booking engine for Golf courses.\n\n### Presentations\n\n- SocketStream (November 2013): On [Slideshare](http://www.slideshare.net/paulbjensen/socketstream-28194445) and [SpeakerDeck](https://speakerdeck.com/paulbjensen/socketstream).\n- SocketStream (July 2015): On [SpeakerDeck](https://speakerdeck.com/paulbjensen/socketstream-nyccamp-2015).\n\n### Videos\n\n(most recent at end)\n\n* [KrtConf.com, Portland, November 2011](http://2011.krtconf.com/videos/owen_barnes)\n* [LNUG.org, London, May 2012](http://vimeo.com/43027679)\n* [LXJS, Lisbon, September 2012](http://www.youtube.com/watch?v=LOS1lpWXphs)\n* [RealtimeConf, Portland, October 2012](http://2012.realtimeconf.com/video/owen-barnes)\n* [QCon, San Francisco, November 2012](http://www.infoq.com/presentations/SocketStream)\n* [RealtimeConf EU, Lyon, April 2013](https://www.youtube.com/watch?v=76ZSp3OtCTM)\n\n### Documentation\n\nCheckout the [documentation here](http://socketstream.github.io/socketstream/docs/#/tutorials).\n\n\n### Team\n\n*Owner:* Henrik Vendelbo\n\n*Original Creator:* Owen Barnes\n\n*Core Contributors:*\n\n- Paul Jensen\n- Roman Minkin\n- Robert Hall\n- Joshua Cullick\n\n### Contact\n\n- Twitter: [@socketstream](http://twitter.com/#!/socketstream)  \n- Chat: [Gitter](https://gitter.im/socketstream/socketstream)\n\n### License\n\nSocketStream is released under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketstream%2Fsocketstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsocketstream%2Fsocketstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketstream%2Fsocketstream/lists"}