/ghostery-extension

Ghostery Browser Extension for Firefox, Chrome, Opera and Edge

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

Ghostery

Build Status   GitHub manifest version   Chat on Gitter   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

CliqzDownload

OperaDownload

EdgeDownload

Installation

Install yarn

https://yarnpkg.com/en/docs/install

Install local npm packages

$ yarn install --frozen-lockfile

Upgrade packages

# Upgrade packages according to package.json version range
# https://yarnpkg.com/en/docs/cli/upgrade/
$ yarn upgrade

Building

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

Enable Debugging / Logging

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

Testing and Linting

# Run unit tests
$ yarn run test.unit
# Run linter over the ./app and ./src folders
$ yarn run lint
# Lint a specific file
$ yarn run lint.raw -- src/utils/matcher.js
# Disable lint
$ NO_LINT=true yarn run build.dev

Build Docs

# Build JSDoc files to ./docs
$ yarn run docs

Translating Files

We use Transifex and their CLI to manage our translation files. Follow these instructions to get started.

Note: There is no need to run tx config as the project has already been configured to work with Transifex. See the configuration file in .tx/config.

Next, generate an API Token, run tx init, and paste the generated API Token when prompted. This will allow the computer to push (Submit) and pull (Download) files to/from Transifex.

# 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

Cliqz Source Code

Ghostery implements the following open-source products from Cliqz

Human Web

Anti-Tracking

Ad Blocker

MyOffrz

Building Cliqz Modules for Ghostery

Cliqz modules are pre-built and included under the browser-core NPM dependency in package.json. To reproduce this build process, grab the appropriate Ghostery release (v7.x.x) from the browser-core project.

$ npm install
$ ./fern.js build configs/ghostery.js --no-maps --environment=production
$ ./fern.js pack configs/ghostery.js

Compatibility

  • Firefox: 52+
  • Firefox Android: 55+
  • Chrome: 58+
  • Opera: 45+
  • Edge: 34.14291+

Contribute

See CONTRIBUTING and CODE OF CONDUCT

Links

Additional Open Source Ghostery Projects

Ghostery Team

Ghostery relies on contributions from lots of talented people. Our core development team looks like this:

Christopher Tino José María Signanini Serge Zarembsky Patrick Lawler Caleb Richelson
Christopher Tino José María Signanini Serge Zarembsky Patrick Lawler Caleb Richelson
Aziz Aithsaine Ethan Gooding Frank Chiarulli Ilya Zarembsky Valmik Patel
Aziz Aithsaine Ethan Gooding Frank Chiarulli Ilya Zarembsky Valmik Patel

See the full montage of uncommonly attractive Ghosterians/Cliqzers here.

License

MPL-2.0 Copyright 2019 Ghostery, Inc. All rights reserved.

See LICENSE

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