Filter out AI-generated content from search engines.
| Firefox |
|---|
| Download |
Or on a release page
This extension helps finding a human-made content, mostly relying on URL parameters that certain search engines support.
You can customize the date range when the content was posted.
You can disable certain UI elements related to AI on search results pages.
You can exclude websites from your search results.
| Date | Exclude/Include URLs | UI elements | |
|---|---|---|---|
| ✅ | ✅ | ✅ | |
| DuckDuckGo | ✅ | ✅ | ✅ |
| Bing | ✅ | ✅ | ✅ |
| Brave | ✅ | ✅ | ✅ |
tabs: For query parameters modifications in ManifestV3 browserswebRequestandwebRequestBlocking: Monitor and modify URLs when neededdeclarativeNetRequest: Used in ManifestV3 browsers for creating network rulesstorage: Save and retrieve user preferences and settings
Huge thanks to Nicholas Taylor for his article about Bing Date Search Operators. The best explanation for Bing search operators I've come across!
And thanks to Zach! Google AI Overviews Blocker was an inspiration for this project.
The extension manifest is defined in src/manifest.js and used by
@samrum/vite-plugin-web-extension in the vite config.
Background, content scripts, options, and popup entry points exist in the
src/entries directory.
Content scripts are rendered by src/entries/contentScript/renderContent.js
which renders content within a ShadowRoot and handles style injection for HMR
and build modes.
Otherwise, the project functions just like a regular Vite project.
To switch between Manifest V2 and Manifest V3 builds, use the MANIFEST_VERSION
environment variable defined in .env
HMR during development in Manifest V3 requires Chromium version >= 110.0.5480.0.
Refer to @samrum/vite-plugin-web-extension for more usage notes.
npm installYou can customize your build via .env file
MANIFEST_VERSION=3
FIREFOX_BUILD=0
MANIFEST_VERSION- manifest version you want to use (2or3)FIREFOX_BUILD- is the build for Firefox (0- no,1- yes)
npm installHot Module Reloading is used to load changes inline without requiring extension rebuilds and extension/page reloads Currently only works in Chromium based browsers.
npm run devRebuilds extension on file changes. Requires a reload of the extension (and page reload if using content scripts)
npm run watchMinifies and optimizes extension build
npm run buildLoads the contents of the dist directory into the specified browser
npm run serve:chromenpm run serve:firefox