Skip to main content

Icecast Listener Add

POST 

/api/v1/stream-auth/icecast

Icecast's listener_add hook — layer 2 of §6.2.

Icecast decides on a header, not on the status code. A response carrying icecast-auth-user: 1 (the auth_header value in icecast.xml) admits the listener; a response without it refuses them, whatever the status. Verified against Icecast 2.4.4 in a container: answering 200 with no header gets the listener a 401. Writing this endpoint the obvious way — 200 to allow, 403 to deny — therefore refuses everybody the moment the flag is turned up, which is exactly the kind of failure a gate must not have.

The status codes below are for our own logs and tests. The header is the decision.

Icecast 2.4.4 sends the listener's query string attached to the mount (mount=/m1_azaan?token=..., heavily percent-encoded), rather than as a separate field. Both shapes are read anyway: this was established by rehearsal on one build, and the cost of a different build being wrong here is a mount that silently admits everyone.

Request

Responses

Successful Response