"listenurl" protocol does not match protocol used to request /status-json.xsl
It's probably because I'm doing something completely stupid, but when I request my /status-json.xsl over https, I see 'http' in the listenurl which I can't seem to change to https instead. This is causing me all kinds of issues with unsecure content, CORSS stuff and other nightmares when trying to build something that can actually read this feed.
Content of: https://domain.tld:8000/status-json.xsl (actual values replaced)
{
"icestats": {
"admin": "email@domain.tld",
"host": "domain.tld",
"location": "location",
"server_id": "Icecast 2.4.4",
"server_start": "Mon, 09 Aug 2021 17:00:00 +0200",
"server_start_iso8601": "2021-08-09T17:00:00+0200",
"source": {
"audio_bitrate": 192000,
"audio_channels": 2,
"audio_info": "ice-bitrate=192;ice-channels=2;ice-samplerate=44100",
"audio_samplerate": 44100,
"genre": "(NULL)",
"ice-bitrate": 192,
"ice-channels": 2,
"ice-samplerate": 44100,
"listener_peak": 1,
"listeners": 1,
"listenurl": "http://domain.tld:8000/stream.ogg",
"server_description": "Description",
"server_name": "Server name",
"server_type": "audio/ogg",
"server_url": "(NULL)",
"stream_start": "Mon, 09 Aug 2021 17:01:00 +0200",
"stream_start_iso8601": "2021-08-09T17:01:00+0200",
"subtype": "Vorbis",
"dummy": null
}
}
}
This is my configuration file /etc/icecast2/icecast2.xml
: (actual values replaced)
<icecast>
<location>location</location>
<admin>email@domain.tld</admin>
<limits>
<clients>1000</clients>
<sources>5</sources>
<queue-size>262144</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>0</burst-on-connect>
<burst-size>4096</burst-size>
</limits>
<authentication>
<source-password>password</source-password>
<relay-password>password</relay-password>
<admin-user>user</admin-user>
<admin-password>password</admin-password>
</authentication>
<hostname>mydomain.tld</hostname>
<listen-socket>
<port>8000</port>
<ssl>1</ssl>
</listen-socket>
<listen-socket>
<port>8443</port>
<ssl>1</ssl>
</listen-socket>
<http-headers>
<header name="Access-Control-Allow-Origin" value="*" />
</http-headers>
<fileserve>1</fileserve>
<paths>
<basedir>/usr/share/icecast2</basedir>
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<pidfile>/usr/share/icecast2/icecast.pid</pidfile>
<alias source="/" destination="/"/>
<ssl-certificate>/usr/share/icecast2/letsencrypt-domain-tld-icecast.pem</ssl-certificate>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<playlistlog>playlist.log</playlistlog>
<loglevel>3</loglevel>
<logsize>100000</logsize>
<logarchive>1</logarchive>
</logging>
<security>
<chroot>1</chroot>
<changeowner>
<user>icecast2</user>
<group>icecast2</group>
</changeowner>
</security>
</icecast>
is there a way of fixing this by changing something in the configuration, or do I have to parse the json by some external script, fix the replace the protocol itself and then serve the changed version it to my webpage? I would love to just use the content of the json and have it be correct instead