{"id":16327287,"url":"https://github.com/bryopsida/eureka","last_synced_at":"2026-03-08T04:31:16.852Z","repository":{"id":229937796,"uuid":"778029150","full_name":"bryopsida/eureka","owner":"bryopsida","description":"Discovery library to facilitate finding other pieces of a system on spin up","archived":false,"fork":false,"pushed_at":"2026-02-12T17:03:51.000Z","size":119,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-13T00:55:30.622Z","etag":null,"topics":["authenticated-encryption","discovery","multicast","udp","zeroconf"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bryopsida.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-27T00:12:43.000Z","updated_at":"2024-09-28T14:10:45.000Z","dependencies_parsed_at":"2024-04-15T00:32:46.849Z","dependency_job_id":"a93ef348-1641-4c1e-a2d8-0b3b9c9f0dda","html_url":"https://github.com/bryopsida/eureka","commit_stats":null,"previous_names":["bryopsida/eureka"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bryopsida/eureka","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryopsida%2Feureka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryopsida%2Feureka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryopsida%2Feureka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryopsida%2Feureka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bryopsida","download_url":"https://codeload.github.com/bryopsida/eureka/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryopsida%2Feureka/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29987755,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T22:42:38.399Z","status":"ssl_error","status_checked_at":"2026-03-01T22:41:51.863Z","response_time":124,"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":["authenticated-encryption","discovery","multicast","udp","zeroconf"],"created_at":"2024-10-10T23:10:59.176Z","updated_at":"2026-03-08T04:31:16.833Z","avatar_url":"https://github.com/bryopsida.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eureka\n\n## What is this?\n\nA simple library to share small bits of information across processes that are on the same multicast network\n\n## How does it work?\n\nThe library is provided a pre shared key, this needs to be the same for all members.\nMembers can have properties set as 'their' properties which they broadcast for other members to discover properties about them.\nWhen the current process receives a message on the multicast group, it decrypts, runs verification and then emits events for the upper\nlayer to consume.\n\n## What about rotation of the PSK?\n\nTBD, but things may retain knowledge of the previous key for a period of time, and when they see a message from a thing using the old key,\nthey may send a message using the old key informing the thing to move to the new key, or it may be a out of band process handed by other means.\n\n## How do I use it?\n\nTwo implementations will exist, Node.JS, and Golang, the Node.JS will be available in npm, the golang implementation will be available as a gomodule.\n\n### JSDoc Page\n\nYou can find a hosted JSDoc page of the latest release [here](https://bryopsida.github.io/eureka/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryopsida%2Feureka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbryopsida%2Feureka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryopsida%2Feureka/lists"}