A browser extension that helps to filter AI-generated content from popular search engines like Google, Bing, and DuckDuckGo. It also provides some options to disable certain AI features on these platforms.
cookies
: To modify cookies in cases when it's the only way to disable a certain feature (for instance, Bing uses them to store an
information about copilot status)scripting
: Inject JavaScript into web pages to hide elements, such as Google's Overview, from the page source codetabs
: For JavaScript injection and modify query parameters on browsers that use ManifestV3webRequest
and webRequestBlocking
: Monitor and modify URLs when neededdeclarativeNetRequest
: Used in ManifestV3 for creating network rulesstorage
: Save and retrieve user preferences and settingsFirefox |
---|
Download |
Or on a release page
Huge thanks to Nicholas Taylor for his article about Bing Date Search Operators. It wasn't obvious to figure out how they work 😅
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 install
You can customize your build via .env
file
MANIFEST_VERSION=3
FIREFOX_BUILD=0
MANIFEST_VERSION
- manifest version you want to use (2
or 3
)FIREFOX_BUILD
- is the build for Firefox (0
- no, 1
- yes)npm install
Hot 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 dev
Rebuilds extension on file changes. Requires a reload of the extension (and page reload if using content scripts)
npm run watch
Minifies and optimizes extension build
npm run build
Loads the contents of the dist directory into the specified browser
npm run serve:chrome
npm run serve:firefox