Features
What WFAS currently does. Some features are newer and less tested than others.
Experimental project, not security-audited. WFAS is a personal project by an engineering student. Its security features have not had any formal audit, so please do not rely on them for sensitive data or on untrusted networks. Read the full disclaimer
Native audio capture
On Windows and macOS, system audio capture is built into the app via a native C engine, no external virtual drivers needed. On Linux, a PulseAudio/PipeWire virtual sink is created and managed automatically.
Server and Client, Unicast and Multicast
You can start the device as a Server (to send audio) or as a Client (to receive it). It supports both direct Unicast transmission to a single device which is generally more stable, and Multicast broadcasting to multiple devices simultaneously.
6 streaming protocols
The engine supports different formats to suit different networks and receiving devices.
| Protocol | Latency | Compatibility | Notes |
|---|---|---|---|
| Native WFAS | Very low | WFAS app only | Raw audio, optionally encrypted; suitable for video and games |
| RTP | Low | Standard audio software | For integration in complex setups |
| HTTP/AAC | High | Any browser | Listening from Smart TV or other phones |
| HTTP/Opus | High | Modern browsers | Good quality at low bitrates |
| DLNA / UPnP | Medium | Smart TVs, AV receivers, soundbars | Stream directly to TV/speakers without installing apps |
| Snapcast | Medium | Snapcast clients, Raspberry Pi, ESP32 | Synchronized whole-home multiroom audio |
QR Code pairing
Connect devices by scanning an on-screen QR code. It generates a random 256-bit ephemeral key (kept in RAM only and expiring after 120 s) that is used for the encrypted handshake without manual configuration, with ASCII QR support in the CLI.
USB streaming
Connect your smartphone via USB tethering to avoid Wi-Fi congestion, which can give a more consistent latency. Includes dedicated USB jitter buffering (5–120 ms) and interface routing rules.
Microphone routing
Configurable microphone handling. You can disable it, use it as a standalone virtual mic, or mix it directly into the main audio stream so you can talk while broadcasting PC audio. Includes real-time mute.
Interface
Built with Material You; the interface follows your system theme and supports dark mode. The app can start minimized in the system tray.
CLI Mode
A terminal mode for headless servers and people who prefer the command line, with a real-time spectrum analyzer and volume control and no graphical dependencies.
About the CLI →In-app updates and changelog
Automatically checks for new versions and shows release notes directly inside the application, letting you download them in one click.
Automatic bilingual
The interface automatically detects your system language and adapts to English or Italian without any configuration.
Platform comparison
A quick overview of the features supported by the respective versions of the app.
| Feature | Desktop | Android |
|---|---|---|
| Native/internal audio capture | Included | Included |
| Server and Client modes | Included | Included |
| Web Encoding (AAC/Opus) | Included | Included |
| Spectrogram / CLI Mode | Included | N/A |
| Widgets / Quick Settings | N/A | Included |
| Automation (Scripting/Tasker) | N/A | Included |
| QR Code Pairing (256-bit key) | Included | Included |
| USB Cable Streaming | Included | Included |
| DLNA & Snapcast Server | Included | Included |