IPv6 support

GitHub issue #16 Feature Proposed crawshawvia github Dec 27, 2025 View original

In particular, we need to consider how static v6 will work (and will all v6 be static, or will default v6 be ephemeral like v4?). We need to make it work seamlessly with static v4, so we do not create extra work for users.

1 Comment

ironhavenvia github Dec 28, 2025

I want to be able to use exe.dev to run programs to do https://protohackers.com challenges. Because there is no unicast ip service this is impossible. If the exe guys could give each vm a /64 ipv6 prefix that would allow both outbound ipv6 traffic and a public ip address for server use (remember to setup a default deny firewall in your hypervisor or vm image. I don't see firewall setup right now by default).

Doing ipv6 will kill two birds with one stone.

The bare minimum ipv6 space you would need is a /64 network per use with every vm on a user account sharing the same network. This would work but would box you into a very limited single region networking setup that would not take advantage of ip routing

A a more fleshed out ipv6 addressing scheme would be to get a /36 prefix (e.g 2001:db8:0:0:1000::/36) from a internet registry for ip multi homing. Then for each user account save a /56 prefix (e.g 2001:db8:0:0:1aaa:aaa0::/56 for prefix number 0xaaaaaa). For each new vm you set the hypervisor ipv6 prefix to a /64 prefix (e.g 2001:db8:0:0:1aaa:aaa1::/64 for the first network the range). This scheme will allow you to to have 1048575 users with a max of 256 public vm each. This may feel like gross wasting of ip addresses but you would be consuming less of the ipv6 address space with your /36 than a single ipv4 address would for the older ipv4 internet. It is much better to request larger prefixes than duct taping together many smaller prefixes. For exe.dev you should likely just start in a single /46 in your /36 allocation with 4096 users in a single region.

A full /64 network for ipv6 is very important. If you boot a vm in a /64 network it will be able to use SLAAC to auto configure an ip address without fiddling. Handing out single ipv6 addresses with dhcp will make things harder.

I hope y'all can figure something out so I can use this service for more than websites.