Files
voice-cat/README.md
T
Talon c9ed832459
.NET port / test (macos-latest) (push) Canceled after 0s
.NET port / test (ubuntu-24.04) (push) Canceled after 0s
.NET port / test (windows-latest) (push) Canceled after 0s
.NET port / apple-client (push) Canceled after 0s
Retire legacy sources and verify managed iOS deployment
2026-09-19 22:40:48 +02:00

46 lines
1.8 KiB
Markdown

# 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.