Scarica Switch to English

WiFi Audio Streaming

(WFAS)

Streaming audio sulla rete locale. Sperimentale, open source, senza audit di sicurezza.

✓ Gratuito ✓ Open source su GitHub ✓ Nessun account richiesto ✓ Cifratura opzionale (sperimentale) ✓ Nessun driver di terze parti su Windows e macOS

WFAS è un progetto personale che trasmette l'audio del PC a uno smartphone, a una Smart TV o a un Raspberry Pi tramite la rete Wi-Fi locale, e permette anche di usare un dispositivo Android come microfono wireless. È gratuito e open source. Sono uno studente di ingegneria e ci lavoro nel tempo libero, quindi aspettati qualche imperfezione.

Come funziona

1

Installa

Installa l'app sul dispositivo che invia l'audio (server) e su quello che lo riceve (client). Su Android l'app può fare entrambi i ruoli.

2

Connetti

I dispositivi sulla stessa rete si trovano automaticamente, oppure puoi inserire l'IP manualmente.

3

Ascolta

L'audio viene trasmesso in tempo reale, con qualità configurabile. La latenza dipende dalla rete e dall'hardware.

Scopri di più su come funziona →

Cosa fa

Nessun driver audio di terze parti

Su Windows e macOS la cattura dell'audio di sistema è affidata a un motore nativo integrato nell'app, quindi non serve alcun driver audio virtuale di terze parti. Su Linux viene creato automaticamente un sink virtuale PulseAudio/PipeWire.

$0

Gratuito

Nessun livello a pagamento, nessun limite di tempo, nessuna pubblicità. Il codice è open source.

wfas.c

Il codice è pubblico

Il codice sorgente è su GitHub: puoi leggerlo, compilarlo e verificare cosa fa. Revisioni e segnalazioni di bug sono benvenute.

Sicurezza sperimentale

Autenticazione a chiave e cifratura ChaCha20-Poly1305 opzionali, descritte in una specifica di protocollo pubblica. È un'implementazione mia e non è stata sottoposta ad audit.

> wfas --cli

Modalità a riga di comando

Una modalità a riga di comando con visualizzatore dello spettro e, su Android, automazione tramite URI, broadcast intent e ADB.

Win macOS $_ Linux Android

Quattro piattaforme

Windows, macOS, Linux e Android, ciascuna con l'API audio nativa della piattaforma. Il comportamento può variare da una piattaforma all'altra.

Vedi tutte le funzionalità Desktop e Android →

Sicurezza

Le funzioni di sicurezza fanno parte del protocollo e sono tutte opzionali. Sono un'implementazione sperimentale scritta da uno studente e non sono state sottoposte ad audit: leggi il disclaimer qui sotto prima di farvi affidamento.
Da leggere prima: software sperimentale, senza audit di sicurezza

WFAS è un progetto personale di uno studente di ingegneria. Le sue funzioni di sicurezza (autenticazione a chiave, cifratura ChaCha20-Poly1305, controlli anti-replay) sono un'implementazione sperimentale che ho scritto io stesso mentre imparavo. Non sono mai state sottoposte ad alcun audit di sicurezza formale né a una revisione indipendente.

  • Ti chiedo di non fare affidamento su WFAS per proteggere audio o dati sensibili, riservati o critici per la sicurezza.
  • Ti chiedo di non usarlo su reti pubbliche, aziendali, scolastiche o comunque non fidate.
  • La cifratura è una misura "best effort" pensata per una rete domestica di cui ti fidi. Non sostituisce una soluzione verificata e sottoposta ad audit.
  • Potrebbero esserci vulnerabilità o errori di progettazione di cui non sono a conoscenza.

Il software è fornito "così com'è", senza garanzie di alcun tipo, secondo i termini delle sue licenze. Se trovi un problema, ti sarei grato se lo segnalassi su GitHub.

Leggi la pagina sulla sicurezza →

Modalità CLI

È disponibile anche una modalità da riga di comando, con un visualizzatore dello spettro in tempo reale nel terminale.

wfas --server --viz

Sulla modalità CLI →

Changelog

Note di rilascio delle app Desktop e Android.

v1.0 v1.1 v1.2
Vai al changelog completo →

Per sviluppatori

La libreria del protocollo è separata dalle app e rilasciata con licenza MIT. È scritta in C99 pensando ai sistemi embedded, evita l'allocazione dinamica e le sue primitive crittografiche sono verificate con i vettori di test pubblicati negli RFC. Superare i vettori di test non rende sicuro il progetto nel suo insieme.

C99
Vai alla documentazione per sviluppatori →

Vuoi provarlo?

FAQ →