{"id":15057824,"url":"https://github.com/w3c/openscreenprotocol","last_synced_at":"2025-07-09T06:01:57.448Z","repository":{"id":41952288,"uuid":"69027976","full_name":"w3c/openscreenprotocol","owner":"w3c","description":"Open Screen Application Protocol + Open Screen Network Protocol","archived":false,"fork":false,"pushed_at":"2025-06-09T15:04:51.000Z","size":2754,"stargazers_count":97,"open_issues_count":31,"forks_count":22,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-06-09T15:32:10.540Z","etag":null,"topics":["second-screen"],"latest_commit_sha":null,"homepage":"","language":"Bikeshed","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/w3c.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2016-09-23T13:37:18.000Z","updated_at":"2025-06-09T15:02:36.000Z","dependencies_parsed_at":"2024-04-25T05:24:14.998Z","dependency_job_id":"d3129888-0db5-4691-b88a-544f21cad49c","html_url":"https://github.com/w3c/openscreenprotocol","commit_stats":{"total_commits":618,"total_committers":18,"mean_commits":"34.333333333333336","dds":"0.41585760517799353","last_synced_commit":"a438c32c21ee9998acb491af6194531cc6755a16"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/w3c/openscreenprotocol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3c%2Fopenscreenprotocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3c%2Fopenscreenprotocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3c%2Fopenscreenprotocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3c%2Fopenscreenprotocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/w3c","download_url":"https://codeload.github.com/w3c/openscreenprotocol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3c%2Fopenscreenprotocol/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264403541,"owners_count":23602614,"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":["second-screen"],"created_at":"2024-09-24T22:12:25.143Z","updated_at":"2025-07-09T06:01:57.405Z","avatar_url":"https://github.com/w3c.png","language":"Bikeshed","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Open Screen Protocol\n\nThis repository is used to develop\nthe [Open Screen Application Protocol](https://www.w3.org/TR/openscreen-application/)\nand [Open Screen Network Protocol](https://www.w3.org/TR/openscreen-network/), a suite of\nnetwork protocols that allow user agents to implement the [Presentation\nAPI](https://www.w3.org/TR/presentation-api/) and [Remote Playback\nAPI](https://www.w3.org/TR/remote-playback/) in an interoperable fashion.\n\nThe [explainer](explainer.md) goes into more depth regarding the motivation, and\nrationale, and design choices for the protocol.\n\nThis work is in scope for the [W3C Second Screen Working\nGroup](https://www.w3.org/2014/secondscreen/)\n([Charter](https://www.w3.org/2024/05/charter-secondscreen-wg.html)).\n\nPlease refer to the group's [Work\nMode](https://www.w3.org/wiki/Second_Screen/Work_Mode) for instructions on how\nto contribute.\n\nThe protocol will meet the [functional and non-functional\nrequirements](requirements.md) of the respective APIs as well as [hardware\nrequirements](device_specs.md) for prospective implementations.\n\n### Status\n\nThe protocol is considered to be complete for the requirements above.  It will\nbe published as a First Public Working Draft in mid-March 2021.  The remaining\nissues on the draft are tagged\n[_v1-spec_](https://github.com/w3c/openscreenprotocol/labels/v1-spec) in GitHub\nand noted [inline in the\nspec](https://w3c.github.io/openscreenprotocol/#issues-index).\n\n### Related technologies\n\nThe Open Screen Protocol is built on the following standardized technologies:\n\n- [mDNS](https://tools.ietf.org/html/rfc6762)/[DNS-SD](https://tools.ietf.org/html/rfc6763)\n  to allow networked devices that support OSP (Open Screen agents) to discover\n  each other;\n- [TLS 1.3](https://tools.ietf.org/html/rfc8446) and a Password-Authenticated\n  Key Exchange\n  ([PAKE](https://datatracker.ietf.org/doc/draft-irtf-cfrg-spake2/)) to create a\n  secure channel between agents;\n- [QUIC](https://datatracker.ietf.org/doc/draft-ietf-quic-transport/) to\n  transport data and media between agents;\n- [CBOR](https://tools.ietf.org/html/rfc8949) to encode structured data and\n  media on-the-wire.\n\n### Background Information\n\nThe excellent [Discovery and Pairing Literature\nReview](https://github.com/bbc/device-discovery-pairing/blob/master/document.md)\nby [@chrisn](https://github.com/chrisn) and\n[@libbymiller](https://github.com/libbymiller) covers a wide range of existing\ntechnologies for ad-hoc interconnection among networked devices, including\nmDNS/DNS-SD and SSDP.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw3c%2Fopenscreenprotocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fw3c%2Fopenscreenprotocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw3c%2Fopenscreenprotocol/lists"}