sf-wasm/
- WebAssembly module that handles WebRTC peer connections and data channelssf-server/
- Signaling server that helps establish WebRTC connections between peerssf-webrtc/
- WebRTC bindings and utilitiessf-protocol/
- Communication protocol definitionssf-peer-id/
- Peer identification and managementsf-metrics/
- Metrics collection and monitoringsf-logging/
- Logging utilities
- Rust and Cargo
- wasm-pack
- Python 3 (for running the example server)
- Docker (optional, for running the server in a container)
The project provides several make commands to help with development:
# Build the WebAssembly module
make build-wasm
# Build the signaling server
make build-server
# Build both the example and server
make build-example
# Run the example (starts both the server and a simple HTTP server)
make run-example
# Watch for changes in the WebAssembly code and rebuild automatically
make watch-wasm
# Build the server Docker image
make docker-server
# Run the server using Docker
make run-server
-
Start the signaling server:
make run-server
-
In a separate terminal, start the development server:
make run-example
-
Open your browser to
http://localhost:8081
to see the example in action.
The project includes Docker support for running the signaling server:
# Build the Docker image
make docker-server
# Run the server container
make run-server
This project is licensed under the terms of the license included in the repository.