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!
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.