Come ascoltare uno stream radio http su un sito che usa https (Chrome > 80)

Come ascoltare uno stream radio http su un sito che usa https (Chrome > 80)

Dal 3 ottobre 2019 Chrome sta gradualmente implementando la nuova funzione di sicurezza che bloccherà i contenuti misti nei siti web (info qui). In questo modo, se hai un sito webradio in https e il tuo streaming è in http, allora nessuno ascolterà il tuo stream webradio nel tuo sito. Questo sta accadendo gradualmente all’inizio del 2020. Esistono più soluzioni, ovviamente la più semplice e intelligente è spostare il tuo streaming su una connessione https.

Per fare ciò puoi chiedere al tuo provider di streaming di spostare/modificare il tuo server in uno sicuro.

Ma questo potrebbe richiedere del tempo, potrebbe essere costoso o impossibile (se il servizio del tuo provider di streaming non ha questa opzione). Una buona soluzione è eseguire il proxy del flusso utilizzando uno script php ospitato nel tuo sito web. Supponiamo quindi di avere un sito Web all’indirizzo

https://www.myradiowebsite.com

E supponiamo che il tuo stream sia a

http://mystreamprovider.mywebradio.com:someport/streamendpoint

Creiamo un file, chiamiamolo stream.php e scriviamoci dentro:

<php?
$filename = "http://mystreamprovider.mywebradio.com:someport/streamendpoint";
header("Content-Type: audio/mpeg");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$filename);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 500);
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($curl, $data) {
    echo $data;
    return strlen($data);
});
curl_exec($ch);
curl_close($ch);

Con l’utilizzo della funzione curl in php, fondamentalmente stiamo eseguendo il proxy della connessione non sicura allo stream con la connessione sicura del tuo sito web. E abbiamo anche rimosso il problema del cross-site (effetto collaterale: abbiamo anche nascosto le informazioni del tuo provider di streaming, in modo che nessuno sappia chi ospita il tuo servizio di streaming e non possa conoscere il numero dei tuoi ascoltatori… ). Tutto quello che devi fare ora è modificare nel tuo sito web tutti i riferimenti allo stream originale quindi cerca/sostituisci o configura il tuo sito web in base a questa sostituzione

 

cerca http://mystreamprovider.mywebradio.com:someport/streamendpoint e sostituisci con https://www.myradiowebsite.com/stream.php

MiroAdmin