- Copy the files in this gist into a temporary a local directory.
- CD into temporary directory and start a local HTTP server. I used
npx http-server --proxy http://localhost:8080?, but anything should work - In your borwser of choice, load the
webextdirectory as a temporary extension.
NOTE: You may need to grant additional host permissions after installation. - If the extension didn't, open a new tab to
http://localhost:8080 - Inspect the page, select the Network tab, and make the console visible.
- Reload the page.
When the page reloads, you should see a set of network requests that were blocked by the extension either in the Network tab directly or in the console.
| Request | Safari 26.2 | Firefox 141 | Chrome 144 | c46127bd |
|---|---|---|---|---|
fetch('/literal%7C') |
✅ allowed | ✅ allowed | ✅ allowed | ✅ allowed |
fetch('/literal%7C+') |
✅ allowed | ✅ allowed | ✅ allowed | ✅ allowed |
fetch('/literal%7C%2B') |
✅ allowed | ✅ allowed | ✅ allowed | ✅ allowed |
fetch('/literal|') |
✅ allowed | ❌ blocked | ✅ allowed | ❌ blocked |
fetch('/literal|+') |
❌ blocked | ❌ blocked | ✅ allowed | ❌ blocked |
fetch('/literal|%2B') |
✅ allowed | ✅ allowed | ✅ allowed | ✅ allowed |
fetch('/encoded%7C') |
✅ allowed | ❌ blocked | ❌ blocked | ❌ blocked |
fetch('/encoded%7C+') |
❌ blocked | ❌ blocked | ❌ blocked | ❌ blocked |
fetch('/encoded%7C%2B') |
✅ allowed | ✅ allowed | ✅ allowed | ✅ allowed |
fetch('/encoded|') |
✅ allowed | ✅ allowed | ❌ blocked | ✅ allowed |
fetch('/encoded|+') |
✅ allowed | ✅ allowed | ❌ blocked | ✅ allowed |
fetch('/encoded|%2B') |
✅ allowed | ✅ allowed | ✅ allowed | ✅ allowed |