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 #21

Open
hamishcoleman opened this issue Apr 6, 2024 · 5 comments
Open

Add IPv6 support #21

hamishcoleman opened this issue Apr 6, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@hamishcoleman
Copy link
Contributor

While the underlying n3n protocol has support for IPv6, the current implementation does not use this properly.

With the future of IP clearly including IPv6, and more and more places supporting it, we want to ensure that n3n also supports it.

@hamishcoleman hamishcoleman added the enhancement New feature or request label Apr 6, 2024
@hamishcoleman hamishcoleman self-assigned this Apr 6, 2024
@hamishcoleman hamishcoleman changed the title IPv6 support Add IPv6 support Apr 6, 2024
@NiKola-UE
Copy link

Although is not for anonymity, perhaps the source code of the Yggdrasil could be used because this network active supports IPV6, and in addition the nodes have 3 times stronger encryption than I2P.

@hamishcoleman
Copy link
Contributor Author

Using the source code from a different VPN would unfortunately either break protocol compatibility with other users or require quite a large amount of code refactoring.

The steps to add IPv6 support are theoretically small and straightforward, but the easy path (one socket with dual-stack support) will not work on Windows as it only supports v4 address remapping, so some refactoring is needed to track multiple simultaneous sockets - which should also be helpful in a number of other cases.

This refactoring is just waiting for some focused time to work on it

@NiKola-UE
Copy link

Yggdrasil is not a VPN, but all is the clear.

@zzyyyl
Copy link

zzyyyl commented Nov 13, 2024

Windows supports dual-stack socket (one AF_INET6 socket with the IPV6_V6ONLY option turned off), so I don't think it should be too hard to add IPv6 support.

Due to the shortage of IPv4 addresses, it is much easier to get an IPv6 address than it is to get an IPv4 address, so IPv6 support would be a very useful feature.

Hope this will be updated soon!

@hamishcoleman
Copy link
Contributor Author

The vision of dual-stack sockets implemented by Windows is different than that implemented by every other OS that I have considered (This is the v4 address remapping "feature" I mention). Rather than implementing yet another code difference between ports, this is an opportunity to refactor some of the core code to allow multiple simultaneous network connections - which can be used to help implement other features later.

This is the next major improvement I want to add to n3n, but - as always - the limiting factor is available focused time.

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

3 participants