No description
Find a file
2026-06-01 18:57:43 +08:00
dlna_receiver.py first commit 2026-06-01 12:53:22 +02:00
README.md Aggiorna README.md 2026-06-01 18:57:43 +08:00

DLNA receiver per MacOS

SBLOCCARE MACOS PER PERMETTERE IL MULTICAST SSDP

macOS blocca il multicast UDP in uscita per processi non autorizzati, anche se il firewall è disattivato.

Per questo il tuo Python diceva “SSDP sent”, ma non usciva nulla sulla rete.

✔️ 1. Abbiamo autorizzato Python nel firewall di macOS Se usi Python di sistema:

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/bin/python3
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /usr/bin/python3

Questo è il passaggio fondamentale: senza questa autorizzazione, macOS non invia multicast.

✔️ 2. Abbiamo abilitato le app firmate a inviare multicast macOS ha due flag nascosti che, se disattivati, bloccano il multicast:

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setallowsigned on
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setallowsignedapp on

Questi due comandi dicono al firewall:

“Lascia passare il traffico multicast delle app firmate (come Python).” ✔️ 3. Abbiamo verificato con tcpdump Dopo la patch:

si può verificare con

sudo tcpdump -i en0 udp port 1900

E finalmente hai visto:

IP 192.168.1.2 > 239.255.255.250:1900 UDP

→ Conferma che macOS ora lascia uscire i pacchetti SSDP.

DIPENDENZE minime

pip install flask netifaces 

DIPENDENZE per altri test DLNA

lxml → per fare parsing XML più robusto (prima di passare a parsing manuale) requests → per testare SOAP verso TV reali flask → già incluso, ma reinstallato

pip install flask lxml requests

COME AVVIARE

python3 dlna_receiver.py

ma va avviato anche VLC in modalità player DLNA

/Applications/VLC.app/Contents/MacOS/VLC --extraintf rc --rc-host localhost:9999