Skip to content

Conversation

@BPplays
Copy link

@BPplays BPplays commented Oct 15, 2024

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-serif instead of defaulting to Noto Sans and Arial, 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.

@asdfjkluiop
Copy link

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

@BPplays
Copy link
Author

BPplays commented Jan 29, 2025

@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

@asdfjkluiop
Copy link

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.

@pmarks-net
Copy link
Owner

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.

@asdfjkluiop
Copy link

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

@pmarks-net
Copy link
Owner

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 #60 ?

@pmarks-net pmarks-net force-pushed the master branch 2 times, most recently from b355910 to f7d5e36 Compare February 7, 2025 20:23
@pmarks-net pmarks-net force-pushed the master branch 2 times, most recently from 00b54be to 0fd3d6a Compare November 16, 2025 00:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants