ipvfoo
ipvfoo copied to clipboard
changeable nat64 prefix, and large-ish UX changes
Backend
additions and changes:
- changeable nat64 prefix
- a proper comparison of subnets instead of just text
- optional dot-decimal notation for the v4 part of a nat64 address
- changeable ipv4 format
there is also no automatic nat64 prefix detection which is a feature some people seemed to want. doing that in the extension itself seems like it would require pinging something like ipv4.google.com and, you'd probably want caching, there'd be a tradeoff between how often you check the nat64 prefix and how many network requests you make, for something like a laptop or phone you might want to update every few hours but longer would be better for stationary devices
you could also try to use a separate program like Yomitan can (for a different purpose) to get the nat64 prefix from the OS.
UX
additions and changes:
- changes onclick to onmousedown for any action the user wouldn't want to cancel
- changes the style for like everything.
- checks if the user has entered a valid ipv6 address before accepting it.
- changes options menu font to just
sans-serifinstead of defaulting toNoto SansandArial, im not sure the reason that was done, i think using the user's selected font works better here
known issues:
- firefox wants to drag the background when you hold mouse down, this is even true for good versions like floorp. but it seems to also happen to other extensions with similar options menus.
- the scrollbar seems to sometimes oscillate on and off for certain window sizes and delay times.
onmousedown is used is responsiveness for anything the user wouldn't want to cancel, like checking a checkbox or selecting a radio button. i've also tested on mobile and it works fine there.
also if you have any other ideas for onmousedown for checkboxes and radio buttons let me know, the current method is kinda janky, though i haven't had any issues with it so far.
misc
this changes the makefile to make an unpacked chrome build, i didn't see any instructions for a development workflow so i just loaded the unpacked extension and then reloaded it when i changed something, i can remove it from the makefile if you want.
FYI if you do end up adding automatic prefix detection there is a domain specifically for this purpose set aside by IANA. It's technically designed for auto configuration of 464XLAT but could be used here. ipv4only.arpa
@asdfjkluiop i don't think you can do dns queries in extensions, which is why i didn't suggest it. also as far as i know pref64 is preferred these days but less commonly supported, and i don't think you could get that via extension either
The problem with perf64 is not all networks advertise it and I'd be surprised if the extension could get that info anyway. I'm not sure if it's possible to do dns queries in an extension, I just saw you mention needing something like ipv4.google.com and I wanted to make sure that if the feature was being pursued that other more standard options were known about.
IPvFoo's dynamic NAT64 support needs to meet my personal standards of perfectionism and simplicity, but I've been too lazy to sit down and figure out what that actually means, which is why I haven't done anything yet.
LOL, as a fellow developer I understand the sentiment. It would be really nice to have though, I'm currently running a patched version with my prefix that ff doesn't like because it isn't signed
I've come up with a solution that avoids manual prefix management. Would you like to try v2.19 in the master branch, and/or comment on https://github.com/pmarks-net/ipvfoo/issues/60 ?