Self-hosted voice for Windows

Your voice. Your server.

Group voice, text rooms and screen sharing that run on a PC you own. No accounts with us, no cloud in between. Just a slim strip on the edge of your screen.

v1.0 · Windows 10 & 11 · x64 · free

How it differs

There is no company in the middle. The app talks to one place: the server you were invited to. We don’t run relays. We don’t keep accounts. We never see your calls.

accounts with us
0
servers we run
0
Opus voice
48kHz
typical jitter buffer
10ms

01The app

One strip.
Everything else folds away.

Onset isn’t another window to manage. It sits on the top or bottom edge of your screen, or floats wherever you drop it, and opens a panel only when you ask. Your call keeps going while you work, play or close it to the tray.

Onset strip with the panel open Illustration of the Onset desktop strip: grip, server button, server address, ping readout, call pill showing who is speaking, and microphone, headphones, screen share, notifications, more and settings controls. Below it the panel is open on the Chat tab, with the Screen, Search, Audio and Video, Profile and Settings tabs, a live line with ping, buffer and loss, the rooms column and a text room. 203.0.113.42:8080 18 ms Maya is speaking 12:47 Leave 3 Chat 3 Screen Search Audio & Video Profile Settings ping 18 ms · buffer 40 ms · 0.0% loss TEXT ROOMS general design 2 releases 1 VOICE ROOMS Lobby M Maya D Deniz A Alex Quiet room DIRECT MESSAGES Deniz New room general Persistent room · history is kept on the server Ctrl K D Deniz 21:04 The server is on 1.0 now. Paste the invite from the control panel to connect. M Maya 21:06 In. Voice sounds clean on my side. D Deniz 21:07 @alex can you share the build window? M Maya 21:09 Notes from today: meeting-notes.pdf 1.2 MB Message #general — use @ to mention Send
The Onset strip with its panel open on the Chat tab: rooms on the left, the conversation in the middle and the people in the room on the right.
  • Voice rooms

    Echo cancellation, noise suppression, a speech gate and loss concealment. Set anyone’s volume, or mute them just for you.

  • Text rooms & DMs

    History stays on the server. Replies, edits, @mentions, unread counts and search across messages and files.

  • Files that resume

    Uploads pick up where they stopped, with inline image previews. The server owner sets the limits.

  • Screen sharing

    720p, 1080p or Source at up to 60 fps, with the shared app’s sound. Viewers can pop it out into picture-in-picture.

  • Push-to-talk anywhere

    Global shortcuts for talk, mute and deafen work while another app has focus, including media keys.

  • Ping you can see

    Round-trip time sits on the strip. Jitter buffer depth and packet loss are one click away in the panel.

02Voice path

From your mic to their ears,
with nothing in between but your server.

Voice runs on its own native audio engine, not in a browser tab. It travels over UDP on Onset’s own encrypted protocol, and the server relays each speaker separately. That’s what lets you set every voice’s volume on your side.

  1. MicrophoneNative WASAPI capture at 48 kHz
  2. GateOnly speech leaves your PC
  3. OpusFullband, with forward error correction
  4. GCA3ChaCha20-Poly1305, replay protection
  5. Your serverRelays each speaker, re-sealed per listener
  6. Jitter bufferAdaptive, conceals lost packets
  7. Their earsMixed locally, at the volume they chose

03Server identity

Trust a fingerprint,
not a certificate authority.

Every server mints its own identity the first time it starts. No domain name to buy, no certificate to renew, no port 80. The invite carries the identity’s fingerprint, and your app pins it on first connect.

  • Sign-in, chat and files always travel over HTTPS and secure WebSockets.
  • If a server ever shows a different identity, the app stops and shows you both.
  • You continue only by choosing Trust the new identity, after checking it with the owner.
Invite 203.0.113.42:8080#

This invite is an example. Real ones come from the server owner’s control panel.

SHA-256 of the server’s certificate, drawn one digit at a time

04Screen sharing

Share the game,
not the echo.

Pick a window or a whole screen in the Windows picker. When you share a window, only that app’s sound comes along. When you share a screen, Onset leaves its own audio out, so nobody hears themselves back.

Encrypted with DTLS-SRTP and forwarded by your server. Nothing goes through us.

05Host it yourself

A server is one installer
and a control panel.

Onset Host runs on any Windows PC. A local control panel in your browser handles everything: starting and stopping, LAN or internet mode, invites, registration, backups and logs.

  1. 1

    Install

    Run the Onset Host installer. A shortcut opens the control panel at 127.0.0.1:9090, on your PC only.

  2. 2

    Choose LAN or internet

    Internet mode finds your public IPv4 address and opens the ports on your router with UPnP. Routers without it can be set up by hand.

  3. 3

    Share the invite

    Copy the invite and send it to your friends. They paste it into the app, and that’s it.

Onset Host control panel Illustration of the local control panel at 127.0.0.1:9090. The top card shows the client address, the invite with a Copy invite button, the server identity SHA-256 fingerprint, and Restart server, Start, Stop and Create backup buttons. A metrics card shows process, uptime, reach and router mapping. The Connection form sets reach (LAN or Internet), public IPv4, control TCP port 8080, encrypted voice UDP port 9000, screen share UDP port 9001 and automatic UPnP. The Access and data form sets registration, history retention, backup folder, the first owner setup token, the invite token, call diagnostics and start with Windows. A server log card shows recent backend output. Onset Host Local control panel · only this computer can open it Server online Client address https://203.0.113.42:8080 LAN access: https://192.168.1.20:8080 Invite 203.0.113.42:8080#5482880b923bffe4326ef86288ccdac0c60b82b7a8996f10… Copy invite Server identity (SHA-256) 54:82:88:0B:92:3B:FF:E4:32:6E:F8:62:88:CC:DA:C0:C6:0B:82:B7:A8:99:6F:10:2A:FB:30:60: 02:E4:2A:4C People paste the invite into the client's server field. The client warns if this server's identity ever changes. Restart server Start Stop Create backup PROCESS 4812 UPTIME 3d REACH Internet ROUTER Automatic UPnP · 203.0.113.42 Connection Both modes encrypt traffic with this server's own identity; no domain or certificate is needed. Internet mode can also open the ports on your router. Reach Internet Public IPv4 203.0.113.42 Control TCP port 8080 Encrypted voice UDP 9000 Screen share UDP 9001 Set up my router automatically with UPnP The manager maps the control TCP port and both UDP ports on your router with UPnP. Clients pin this server's identity, so no domain or certificate is needed. Access and data Invite-only registration is the safe default. Zero retention keeps history until it is deleted by a user. Registration Invite token Delete history after days (0 = never) 0 Backup folder (optional) Absolute path on a backup drive or network share Leave empty for local backups. Encrypted archives contain account data and the server identity. Keep your recovery key separately. First owner setup token •••••••••••••••••••••••• Copy Invite token •••••••••••••••••••••••• Copy Keep call diagnostics Start with Windows Save and restart Server log Recent backend output. Passwords and message contents are not logged. 2026/10/01 09:14:02 call telemetry recording to …\data\ telemetry.db, kept 30 days 2026/10/01 09:14:02 voice UDP listening on :9000 2026/10/01 09:14:02 screen WebRTC UDP listening on :9001 (public IP 203.0.113.42) 2026/10/01 09:14:02 control HTTPS/WSS listening on :8080 (server identity SHA-256 54:82:88:0B:92:3B:FF:E4:32:6E: F8:62:88:CC:DA:C0:C6:0B:82:B7:A8:99:6F:10:2A:FB:30:60:02: E4:2A:4C) 2026/10/01 09:14:03 127.0.0.1 GET /api/ready 200 41B 2ms 2026/10/01 09:21:47 198.51.100.7 POST /api/auth/login 200 612B 94ms Internet mode needs the control TCP port and the voice and screen UDP ports forwarded to this computer. With UPnP the manager does this for you.
The server control panel: status, LAN or internet mode, ports, invite and backups.
TCP8080Control: HTTPS & WSS
UDP9000Voice: GCA3
UDP9001Screen: WebRTC

Defaults. You choose the ports in the panel.

  • Backups that don’t interrupt

    Scheduled, encrypted archives taken from a live snapshot. Calls keep running.

  • Picks itself back up

    If the server process stops unexpectedly, the panel restarts it with a growing delay.

  • Your rules

    Closed, invite-token or open registration. Roles, kicks, bans and a moderation log.

  • Data stays put

    Messages and files live in SQLite on that PC. Retention is unlimited unless you set it.

06Download

Free to download. Yours to run.

Both installers are published on GitHub Releases, each with a SHA256SUMS file so you can check what you downloaded.

Server · v1.0

Onset Host

The server and its local control panel, in one installer. Run it on a PC that stays on while people talk.

  • Windows 10 or 11, 64-bit
  • Public IPv4 for internet mode
  • UPnP router, or ports forwarded by hand
Download the server Setup guide and release notes →

About the Windows warning. The installers aren’t signed with a paid code-signing certificate, so SmartScreen may say Windows protected your PC. Check the file against SHA256SUMS, then choose More info → Run anyway.

07Questions

Good to know

Is it really free?

Yes, this version is. There’s nothing to buy and no subscription, and you run the server on your own PC, so there’s no hosting bill from us either. Later versions may be offered under different terms; what you’ve downloaded stays under the license it came with.

Is it end-to-end encrypted?

No, and we’d rather say so plainly. Traffic is encrypted between each app and the server: TLS for control, ChaCha20-Poly1305 for voice, DTLS-SRTP for screen sharing. The server stores messages and files and re-seals voice for each listener, so whoever runs it can technically access them. Join servers run by people you trust.

What do I need to host over the internet?

A public IPv4 address and a router that forwards one TCP port and two UDP ports. The control panel opens them for you with UPnP; otherwise you forward them by hand. On a local network you need neither.

My provider uses CGNAT. Will it work?

Not directly. Behind carrier-grade NAT nobody outside can reach your PC, so internet mode needs a public address. LAN mode works as usual.

Mac, Linux or phones?

Not today. Both the app and the server are built for Windows 10 and 11, 64-bit.

Does anything get sent to you?

No. The app talks only to the servers you add, and to GitHub when it checks for updates. Call statistics (packet counts, buffer depth, loss) go to the server you’re connected to, never to us, and the owner can turn them off. Audio, video, messages and file names are never included.

How do updates work?

The app checks GitHub shortly after it starts and offers a one-click restart. Every package is checked against the signing key built into the app before it’s installed. The app and the server speak one protocol, and it hasn’t changed across 1.x, so an updated app and a server you haven’t updated yet still work together.

Start talking.On your terms.