diff --git a/README.md b/README.md index 4aaa3d3..f7bc56a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ -🔥 COME ABBIAMO SBLOCCATO MACOS PER PERMETTERE IL MULTICAST SSDP +# 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. @@ -7,9 +10,10 @@ 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: -Codice +``` 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. @@ -17,40 +21,47 @@ 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: -Codice +``` 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: -Codice +si può verificare con +``` sudo tcpdump -i en0 udp port 1900 +``` E finalmente hai visto: -Codice +``` IP 192.168.1.2 > 239.255.255.250:1900 UDP +``` → Conferma che macOS ora lascia uscire i pacchetti SSDP. -DIPENDENZE minime +### DIPENDENZE minime +``` pip install flask netifaces +``` -DIPENDENZE per altri test DLNA +### 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 - +## 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 - +```