How Fugu is the Web? How Fugu is the Web?

Developer Tools
Version: 1.15.0
Last Update: 2023-03-22

Overview

How Fugu is the Web? is a Chrome extension developed by Thomas Steiner. According to the data from Chrome web store, current version of How Fugu is the Web? is 1.15.0, updated on 2023-03-22.
64 users have installed this extension. No user have rated this extension yet.

An extension to shine light on the Project Fugu 🐡 APIs web apps want to use.

How it works

API data

The raw data for the different Project Fugu 🐡 APIs is curated in a spreadsheet, which is then turned into JavaScript, so keeping the list of APIs updated is hopefully a straightforward task.

API detection

The extension monitors the requests a page makes via the chrome.webRequest.onBeforeRequest.addListener() API. Each response body, grouped by main frame, JavaScript, and Web App Manifest response bodies, is then run through a set of regular expressions like /navigator\.hid\.requestDevice\s*\(/g to determine if the code hints at a Project Fugu 🐡 API potentially being used.

Browser support detection

Most Project Fugu 🐡 APIs are easily feature-detectable by checking for the existence of interfaces or properties, for example, as in 'BarcodeDetector' in window. Other APIs require a ServiceWorkerRegistration, but luckily the popup window in Manifest V3 extensions uses a service worker, so it can be used via an IIFE that can be run in the client or the service worker. An example is (async () => 'periodicSync' in (await navigator.serviceWorker?.ready || self.registration))().

The support categories are listed below:

✔️ Supported by your browser.
🚫 Not supported by your browser.
🤷 Support unknown for your browser. (The only way to know would be user-agent sniffing.)

Deep-linking

The extension makes use of Text Fragment URLs to deep-link to the occurrence of a detected API, for example https://airhorner.com/scripts/main.min.js#:~:text=navigator.setAppBadge(. For main frame documents, the source code gets rendered in a helper HTML page controlled by the extension, since it is impossible to link to view-source: protocol links.

Limitations

• The chrome.webRequest.onBeforeRequest.addListener() API unfortunately does not "see" requests that are handled by a service worker (crbug.com/766433). There are three possible workarounds for this:
- Hard-reload via ⌘/ctrl+shift+r.
- Open DevTools and check the Bypass for network checkbox in the Service Worker section of the Application tab.
- Clear storage in the Storage section of the Application tab.
• The extension only does static code analysis, that is, there is no guarantee that the app actually uses the code snippet where a Project Fugu 🐡 API was detected.
• Heavily minified code will not be detected. For example, if an app minifies navigator.clipboard.write() to const nav = navigator; nav.clipboard.write(), the extension will not detect this.

License

Apache 2.0.

Rating

0 ratings

Total Installs

64

Information

Last Update

2023-03-22

Current Version

1.15.0

Size

123KiB

Author

Thomas Steiner

Website

None

Category

Developer Tools

How Fugu is the Web? Alternatives

Name Category Rating Rating Count Installs
extension logo Github Pages Extension Developer Tools (2) 30
extension logo NativeExt Developer Tools (0) 30
extension logo Root Accessibility (3) 14
extension logo A Wrench Menu Productivity (3) 104
extension logo Div Be Gone Productivity (0) 46
extension logo peek-jwt Developer Tools (2) 87
extension logo Show Chrome Version Developer Tools (6) 422
extension logo Website AMA Search Tools (0) 39
extension logo Indent by Tab Key Productivity (1) 36
extension logo Feature Policy Control Developer Tools (1) 29
extension logo MDN Search Developer Tools (1) 72
extension logo Up Button Productivity (3) 21
extension logo inspireNuggets for Chrome Fun (11) 72
extension logo Magic Drop Productivity (1) 101
extension logo Indent TextArea Productivity (0) 30
extension logo R42 Module Loader Developer Tools (1) 10
extension logo Sketchtab Developer Tools (2) 40
extension logo Find The Tab Productivity (11) 46
extension logo Feature Policy Tester DevTools Extension Developer Tools (5) 692
extension logo PullApprove Developer Tools (0) 216
extension logo Form Troubleshooter Developer Tools (0) 531
extension logo OPFS Explorer Developer Tools (4) 628
extension logo Share Links and Clipboard Productivity (0) 52
extension logo Custom Elements Locator Developer Tools (4) 181

Latest Reviews

See More