# VoiceCat VoiceCat is a self-hosted, channel-based voice and text chat system built on .NET 10. It uses TLS 1.3 for protobuf control traffic and authenticated encrypted UDP for Opus media. There is no WebRTC, central directory, or plaintext mode. The repository contains a managed server, CLI, shared client/audio core, and native Windows, macOS, and iOS user interfaces. A small C library supplies Opus/RNNoise, and a small Swift iOS extension captures ReplayKit application audio. ## Build ```bash ./dotnet/build-native.ps1 dotnet restore dotnet/VoiceCat.slnx --locked-mode dotnet build dotnet/VoiceCat.slnx -c Release --no-restore dotnet test dotnet/VoiceCat.slnx -c Release --no-build ``` See [CLAUDE.md](CLAUDE.md) for the developer map, [docs/README.md](docs/README.md) for current contracts, and [PROGRESS.md](PROGRESS.md) for the short release handoff. ## Layout ```text proto/ protobuf wire schema dotnet/src/ managed protocol, crypto, server, client, audio, and CLI dotnet/tests/ managed behavior and integration tests clients/windows/ WinForms client clients/apple/dotnet/ AppKit and UIKit clients native/media/ narrow Opus/RNNoise C shim native/rnnoise/ vendored RNNoise source and model native/apple/broadcast/ ReplayKit broadcast extension docs/ current contracts and operating documentation ``` The remaining C++ implementation and old Swift applications are unsupported retirement sources. They are not compatibility targets or architectural authorities. ## Non-negotiable constraints - Encryption is mandatory. - No GPL or LGPL dependencies. - Real-time audio callbacks never allocate, lock, block, or perform I/O. - Accessibility is a release requirement on every client platform.