harlanc / xiu

A simple,high performance and secure live media server in pure Rust (RTMP[cluster]/RTSP/WebRTC[whip/whep]/HTTP-FLV/HLS).🦀
https://www.rustxiu.com
MIT License
1.6k stars 168 forks source link

Make HTTP API listen on 0.0.0.0 like other services #87

Closed DukeFerdinand closed 6 months ago

DukeFerdinand commented 6 months ago

PR Summary

Makes the HTTP API listen on 0.0.0.0 like the rest of the services :)

This is required mainly to allow every service to operate inside of a container, where 127.0.0.1 isn't very useful as you can't hit the service from the outside.

Issues

Fixes #86

How to test

Run the application as normal with your desired config. Here's an example config based on the one I'm using for my app:

[hls]
enabled = true
port = 8080
need_record = true

[rtmp]
enabled = true
port = 1935

Command like the I'm using to run this locally:

cargo run --bin xiu -- -c ~/path/to/your/config.toml

You should see the http api now listed as running on 0.0.0.0:8000 or however you've configured it.

...truncated...
[2023-12-25T21:03:19Z INFO  hls::server] Hls server listening on http://0.0.0.0:8080
[2023-12-25T21:03:19Z INFO  rtmp::rtmp] Rtmp server listening on tcp://0.0.0.0:1935
[2023-12-25T21:03:19Z INFO  xiu::api] Http api server listening on http://0.0.0.0:8000

Next Steps

I just wanted to get this out there for now, but soon I'd like to make a PR that adds a --host as well as host or maybe address config options to each of the target services to make this truly customizable for any strange configuration end users might need :)

harlanc commented 6 months ago

PR Summary

Makes the HTTP API listen on 0.0.0.0 like the rest of the services :)

This is required mainly to allow every service to operate inside of a container, where 127.0.0.1 isn't very useful as you can't hit the service from the outside.

Issues

Fixes #86

How to test

Run the application as normal with your desired config. Here's an example config based on the one I'm using for my app:

[hls]
enabled = true
port = 8080
need_record = true

[rtmp]
enabled = true
port = 1935

Command like the I'm using to run this locally:

cargo run --bin xiu -- -c ~/path/to/your/config.toml

You should see the http api now listed as running on 0.0.0.0:8000 or however you've configured it.

...truncated...
[2023-12-25T21:03:19Z INFO  hls::server] Hls server listening on http://0.0.0.0:8080
[2023-12-25T21:03:19Z INFO  rtmp::rtmp] Rtmp server listening on tcp://0.0.0.0:1935
[2023-12-25T21:03:19Z INFO  xiu::api] Http api server listening on http://0.0.0.0:8000

Next Steps

I just wanted to get this out there for now, but soon I'd like to make a PR that adds a --host as well as host or maybe address config options to each of the target services to make this truly customizable for any strange configuration end users might need :)

PRs are welcome :)