!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

904 Members
Declaratively manage your switching, routing, wireless, tunneling and more.263 Servers

Load older messages


SenderMessageTime
14 Jul 2025
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneit runs http bits on port 8000, and tcp bits on 800013:41:50
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zonewhen the user hits it, nginx proxies to the http bits, and then fails on the tcp bits13:42:03
@n4ch723hr3r:nope.chatn4ch723hr3ras far as i know you can do that over ssh13:42:05
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zone when you do services.icecast.enable = true and give it a stream, you can go to http://localhost:8000/stream and then you'll get binary data, not http 13:42:40
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zone if you try to proxy to localhost:8000/stream on the public internet, with nginx, it doesn't work 13:42:54
@n4ch723hr3r:nope.chatn4ch723hr3rthat sounds complicated. why doesnt icecast just do m3u8 or something like that?13:43:44
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zone [error] 57885#57885: *14 upstream sent invalid header: "\x20..." while reading response header from upstream, client: 192.168.5.222, server: icecast.example.com, request: "GET /radio HTTP/1.1", upstream: "http://192.168.5.196:8001/radio.ogg", host: "icecast.example.com" 13:44:24
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zonethat's what you'll get if you try to use nginx to proxy to icecast on port 800013:44:34
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zonebecause the webpage and other bits surrounding icecast are http, but the stream is tcp13:44:49
@toonn:matrix.orgtoonn I've run into similar difficulty trying to proxy Ente. It has hardcoded-ish references in the code sharing backend addresses and such and it expects the host to be the same, only got part of the way through patching the behavior before I ran out of time to spend on it. 13:44:57
@n4ch723hr3r:nope.chatn4ch723hr3ri've proxied DNS (for DoH & DoT) with only bind9 and nginx before so i know that you can use nginx to forward TCP streams13:45:47
@jappie:jappie.devjappie^ look for stream config in the documentation13:46:06
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneYes, it's just quite different and I haven't found a way yet13:46:18
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zone This doesn't work either. Because it's using TCP and HTTP on the same port (8000) 13:46:41
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zone and when you visit in the browser on http://foo.com:8000 it proxies http, not tcp 13:46:55
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneso the tcp stream proxy doesn't even get hit13:47:07
@jappie:jappie.devjappieis this even allowed?13:47:19
@n4ch723hr3r:nope.chatn4ch723hr3rcant you change one of the ports in the icecast config?13:47:20
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneNo, if you make a new listen socket it seems to just create another http endpoint you can hit that has the same problem of combining tcp and http 13:47:51
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneYou can't bifurcate it13:48:05
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zone* You can't bifurcate/split it13:48:11
@n4ch723hr3r:nope.chatn4ch723hr3r "is that legal?" 13:48:28
@jappie:jappie.devjappieit just sounds so cursed lol - HTTP is what, layer 7?13:49:32
@n4ch723hr3r:nope.chatn4ch723hr3rhttps://gist.github.com/virtadpt/94eb781cba3ec9c56a4f39ef6bf760f3 i found this đŸ¤¡13:49:36
@n4ch723hr3r:nope.chatn4ch723hr3r
		subs_filter_types application/xspf+xml audio/x-mpegurl audio/x-vclt text/css text/html text/xml;
		subs_filter ':8000/' '/' gi;
		subs_filter '@localhost' '@example.com' gi;
		subs_filter 'localhost' $host gi;
		subs_filter 'Mount Point ' $host gi;
13:49:57
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneI also found that, and couldn't get it working.13:50:06
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneDo you now see my predicament?13:50:12
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneThe solution is to grow balls, get an IP, and run it on the internet.13:50:24
@emilazy:matrix.orgemilyyou should probably just be using HLS or MPEG-DASH…13:50:27
@matthewcroughan:defenestrate.itmatthewcroughan - nix.zoneWhich is now what I've done13:50:28

Show newer messages


Back to Room ListRoom Version: 6