AzuraCast / AzuraCast

A self-hosted web radio management suite, including turnkey installer tools for the full radio software stack and a modern, easy-to-use web app to manage your stations.
https://www.azuracast.com/
GNU Affero General Public License v3.0
3.03k stars 564 forks source link

IceCast Status Page #2402

Closed KadotyGamer closed 4 years ago

KadotyGamer commented 4 years ago

I am a system admin for an internet radio station and have been tasked with hiding the IceCast status page as they are very insistent that it not be public because it shows the listener counts. I am using the docker instance of Azuracast and need to know what methods I can use to hide the IceCast status page.

BusterNeece commented 4 years ago

@KadotyGamer We don't currently offer any direct way to hide the Icecast statistics page, for two major reasons:

KadotyGamer commented 4 years ago

Alright, are there any methods I could use to limit access by IP? I've been trying to get them to switch to AzuraCast from CentovaCast for a few months now and this would be the only thing that would possibly prevent them from switching. I have a different opinion regarding hiding the status page, but I cannot change their mind about the status page.

BusterNeece commented 4 years ago

@KadotyGamer It's possible other members of the community can help you out with this one, so I will leave the issue open, but we don't officially support this functionality, as neither Icecast nor AzuraCast expose any private information about your listeners, and aggregate listener counts are important for software like ours to function.

KadotyGamer commented 4 years ago

Thank you @SlvrEagle23

yarik2720 commented 4 years ago

You can install Icecast server on host machine and setup how you needed. In Azuracast you need to add streams as remote relay, after that streams will be streamed only by Icecast on the host machine

KadotyGamer commented 4 years ago

@yarik2720 What functionality of Azuracast would be lost doing that?

yarik2720 commented 4 years ago

@KadotyGamer For now it is not showing up unique listeners and listeners on map. This was planned to do for remote relays, I also using this way and waiting when unique listeners for remote relays will be implemented

KadotyGamer commented 4 years ago

I wonder if there is a way I could use docker-compose.overwrite.yml to modify that status page to just hide the listener count? Similar to how I am using it for the ssl certs.

KadotyGamer commented 4 years ago

I was able to customize the status page using the docker-compose.override.yml file by adding a customized status.xsl as a volume to override the existing one within the container and can confirm that allowed me to hide the listener count on there. My next thing to tackle, is there a way to limit access to the API via IP at all?

Vaalyn commented 4 years ago

@KadotyGamer There is currently no built-in mechanism to restrict API access at all (there is a feature request for a way to manage access to the endpoints though. Although this doesn not inlcude a way to customize the available data).

You'd probably be able to restrict the access by using a reverse proxy in front of AzuraCast that filters the requests to the API endpoints (remember that this is not something we officially support).

If you restrict all open access to the now playing API endpoints (they include the listener counts) then the built-in player will not work correctly as it is using those endpoints. You'd have to built your own player and a proxy between the restricted AzuraCast API and the player that provides the data that you need from the API.

There is also more than one now playing endpoint available, there is the normal API endpoint, there is a static json file endpoint and a websockets endpoint. You can read more about that here: https://www.azuracast.com/developers/nowplaying.html#standard-now-playing-api

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.