{"id":13479593,"url":"https://github.com/iorate/ublacklist","last_synced_at":"2025-05-13T16:06:40.737Z","repository":{"id":37270780,"uuid":"138615634","full_name":"iorate/ublacklist","owner":"iorate","description":"Blocks specific sites from appearing in Google search results","archived":false,"fork":false,"pushed_at":"2025-04-19T03:44:54.000Z","size":18302,"stargazers_count":6066,"open_issues_count":81,"forks_count":341,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-04-19T11:51:23.625Z","etag":null,"topics":["blocker","chrome-extension","firefox-extension","google-search"],"latest_commit_sha":null,"homepage":"https://iorate.github.io/ublacklist/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iorate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-06-25T15:41:25.000Z","updated_at":"2025-04-19T03:57:01.000Z","dependencies_parsed_at":"2023-02-09T12:15:14.636Z","dependency_job_id":"6ed5b33a-0771-4f92-88e9-b1fb9b459c7c","html_url":"https://github.com/iorate/ublacklist","commit_stats":null,"previous_names":[],"tags_count":221,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iorate%2Fublacklist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iorate%2Fublacklist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iorate%2Fublacklist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iorate%2Fublacklist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iorate","download_url":"https://codeload.github.com/iorate/ublacklist/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250513380,"owners_count":21443200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blocker","chrome-extension","firefox-extension","google-search"],"created_at":"2024-07-31T16:02:19.775Z","updated_at":"2025-05-13T16:06:40.716Z","avatar_url":"https://github.com/iorate.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# uBlacklist\n\n[简体中文](README.zh-CN.md)\n\nBlocks specific sites from appearing in Google search results\n\n[Chrome Web Store](https://chrome.google.com/webstore/detail/ublacklist/pncfbmialoiaghdehhbnbhkkgmjanfhe) / [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/ublacklist/) / [App Store](https://apps.apple.com/us/app/ublacklist-for-safari/id1547912640) (for macOS and iOS, thanks to [Group-Leafy](https://github.com/HoneyLuka/uBlacklist/tree/safari-port/safari-project))\n\n## Description\n\nThis extension prevents the sites you specify from appearing in Google search results.\n\nYou 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](https://ublacklist.github.io/docs/advanced-features#match-patterns) (e.g. `*://*.example.com/*`) or by [expressions](https://ublacklist.github.io/docs/advanced-features#expressions) including regular expressions, variables and string matchers (e.g. `/example\\.(net|org)/`, `path*=\"example\"i`, `$category = \"images\" \u0026 title ^= \"Example\"`…).\n\nYou can synchronize rulesets across devices via cloud storage. At the moment, Google Drive and Dropbox are supported.\n\nYou can also subscribe to public rulesets. Some subscriptions are listed on the website:\nhttps://ublacklist.github.io/subscriptions\n\n## Supported search engines\n\nThis extension is available in the below search engines.\n\n|              | Web                | Images             | Videos             | News               |\n| ------------ | ------------------ | ------------------ | ------------------ | ------------------ |\n| Google       | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| Bing         | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| Brave \\*3    | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| DuckDuckGo   | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| Ecosia       | :heavy_check_mark: |                    |                    |                    |\n| Kagi         | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| Qwant        | :heavy_check_mark: | :heavy_check_mark: | \\*1                | :heavy_check_mark: |\n| SearX \\*2    | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| Startpage    | :heavy_check_mark: |                    | :heavy_check_mark: | :heavy_check_mark: |\n| Yahoo! JAPAN | :heavy_check_mark: |                    |                    |                    |\n| Yandex       | :heavy_check_mark: |                    |                    |                    |\n\n\\*1 Only if \"Always play videos on Qwant.com\" is turned off\u003cbr\u003e\n\\*2 Only certain public instances are supported. If you want to add support for your own SearX/SearXNG search engine, edit `src/common/search-engines.ts` and build the extension manually\u003cbr\u003e\n\\*3 Due to the difficulty in obtaining the full URLs of image links, this extension does not support per-subdomain blocking in Brave Image Search. (For example, if the link is to \"www.example.com\", it will block the entire \"example.com\").\n\n## For subscription providers\n\nTo publish a ruleset as a subscription, place a ruleset file encoded in UTF-8 on a suitable HTTP(S) server, and publish the URL. Here is an example hosted on GitHub:\n\nhttps://raw.githubusercontent.com/iorate/ublacklist-example-subscription/master/uBlacklist.txt\n\nYou can prepend YAML frontmatter to your ruleset. It is recommended that you set the `name` variable.\n\n```\n---\nname: Your ruleset name\n---\n*://*.example.com/*\n```\n\n### Subscription links\n\n**NOTE:** This feature is available in v8.11.0 or later. Users need to explicitly enable this feature by turning on \"Enable ruleset subscription links\" in the extension's options page.\n\n**NOTE:** This feature does not work in Safari at the moment.\n\nSubscription links are available to make it easier for users to add your ruleset. To create a subscription link for your ruleset, use the following format:\n\n```\nhttps://ublacklist.github.io/rulesets/subscribe?url=\u003curl-encoded-url\u003e\n```\n\nFor the above example:\n\nhttps://ublacklist.github.io/rulesets/subscribe?url=https%3A%2F%2Fraw.githubusercontent.com%2Fiorate%2Fublacklist-example-subscription%2Fmaster%2FuBlacklist.txt\n\nWhen users click this link, they will be directed to the extension's options page with your subscription pre-filled.\n\n## For developers\n\n### Build\n\nTo build this extension, [pnpm](https://pnpm.io/)\u003e=9.7.0 is required.\n\n```shell\ngit clone https://github.com/iorate/ublacklist.git\n\ncd ublacklist\n\npnpm install\n\n# Usage: pnpm build [--browser BROWSER] [--version VERSION] [--debug] [--watch]\npnpm build\n```\n\nBefore opening a pull request, you should make sure that `pnpm check` passes.\n\n```shell\npnpm check\n\n# Some lint errors can be fixed automatically\npnpm fix\n```\n\n**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.\n\n```\nDROPBOX_API_KEY=...\nDROPBOX_API_SECRET=...\nGOOGLE_DRIVE_API_KEY=...\nGOOGLE_DRIVE_API_SECRET=...\n```\n\n### Locale\n\nTo add a locale,\n\n1. Determine an ISO language code such as `en` referring to [kLanguageInfoTable](https://src.chromium.org/viewvc/chrome/trunk/src/third_party/cld/languages/internal/languages.cc).\n1. Copy `src/locales/en/messages.json.ts` to `src/locales/${languageCode}/messages.json.ts` and translate entries.\n1. Open `src/scripts/dayjs-locales.ts` and import the dayjs locale.\n1. To localize description and screenshots on web stores, create `web-store-assets/${languageCode}/` and add files.\n   - Screenshot localization is available only on Chrome Web Store.\n   - Screenshots should be 1280x800.\n\n## Author\n\n[iorate](https://github.com/iorate) ([Twitter](https://twitter.com/iorate))\n\n## License\n\nuBlacklist is licensed under [MIT License](LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiorate%2Fublacklist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiorate%2Fublacklist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiorate%2Fublacklist/lists"}