Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add IPv6 support to WebRTC #721

Closed
synnack opened this issue Oct 29, 2023 · 11 comments
Closed

Add IPv6 support to WebRTC #721

synnack opened this issue Oct 29, 2023 · 11 comments
Labels
enhancement New feature or request

Comments

@synnack
Copy link

synnack commented Oct 29, 2023

I run go2rtc on an IPv6-only home assistant, and go2rtc webrtc port does not bind to IPv6 on port 8555, which it should in 2023, when the world has run out of IPv4 and I am definitely too poor for IPv4.

I've tried:

webrtc:
  listen: [::]:8555

But it simply refuses to listen on IPv6 since 1.8.1.

@AlexxIT AlexxIT added question Further information is requested enhancement New feature or request and removed question Further information is requested labels Oct 30, 2023
@synnack
Copy link
Author

synnack commented Oct 30, 2023

Turns out that 8554 is my mistake. That's the RTSP listener which works correctly for IPv6.

@synnack
Copy link
Author

synnack commented Oct 30, 2023

This commit broke my go2rtc:
e4b6851

I wonder why this commit was made..?

@synnack
Copy link
Author

synnack commented Oct 30, 2023

This restore commit is unfortunately incomplete: 189f142

@synnack synnack changed the title webrtc does not bind to IPv6 Regression: webrtc does not bind to IPv6 since upgrade to 1.8.1 Oct 30, 2023
@AlexxIT
Copy link
Owner

AlexxIT commented Oct 30, 2023

Yeah. In 2023 it's hard to get IPv6 working in my country. Never seen it working :)

PS. Commit was made for saving resources on unnecessary IPv6 binding for simple home usage.

@gtxaspec
Copy link

gtxaspec commented Oct 30, 2023

confirmed webrtc doesn't work with ipv6. i was wondering why I was having issues!
tcp 0 0 0.0.0.0:8555 0.0.0.0:* LISTEN

@AlexxIT perhaps a toggle to enable or disable ipv6 completely would be useful to save resources for certain situations? In my situation I would disable ipv4 completely =D

@AlexxIT
Copy link
Owner

AlexxIT commented Oct 30, 2023

I just need to find a way to test IPv6 live. I think go will only bind to available interfaces. Or you can use 0.0.0.0 for IPv4 or [::] for IPv6.

@synnack
Copy link
Author

synnack commented Oct 30, 2023

I don't think that currently works, [::] cannot bind if you ask for "tcp4" in webrtc.go

@gtxaspec
Copy link

gtxaspec commented Oct 30, 2023

@AlexxIT you can try tunnelbroker.net to get a free tunnel which will give you an ipv6 address you can use over an ipv4 connection, for your testing

@AlexxIT AlexxIT changed the title Regression: webrtc does not bind to IPv6 since upgrade to 1.8.1 Add IPv6 support to WebRTC Oct 30, 2023
AlexxIT added a commit that referenced this issue Oct 30, 2023
@synnack
Copy link
Author

synnack commented Oct 31, 2023

You can also test local IPv6 by setting up radvd to use a site-local prefix (for example fc42:a1e4:417::/64 ), to prevent it from setting a default route, set AdvDefaultLifetime to a value of 0. That way you get local IPv6 in your network, without it affecting other connections. Of course the tunnelbroker solution is a better one, that way you get full IPv6 access.

@revellion
Copy link

If you need another tester for IPv6 related functionality i can assist aswell. I've got global IPv6 access from my ISP currently since a year and a half back :D

@AlexxIT
Copy link
Owner

AlexxIT commented Dec 11, 2023

You can test it if you want. This feature was fixed in previous releases

@AlexxIT AlexxIT closed this as completed Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants