I originally wrote IPvFoo for Chrome in 2011, to observe whether websites are served using IPv4 or IPv6:
https://github.com/pmarks-net/ipvfoo/
In 2017, Firefox added initial WebExtensions support, so I dropped the extension on addons.mozilla.org, technically functional but full of bugs, and hoped for the best.
This week, I finally sat down with Firefox and ironed out all the problems:
- Added a separate
manifest.json
that uses “scripts”, as Firefox Manifest V3 doesn’t support “service_worker” - Added a button to grant webRequest permissions, as Firefox Manifest V3 doesn’t do this automatically
- Hacked the popup dialog to avoid unnecessary scrollbars
- Added an in-RAM hostname-to-IP cache, as Firefox doesn’t remember the IP address of cached requests
- Examined
details.documentUrl
when handling requests from a Service Worker, as Firefox doesn’t usedetails.initiator
I’m pretty sure that covers everything, so IPvFoo now provides an equivalent user experience on Chrome and Firefox. Enjoy!
I just tried on Firefox Nightly, but the icon is blank, and it behaves like it doesn’t have the
all_urls
permission:Maybe I’ll let this bake before running the gauntlet again.
I’m quite interested in this. More of a “am I supporting sensible internets” than anything else.
I’m more interested in getting this on my desktop browsers! Will be great for debugging stuff (like my home network, DNS, etc)
So, no stress.
I figured out how to launch a debug version using
web-ext
, but it’s hopeless. Nothing works.Firefox for Android seems way behind the desktop version in general. You can’t even type IPv6 literals in the address bar.
For real, thanks for your efforts.
I’ll get this ext loaded on my desktops in the next few days.
The mobile side, I had heard a lot of hubub about Firefox mobile extensions (to the point I have actually swapped over from chrome) and I was curious.
However, I’m not concerned at all. I don’t debug websites on my mobile (except for CSS/JS quirks), so IPv6 or IPv4 isn’t an issue.
I imagine when extensions on Firefox Mobile stabilise more, there will be better documentation and migration guides.
Ideally, the mobile version should just implement the same APIs, so no migration is needed. The mobile migration guide looks consistent with “implement Manifest V3”, which is a reasonable idea aside from Chrome’s removal of
webRequestBlocking
.The only questionable API I’m using is pageAction, which draws an icon in the address bar instead of on the extension itself. Chrome removed pageAction years ago, and it’s possible that Firefox will follow suit, but until then I intend to keep using it.
This is a great tool. Thanks