RelayX is a serverless voice chat software based on Tailscale network, built with electron, react and pion/webrtc. RelayX aims to create a user-controlled voice communication platform without the need for central servers.
twg: tailscale-webrtc-gatewaycpa: capture-process-audio
RelayX integrates a Capture Process Audio (CPA) component to capture audio from specific processes in Windows. This component is built using C++ and leverages Windows Core Audio APIs to achieve process audio capture. see process-audio-capture-stdio repo for more details.
- Node.js 20+
- Go 1.24+
- Windows
# Install frontend dependencies
yarn install
# Download capture process audio component
yarn downloadCPA
# Build Go backend
yarn build:go# Start development server
yarn dev# Build complete application
yarn buildrun vscode task Run Default on 5173 & A on 5174,
this will start two dev instances in one terminal.
config.json: Main configuration file for RelayX.env: Tailscale authentication key and hostname (the empty env file will be created even if user don't use authkey to login)
This project uses the apache License - see the LICENSE file for details.
- Tailscale - Provides secure network connections
- Electron - Desktop application framework
- Pion WebRTC - Go WebRTC implementation
- RNNoise - Noise suppression
- shadcn/ui - UI components