| 14 Jul 2025 |
@n4ch723hr3r:nope.chat | i would probably just script something small myself xD | 14:35:03 |
@n4ch723hr3r:nope.chat | nginx to host the HLS stream where the HLS file gets regularily updated | 14:35:35 |
matthewcroughan | So let's say I want to make a player and embed this onto a webpage, how do I do things like setting the max listeners, and stuff | 14:35:54 |
matthewcroughan | is that responsibility now going to nginx? | 14:36:08 |
@n4ch723hr3r:nope.chat | yeah, you can set a bucket for maximum http requests | 14:36:36 |
@n4ch723hr3r:nope.chat | or maximum IPs | 14:36:47 |
@n4ch723hr3r:nope.chat | if you cant you would just have to code up something yourself xD | 14:37:01 |
@n4ch723hr3r:nope.chat | thats how i would do it at least :3 | 14:37:14 |
Zhaofeng Li | Hmm wait, so the http stream used by the listener can be proxied right? Is it just the source that's problematic? | 14:38:02 |
@n4ch723hr3r:nope.chat | the problem with icecast is that, for whatever reason, it uses the same port for http as it does for raw TCP streams | 14:38:46 |
matthewcroughan | It's the fact that icecast wants to do what nginx is doing yes | 14:39:03 |
matthewcroughan | putting an nginx in front of icecast who wants to be in control of all this stuff, makes it a PITA | 14:39:27 |
matthewcroughan | I don't doubt it can be done, I just don't know how, and it seems like a waste of time | 14:39:44 |
Zhaofeng Li | In reply to @n4ch723hr3r:nope.chat the problem with icecast is that, for whatever reason, it uses the same port for http as it does for raw TCP streams Can the listener use the nginx-proxied endpoint, while the streamer accesses icecast directly over wireguard or whatever | 14:40:33 |
matthewcroughan | the listener is a http webpage | 14:40:59 |
@n4ch723hr3r:nope.chat | matthew wants to have a public webradio, so VPNs, etc. wont work | 14:41:31 |
matthewcroughan | you go to https://foo.com, inside is a html element pointing to https://icecast.foo.com/stream | 14:41:39 |
matthewcroughan | https://icecast.foo.com/stream doesn't work via a nginx proxy, because the stream is not http | 14:42:00 |
matthewcroughan | this works on the lan though, when not proxied | 14:42:11 |
@n4ch723hr3r:nope.chat | the best example domain is example.com or example.org (its an official example domain) | 14:42:14 |
matthewcroughan | too much typing | 14:42:27 |
matthewcroughan | example.com is more chars | 14:42:33 |
@n4ch723hr3r:nope.chat | it shoudl also work in public if you dont mind exposing your icecast | 14:42:40 |
@n4ch723hr3r:nope.chat | lmao | 14:42:45 |
@saiko:knifepoint.net | can you set it up so that port 443 goes through nginx, and all the links to the streams on the page (iirc it shows you a directory of available streams right?) have an absolute url with another port on the same domain, which is the raw icecast service | 14:45:35 |
@saiko:knifepoint.net | or does it only give you relative urls | 14:45:40 |
matthewcroughan | For some reason, the streams on the page go to icecast.foo.com and not icecast.foo.com:8000 | 14:46:50 |
matthewcroughan | whereas the administration page shows the listenurl correctly and the streams go to `icecast.foo.com:800/stream | 14:47:03 |
matthewcroughan | * whereas the administration page shows the listenurl correctly and the streams go to `icecast.foo.com:800/stream` | 14:47:05 |
matthewcroughan | * whereas the administration page shows the listenurl correctly and the streams go to icecast.foo.com:8000/stream | 14:47:11 |