Skip to content

Latest commit

 

History

History

extension-manifest-v2

Ghostery

Build Status   GitHub manifest version   Twitter Follow

Ghostery helps you browse smarter by giving you control over ads and tracking technologies to speed up page loads, eliminate clutter, and protect your data. This is the unified code repository for the Ghostery browser extensions in Chrome, Firefox, Opera and Edge.

Downloads

FirefoxDownload

ChromeDownload

OperaDownload

EdgeDownload

Installation

Node.js 18 (or higher) is required to build the extension.

Install local npm packages

$ (cd .. && npm ci)

Building

# Build all sources
$ npm run build.dev
# Build for production
$ npm run build
# Build and watch for changes
$ npm run build.watch

Enable Debugging / Logging

// In manifest.json set
"debug": true,

Testing and Linting

# Update Jest snapshot artifacts
$ npm run test.snapshot
# Run unit tests
$ npm run test
# Run linter over the ./app and ./src folders
$ npm run lint
# Lint a specific file
$ npm run lint.raw src/utils/matcher.js

Internationalization

This project is configured to use the Transifex CLI. See their documentation to get started. Note: You do not need to run tx config as the project configuration file has already been generated.

Generate a Transifex API Token link

# Configure the Transifex CLI
$ tx init
# Submit translation files to Transifex
$ tx push -s
# Download translated files from Transifex
$ tx pull -a
# Add the placeholders into the downloaded translation files.
$ node tools/transifex.js

Building Common Libraries for Ghostery

Common libraries are pre-built and included under the ghostery-common NPM dependency in package.json. To reproduce this build process, download the appropriate Ghostery release from the ghostery-common project.

$ npm ci
$ ./fern.js build configs/ghostery.js --environment=production --no-debug

Compatibility

  • Firefox: 68+
  • Firefox Android: 68+
  • Chrome: 69+
  • Opera: 56+
  • Edge: 79+

Contribute

See CONTRIBUTING and CODE OF CONDUCT

Tracker Databases

The databases folder contains JSON skeletons to show the schema expected by the extension pattern matcher. See the Database README for more information. Ghostery's production tracker databases have been purposely excluded from this project, as they remain proprietary to Ghostery, Inc. Which leads us to this grim, yet obligatory...

Copyright Notice

The proprietary databases are the intellectual property of Ghostery, Inc. and are protected by copyright and other applicable laws. All rights to them are expressly reserved by Ghostery, Inc. You may not use these databases or any portion thereof for any purpose that is not expressly granted in writing by Ghostery, Inc. All inquires should be sent to legal@ghostery.com. Ghostery, Inc. retains the sole discretion in determining whether or not to grant permission to use the databases. Unauthorized use of the databases, or any portion of them, will cause irreparable harm to Ghostery, Inc. and may result in legal proceedings against you, seeking monetary damages and an injunction against you, including the payment of legal fees and costs.

Ghostery