{"id":14384551,"url":"https://github.com/libp2p/js-libp2p-websocket-star-rendezvous","last_synced_at":"2025-08-23T17:32:39.094Z","repository":{"id":57230751,"uuid":"102837268","full_name":"libp2p/js-libp2p-websocket-star-rendezvous","owner":"libp2p","description":"The rendezvous service for libp2p-websocket-star enabled nodes meet and talk with each other","archived":true,"fork":false,"pushed_at":"2020-06-10T10:45:28.000Z","size":1294,"stargazers_count":24,"open_issues_count":0,"forks_count":16,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-12-19T15:09:04.117Z","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/libp2p.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-09-08T08:21:18.000Z","updated_at":"2023-01-28T14:10:58.000Z","dependencies_parsed_at":"2022-09-04T17:51:34.903Z","dependency_job_id":null,"html_url":"https://github.com/libp2p/js-libp2p-websocket-star-rendezvous","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fjs-libp2p-websocket-star-rendezvous","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fjs-libp2p-websocket-star-rendezvous/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fjs-libp2p-websocket-star-rendezvous/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fjs-libp2p-websocket-star-rendezvous/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libp2p","download_url":"https://codeload.github.com/libp2p/js-libp2p-websocket-star-rendezvous/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230716547,"owners_count":18269786,"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-08-28T18:01:28.144Z","updated_at":"2024-12-21T12:30:41.038Z","avatar_url":"https://github.com/libp2p.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"⛔️ DEPRECATED: libp2p-websocket-star-rendezvous is not supported anymore from [libp2p@0.27.0](https://github.com/libp2p/js-libp2p/releases/tag/v0.27.0). Check [js-libp2p/doc/CONFIGURATION.md](https://github.com/libp2p/js-libp2p/blob/master/doc/CONFIGURATION.md) for what modules are currently supported.\n\n# libp2p-websocket-star-rendezvous\n\n[![](https://img.shields.io/badge/made%20by-mkg20001-blue.svg?style=flat-square)](http://ipn.io)\n[![](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![](https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23libp2p)\n[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)\n[![](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-websocket-star-rendezvous.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-websocket-star-rendezvous)\n[![](https://img.shields.io/travis/libp2p/js-libp2p-websocket-star-rendezvous.svg?style=flat-square)](https://travis-ci.com/libp2p/js-libp2p-websocket-star-rendezvous)\n[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-websocket-star-rendezvous.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-websocket-star-rendezvous)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)\n\n\u003e The rendezvous service for [libp2p-websocket-star](https://github.com/libp2p/js-libp2p-websocket-star).\n\n## Lead Maintainer\n\n[Jacob Heun](https://github.com/jacobheun)\n\n## Descriptions\n\nNodes using `libp2p-websocket-star` will connect to a known point in the network, a rendezvous point where they can learn about other nodes (Discovery) and route their messages to other nodes (2 hop message routing, also known as relay).\n\n## Usage\n\n`libp2p-websocket-star-rendezvous` is the rendezvous server required for `libp2p-websocket-star` and can be used to start a rendezvous server for development. To do that, first install the module globally in your machine with:\n\n```bash\n\u003e npm install --global libp2p-websocket-star-rendezvous\n```\n\nThis will install a `rendezvous` CLI tool. Now you can spawn the server with:\n\n```bash\n\u003e rendezvous --port=9090 --host=127.0.0.1\n```\n\nDefaults:\n\n- `port` - 9090\n- `host` - '0.0.0.0'\n\n## Docker\n\nA docker image is offered for running this service in production\n\n```\ndocker pull libp2p/websocket-star-rendezvous:release\ndocker run -d -p 9090:9090 --name rendezvous libp2p/websocket-star-rendezvous:release\n```\n\nTo disable prometheus metrics run the server with `-e DISABLE_METRICS=1`\n\n```\ndocker run -d -p 9090:9090 --name rendezvous -e DISABLE_METRICS=1 libp2p/websocket-star-rendezvous:release\n```\n\n## Hosted Rendezvous server\n\nWe host a rendezvous server at `ws-star.discovery.libp2p.io` that can be used for practical demos and experimentation, it **should not be used for apps in production**.\n\nA libp2p-websocket-star address, using the signalling server we provide, looks like:\n\n`/dns4/ws-star.discovery.libp2p.io/wss/p2p-websocket-star/ipfs/\u003cyour-peer-id\u003e`\n\nNote: The address above indicates WebSockets Secure, which can be accessed from both http and https.\n\n\n### Using WSS\n\nTo be able to interact with a rendezvous server from an HTTPS site, you will need to use websocket secure. To host a secure websocket server, you must provide a keypair to the server.\n\n#### Using key and certificate\n\n```bash\n\u003e rendezvous --key=\"path/to/key.key\" --cert=\"path/to/cert.cert\"\n```\n\n#### Using PFX with passphrase\n\n```bash\n\u003e rendezvous --pfx=\"path/to/pair.pfx\" --passphrase=\"passphrase\"\n```\n\n\n### This module uses `pull-streams`\n\nWe expose a streaming interface based on `pull-streams`, rather then on the Node.js core streams implementation (aka Node.js streams). `pull-streams` offers us a better mechanism for error handling and flow control guarantees. If you would like to know more about why we did this, see the discussion at this [issue](https://github.com/ipfs/js-ipfs/issues/362).\n\nYou can learn more about pull-streams at:\n\n- [The history of Node.js streams, nodebp April 2014](https://www.youtube.com/watch?v=g5ewQEuXjsQ)\n- [The history of streams, 2016](http://dominictarr.com/post/145135293917/history-of-streams)\n- [pull-streams, the simple streaming primitive](http://dominictarr.com/post/149248845122/pull-streams-pull-streams-are-a-very-simple)\n- [pull-streams documentation](https://pull-stream.github.io/)\n\n#### Converting `pull-streams` to Node.js Streams\n\nIf you are a Node.js streams user, you can convert a pull-stream to a Node.js stream using the module [`pull-stream-to-stream`](https://github.com/pull-stream/pull-stream-to-stream), giving you an instance of a Node.js stream that is linked to the pull-stream. For example:\n\n```js\nconst pullToStream = require('pull-stream-to-stream')\n\nconst nodeStreamInstance = pullToStream(pullStreamInstance)\n// nodeStreamInstance is an instance of a Node.js Stream\n```\n\nTo learn more about this utility, visit https://pull-stream.github.io/#pull-stream-to-stream.\n\nLICENSE MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibp2p%2Fjs-libp2p-websocket-star-rendezvous","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibp2p%2Fjs-libp2p-websocket-star-rendezvous","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibp2p%2Fjs-libp2p-websocket-star-rendezvous/lists"}