Re:Show HN: Piping logs, visualizing in a web app – just suf...
by soorajsanker on Wednesday March 06, 2024 @11:46AM
(#39617818)
Are you talking about the difference between 0.0.0.0 and 127.0.0.1 /localhost (loopback address)? If so It should be a tiny thing to change to implement I can add that on the next update- I just went with the express JS defaults to keep things simple:)
Or I can even make a flag to configure this :thinking
Re:Show HN: Piping logs, visualizing in a web app – just suf...
by ggpsv on Wednesday March 06, 2024 @11:58AM
(#39617985)
`app.listen` uses the same signature as Node's `server.listen`. You can specify the `host` [0] or else it defaults to `0.0.0.0`. This means that when you run this service, it will be accessible to anyone that can reach the server.
Typically, services allow you set the host address by configuration. This way you can set it to `127.0.0.1` so that it is only available locally.
[0]: https://nodejs.org/api/net.html#serverlistenport-host-backlo...
Re:Show HN: Piping logs, visualizing in a web app – just suf...
by gothink on Wednesday March 06, 2024 @12:10PM
(#39618140)
If you do make it configurable, it's still a good idea to make the default `127.0.0.1` for the reasons @ggpsv mentioned. Since the link automatically opens at `http://localhost:PORT` anyway, it's an easy security win.
Re:Show HN: Piping logs, visualizing in a web app – just suf...
by Calzifer on Wednesday March 06, 2024 @02:02PM
(#39619800)
It does, but express doesn't tell it directly in the docs.
Instead http://expressjs.com/en/4x/api.html#app.listen sends you to https://nodejs.org/api/http.html#http_server_listen which also won't give the answer but sends you to https://nodejs.org/api/net.html#serverlisten which at some points finally documents that default is 0.0.0.0.
Welcome to the JavaScript ecosystem :/
Re:Show HN: Piping logs, visualizing in a web app – just suf...
by throwitaway1123 on Wednesday March 06, 2024 @02:34PM
(#39620237)
I wouldn't exactly call this a failure of the JS ecosystem. The Express documentation you've linked to mentions that the host is the (optional) second argument to the listen function:
> app.listen([port[, host[, backlog]]][, callback])
You literally just have to run:
app.listen(3000, '127.0.0.1')
If you don't trust the network you're on you should just be explicit about which IP address you'd like to listen on.
https://github.com/soorajshankar/logScreen/blob/f8b29aaef428...
So this will be sharing your logs with the world if you run this outside of a trusted network. (And personally I avoid trusting any networks)