AlexxIT / go2rtc

Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.
https://github.com/AlexxIT/Blog
MIT License
4.93k stars 396 forks source link

IPv6 support now disabled (previously working) #532

Closed gtxaspec closed 1 year ago

gtxaspec commented 1 year ago

I noticed with the latest release, go2rtc no longer listens on ipv6. I see on commit https://github.com/AlexxIT/go2rtc/commit/e4b68518e54ff869174d08b9917153d7c36289c8 it was disabled.

Example usage:

api:
  listen: "[2041:0:140F::875B:131B]:1984"
rtsp:
  listen: "[::]:8554"    

error:
02:05:09.315 FTL [api] listen error="listen tcp4: address 2041:0:140F::875B:131B: no suitable address found"
The rtsp setting also does nothing.

Previous release (1.6.0) worked fine with this same IPv6 config.

IPv6 is very important in today's networking, and we use it almost exclusively in our ip video setups.

Is further IPv6 support planned? Thanks!

AlexxIT commented 1 year ago

I didn't know it mattered to anyone. I removed them on purpose to simplify the whole linked code. I'll bring them back in the next versions

AlexxIT commented 1 year ago

https://github.com/AlexxIT/go2rtc/releases/tag/v1.6.2

gtxaspec commented 1 year ago

thank you so much!

AlexxIT commented 1 year ago

Can you explain where you using IPv6? It's some home server. Or some business public or private server?

I still doesn't have much experience with IPv6

gtxaspec commented 1 year ago

hi @AlexxIT,

We use IPv6 at home to run our local network, as well as at our business. There are no more (limited and expensive) IPv4 addresses, and with IPv6, you don't have to use NAT, which requires less computing power on the router and firewall.

We can assign a Globally Routable IPv6 address to each device as well, and simplify our addressing plan.

We have our own ipv6 gua prefix also, 2001:db8:a20a::/48, and can assign from it to multiple sites geographically.
simple example:

2001:db8:a20a::1/48 = north america core router

2001:db8:a20a:b320::/56 = west coast 2001:db8:a20a:b320::1/64 = west coast router 2001:db8:a20a:b320::2000/64 = west coast dns server 2001:db8:a20a:b320::3000/64 = west coast web server 2001:db8:a20a:b320::1000::1/60 = west coast house 2001:db8:a20a:b320::1000::20/64 = west coast ipcamera front_door

I think it simplifies networking a lot, and most of the networking principles from ipv4 apply to ipv6. overall i think it reduces the headache of subnetting and limited ipv4 addresses.

if you're isp doesn't support ipv6, you can also sign up for a tunnel broker to get your own ::/48 for free, www.tunnelbroker.net . also a great resource to learn ipv6.

china is mandating ipv6 support, so newer IOT devices should have ipv6 support built in. in the USA, the government is also mandating ipv6 support. adoption will only continue to improve once more and more people learn about it =D

synnack commented 11 months ago

The restore commit is incomplete, unfortunately. WebRTC still broke with the first commit.

AlexxIT commented 11 months ago

Only WebRTC was not fully fixed.