Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/urbit/urbit-webrtc
WebRTC integration for Urbit: https://grants.urbit.org/proposals/21131866-webrtc-gall-agent-and-external-app
https://github.com/urbit/urbit-webrtc
Last synced: 4 days ago
JSON representation
WebRTC integration for Urbit: https://grants.urbit.org/proposals/21131866-webrtc-gall-agent-and-external-app
- Host: GitHub
- URL: https://github.com/urbit/urbit-webrtc
- Owner: urbit
- License: mit
- Created: 2021-01-23T21:01:09.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-24T20:49:38.000Z (almost 2 years ago)
- Last Synced: 2024-10-26T20:29:26.141Z (15 days ago)
- Language: TypeScript
- Size: 16.5 MB
- Stars: 34
- Watchers: 20
- Forks: 10
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-urbit - urbit-webrtc
README
# urbit-webrtc
WebRTC integration for Urbit: https://grants.urbit.org/proposals/21131866-webrtc-gall-agent-and-external-app[![awesome urbit badge](https://img.shields.io/badge/~-awesome%20urbit-lightgrey)](https://github.com/urbit/awesome-urbit)
## Packages
- `icepond`: Gall agent and marks for ICE server acquisition
- `icepond-js`: Javascript library for fetching ICE servers over airlock from icepond
- `icepond-test`: React app demonstrating icepond
- `switchboard`: Gall agent and marks for signalling WebRTC peer connections
- `switchboard-js` Javascript library for setting up WebRTC peer connections via Urbit airlock to switchboard
- `urchatfm`: React app demonstrating peer-to-peer ephemeral chat over WebRTC, signalled over Urbit## Design
See [DESIGN.md](DESIGN.md)## Getting Started
Run `npm i && npm run bootstrap` to get started. This project uses [lerna](https://lerna.js.org/) to manage the `switchboard-js` and `icepond-js` packages. Add a `.env.local` file to the `urchatfm` directory with the following entry `VITE_SHIP_URL=https://yourshipurl.com` replacing "https://yourshipurl.com" with your actual url.
Whenever working you can simply run `npm run dev` from the root directory which will simultaneously watch both packages for any changes and run the development server for `urchatfm`. It will proxy requests to the ship url added above. That ship will have to have `urchatfm` installed.
When it's time to release `urchatfm` running `npm run build` will build all packages and `urchatfm` itself. The resulting `urchatfm/dist` folder is then ready to be made into a glob.
If either `switchboard-js` or `icepond-js` are updated, they can be published to npm using `npm run publish`.