rustdesk
rustdesk copied to clipboard
Ipv6
https://github.com/rustdesk/rustdesk-server/pull/119
Not Sure
- Why not drop socket earlier?
- If
rendezvous_addris a domain string.register_pkuse domain url to send a udp request. The rendezvous server may see an IPv6 or IPv4 address by occasionally. It may be caused by my cloud network provider. But it won't take any problems. The only result is from IPv6 --> IPv6 to IPv4 --> IPv4. - Comment the checking socket addr logic.
Known issues
- Some private IPv6 is an one-way link. Only relay connection be established on those cases.
- No considerations about multiple network interfaces.
- Socks proxy does not support IPv6.
Todo:
- [ ] prefer to choose ipv4 first, only choose ipv6 if any side does not support ipv4. Ipv6 has a lot of limitations in practice, we have to be conservative to reduce impaction. e.g. only outbound ok, but inbound is denied always, be sure that https://github.com/rustdesk/rustdesk/blob/b6e0cc8e74188dc2ccc084adbe2bc49401518abb/src/rendezvous_mediator.rs#L380 is done correctly.
prefer to choose ipv4 first, only choose ipv6 if any side does not support ipv4. Ipv6 has a lot of limitations in practice
What limitations are you speaking of?
- [ ] NAT64 handeling
- [ ] for best compatibility before full test, please prioritize v4 for the time being