Skip to content

kunalpjain/light_voice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LightVoice

Voice-only conference calls on your local network. No accounts, no relay servers, no cloud — just a Go binary that serves a web app and peers connect directly via WebRTC (Opus, 48 kHz).

Requirements

  • Go 1.21 or later
  • Any modern browser (Chrome, Firefox, Safari, Edge)

Build & Run

make run

Or manually:

go mod download
go build -o lightvoice .
./lightvoice

The server starts on port 8443 (HTTPS). On first launch it generates a self-signed TLS certificate (cert.pem / key.pem) in the current directory. HTTPS is required so browsers allow microphone access from non-localhost devices.

Connect from other devices

The terminal shows the URLs available on your local network:

+-----------------------------------------+
|         LightVoice Server               |
+-----------------------------------------+
|  Share these URLs on your local network:|
|                                         |
|    https://192.168.1.42:8443            |
|    https://localhost:8443 (this machine)|
|    ...                                  |
+-----------------------------------------+

Share any of the https://... URLs with people on the same Wi-Fi or wired network. They will see a browser security warning for the self-signed cert — click Advanced → Proceed (or Accept the Risk) once, then the app loads.

Trusted certificate (optional, no browser warning)

Install mkcert, then:

mkcert -install
mkcert -cert-file cert.pem -key-file key.pem localhost 127.0.0.1 192.168.1.42
./lightvoice

Replace 192.168.1.42 with your machine's actual LAN IP.

Options

./lightvoice -port 8443

Architecture

Mac (LightVoice binary)
├── HTTPS server  →  serves web client (HTML/CSS/JS embedded in binary)
└── WebSocket /ws →  WebRTC signaling (offer/answer/ICE exchange)

Browser A ──(WebRTC P2P audio)──► Browser B
         ↖──────────────────────────↙
         (no server in the audio path)

Audio flows directly between browsers — the Mac server only handles signaling (a few small JSON messages per connection). CPU and memory usage stays near zero once peers are connected.

Voice quality settings

  • Codec: Opus (48 kHz, mono)
  • Echo cancellation, noise suppression, auto gain control: enabled
  • Audio latency: requested minimum
  • Transport: WebRTC SRTP (encrypted, P2P)

About

Voice-only conference calls on your local network. No accounts, no relay servers, no cloud — a single Go binary serves a web app and peers connect directly via WebRTC (Opus, 48 kHz) over your LAN.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors