Skip to content

Blocks specific sites from appearing in Google search results

License

Notifications You must be signed in to change notification settings

roixroi/uBlacklist

 
 

Repository files navigation

uBlacklist

Blocks specific sites from appearing in Google search results

Chrome Web Store / Firefox Add-ons / App Store (for macOS and iOS, thanks to Group-Leafy)

Description

This browser extension prevents blacklisted sites from appearing in Google search results.

You can add rules on search result pages, or on sites to be blocked by clicking the toolbar icon. Rules can be specified either by match patterns (e.g. *://*.example.com/*) or by regular expressions (e.g. /example\.(net|org)/).

Supported search engines

This extension is available in the below search engines.

Web Images Videos News
Google ✔️ ✔️ ✔️ ✔️
Google (iPhone) ✔️ ✔️ ✔️ ✔️
Bing ✔️ ✔️ ✔️ ✔️
Bing (iPhone) ✔️ ✔️ ✔️ ✔️
DuckDuckGo ✔️ ✔️ ✔️ ✔️
DuckDuckGo (iPhone) ✔️ ✔️ ✔️ ✔️
Ecosia ✔️
Ecosia (iPhone) ✔️
Startpage ✔️ ✔️ ✔️
Startpage (iPhone) ✔️ ✔️ ✔️

For subscription providers

To publish a blacklist as a subscription, place a blacklist file encoded in UTF-8 on a suitable HTTP(S) server, and publish the URL. Here is an example hosted on GitHub.

In uBlacklist >=6.6.0 for Chrome, subscription URLs are available. To add a subscription with name and url, the following URL can be used as a shortcut to the options page:
https://iorate.github.io/ublacklist/subscribe?name={urlEncode(name)}&url={urlEncode(url)}
Here is an example.

For developers

Build

To build this extension, Node.js and Yarn are required.

git clone https://github.com/iorate/uBlacklist.git

cd uBlacklist

yarn install --immutable

# yarn build <browser:=chrome> <mode:=development> <typecheck:=notypecheck>
yarn build firefox production

Before opening a pull request, you should make sure that 'build-all', 'lint' and 'test' pass.

yarn build-all

yarn lint
# Some lint errors can be fixed automatically
# yarn fix

yarn test

NOTE: The API keys and secrets for the sync feature are not included in this repository. To develop the sync feature, set your own API keys and secrets in the .env file.

DROPBOX_API_KEY=...
DROPBOX_API_SECRET=...
GOOGLE_DRIVE_API_KEY=...
GOOGLE_DRIVE_API_SECRET=...

Locale

To add a locale,

  1. Determine an ISO language code such as en referring to kLanguageInfoTable.
  2. Copy src/locales/en.json.ts to src/locales/${languageCode}.json.ts and translate entries.
  3. Open src/scripts/dayjs-locales.ts and import the dayjs locale.
  4. To localize description and screenshots on web stores, create web-store-assets/${languageCode}/ and add files.
    • Screenshot localization is available only on Chrome Web Store.
    • Screenshots should be 1280x800.

Author

iorate (Twitter)

License

uBlacklist is licensed under MIT License.

About

Blocks specific sites from appearing in Google search results

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%