Download Switch to Italian

WiFi Audio Streaming

(WFAS)

Audio streaming over your local network. Experimental, open source, not security-audited.

✓ Free ✓ Open Source on GitHub ✓ No Account Required ✓ Optional encryption (experimental) ✓ No third-party drivers on Windows and macOS

WFAS is a personal project that streams your PC's audio to a smartphone, a Smart TV or a Raspberry Pi over your local Wi-Fi network, and can also use an Android device as a wireless microphone. It is free and open source. I am an engineering student and I work on it in my spare time, so please expect rough edges.

How it works

1

Install

Install the app on the device sending the audio (server) and the one receiving it (client). On Android, the app can be both.

2

Connect

Devices on the same network find each other automatically, or you can manually enter the IP.

3

Listen

Audio streams in real time, with configurable quality. Latency depends on your network and hardware.

Learn more about how it works →

What it does

No third-party audio drivers

On Windows and macOS, system audio is captured by a native engine inside the app, so no third-party virtual audio driver is needed. On Linux, a PulseAudio/PipeWire virtual sink is created for you.

$0

Free

There are no paid tiers, time limits or ads. The code is open source.

wfas.c

The code is public

The source code is on GitHub, so you can read it, compile it yourself and check what it does. Reviews and bug reports are welcome.

Experimental security

Optional key authentication and ChaCha20-Poly1305 encryption, described in a public protocol specification. This is my own implementation and it has not been audited.

> wfas --cli

Command-line mode

A command-line mode with a spectrum visualizer, plus automation through URI, broadcast intents and ADB on Android.

Win macOS $_ Linux Android

Four platforms

Windows, macOS, Linux and Android, each using the platform's native audio API. Behavior may differ from one platform to another.

See all Desktop and Android features →

Security

Security features are part of the protocol and are all optional. They are an experimental implementation by a student and have not been audited; please read the disclaimer below before relying on them.
Read this first: experimental software, not security-audited

WFAS is a personal project by an engineering student. Its security features (key authentication, ChaCha20-Poly1305 encryption, anti-replay checks) are an experimental implementation that I wrote myself while learning. They have not undergone any formal security audit or independent review.

  • Please do not rely on WFAS to protect sensitive, confidential or safety-critical audio or data.
  • Please do not use it on public, corporate, school or otherwise untrusted networks.
  • The encryption is a best-effort measure for a home network you trust. It is not a substitute for a vetted, audited solution.
  • There may be vulnerabilities or design mistakes that I am not aware of.

The software is provided "as is", without warranty of any kind, under the terms of its licenses. If you find a problem, I would be grateful if you reported it on GitHub.

Read the security page →

CLI Mode

A command-line mode is also available, with a real-time spectrum visualizer in the terminal.

wfas --server --viz

        
About CLI mode →

Changelog

Release notes for the desktop and Android apps.

v1.0 v1.1 v1.2
View full changelog →

For Developers

The protocol library is separate from the apps and released under the MIT license. It is written in C99 with embedded targets in mind, avoids dynamic allocation, and its cryptographic primitives are checked against the test vectors published in the RFCs. Passing test vectors does not make the overall design secure.

C99
Go to developer documentation →

Want to try it?

FAQ →