Моє "виправлення" кнопок M3U/XSPF/VCLT Icecast при роботі в мульти-хост режимі
Якось мені повідомили, що стрім Pidpilne з головної сторінки Icecast (status) не відкривається. Виявилось, що відкривали вони з лінка M3U. Коли його відкрив - там дійсно були биті посилання без порту. В XSPF - був взагалі localhost, але з правильним портом.
Це не зовсім виправлення а лайфхак у якості тимчасового рішення. По суті, в моїх плейлистах нічого динамічного немає, окрім того само кривого посилання на localhost або поточний хост без порту.
Звісно, я можу вказати `<hostname>localhost</hostname>` в `/etc/icecast2/icecast.xml`, але проблема в тому, що інстанс працює на Yggdrasil, Mycelium та I2P одночасно. Тому потрібне відносне рішення.
Для себе, я просто відредагував файл:
<xsl:otherwise>
<ul class="mountlist">
<li><a class="play" href="{@mount}"><span style="margin: 0 8px">Play</span></a></li>
<!-- <li><a class="play" href="{@mount}.m3u">M3U</a></li>
<li><a class="play" href="{@mount}.xspf">XSPF</a></li>
<li><a class="play" href="{@mount}.vclt">VCLT</a></li> -->
</ul>
</xsl:otherwise>
- оригінали закоментував, думаю колись розберусь
Тепер замість:

меню буде таким:

Теоретично, якщо Веб-інтерфейс проксується через Nginx, можна ще там локнути посилання на `.m3u`, `.xspf` і `.vclt` або зробити якийсь редірект, але мені ліньки.
Дивіться також
Веб-радіо в Linux: встановлення сервера Icecast та базове налаштування ротації з Ezstream
Проксування потоку m3u8 засобами ffmpeg в Icecast
Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat
/uk/