Convert Figma logo to code with AI

duckduckgo logoduckduckgo-privacy-extension

DuckDuckGo Privacy Essentials browser extension for Firefox, Chrome.

1,252
244
1,252
111

Top Related Projects

Privacy Badger is a browser extension that automatically learns to block invisible trackers.

46,727

uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

Brave browser for Android, iOS, Linux, macOS, Windows.

Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs that preserve your privacy. Cookies are separated by container, allowing you to use the web with multiple identities or accounts simultaneously.

Ghostery Browser Extension for Firefox, Chrome, Opera, Edge and Safari

Google Chromium, sans integration with Google

Quick Overview

The DuckDuckGo Privacy Extension is an open-source browser extension that enhances user privacy while browsing the web. It blocks trackers, enforces secure connections, and provides privacy grades for websites, all while offering the seamless search experience of DuckDuckGo.

Pros

  • Blocks third-party trackers to enhance online privacy
  • Enforces encryption on websites to improve security
  • Provides privacy grades for websites, increasing user awareness
  • Open-source, allowing for community contributions and transparency

Cons

  • May occasionally break functionality on some websites
  • Limited customization options compared to some other privacy extensions
  • Potential performance impact on slower devices or connections
  • Primarily focused on DuckDuckGo ecosystem, which may not suit all users

Getting Started

To use the DuckDuckGo Privacy Extension:

  1. Visit the official extension page for your browser:

  2. Click "Add to [Browser Name]" or "Get" to install the extension.

  3. Once installed, click on the DuckDuckGo icon in your browser toolbar to access settings and features.

  4. (Optional) Customize the extension settings to your preferences, such as enabling/disabling specific features or adding trusted sites to the allowlist.

Competitor Comparisons

Privacy Badger is a browser extension that automatically learns to block invisible trackers.

Pros of Privacy Badger

  • Open-source and community-driven development
  • Uses machine learning to automatically detect and block trackers
  • Provides detailed information about blocked trackers and their behavior

Cons of Privacy Badger

  • May require more user intervention to fine-tune blocking settings
  • Can sometimes break website functionality due to aggressive blocking
  • Less frequent updates compared to DuckDuckGo Privacy Extension

Code Comparison

Privacy Badger:

function updateOrigin(tabId, frameId, origin, action) {
  if (originsToTabsMap.has(origin)) {
    originsToTabsMap.get(origin).add(tabId);
  } else {
    originsToTabsMap.set(origin, new Set([tabId]));
  }
  // ... more code ...
}

DuckDuckGo Privacy Extension:

class TrackerBlockingBackground {
    async updateTrackers() {
        const data = await this.fetchTrackerBlockingData()
        this.setLists(data)
        return data
    }
    // ... more code ...
}

Both extensions focus on protecting user privacy, but they use different approaches. Privacy Badger employs a learning algorithm to identify and block trackers, while DuckDuckGo Privacy Extension relies on predefined lists and regular updates. The code snippets show how each extension manages tracker data and updates, reflecting their distinct methodologies.

46,727

uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

Pros of uBlock

  • More extensive filtering capabilities with advanced user settings
  • Lighter on system resources, potentially faster performance
  • Open-source with a larger community of contributors

Cons of uBlock

  • Steeper learning curve for non-technical users
  • Less focus on privacy-specific features compared to DuckDuckGo's extension
  • May require more manual configuration for optimal results

Code Comparison

uBlock (content blocker):

µBlock.staticNetFilteringEngine.matchString(
    fctxt,
    requestType,
    url
);

DuckDuckGo Privacy Extension (tracker blocking):

trackerutils.isTracker(url, documentUrl, requestType).then((tracker) => {
    if (tracker) {
        // Block tracker
    }
});

Both extensions use different approaches to identify and block unwanted content. uBlock relies on a more traditional static filtering engine, while DuckDuckGo's extension uses a promise-based tracker detection system. uBlock's approach may be more efficient for large-scale blocking, while DuckDuckGo's method allows for more dynamic and privacy-focused decisions.

Brave browser for Android, iOS, Linux, macOS, Windows.

Pros of Brave Browser

  • Full-featured web browser with built-in privacy and security features
  • Includes a cryptocurrency wallet and rewards system
  • Offers more customization options and advanced settings

Cons of Brave Browser

  • Larger codebase and more complex project structure
  • May have a steeper learning curve for contributors
  • Cryptocurrency integration might be controversial for some users

Code Comparison

Brave Browser (C++):

void BraveContentBrowserClient::MaybeHideReferrer(
    content::BrowserContext* browser_context,
    const GURL& request_url,
    const GURL& document_url,
    bool is_main_frame,
    blink::mojom::ReferrerPtr* referrer) {
  DCHECK(referrer && !referrer->is_null());
  GURL target_origin(request_url.GetOrigin());
  GURL document_origin(document_url.GetOrigin());

DuckDuckGo Privacy Extension (JavaScript):

function getTabUrl(tab) {
    if (tab.url) {
        return tab.url
    }

    if (!tab.pendingUrl) {
        console.warn('getTabUrl() no url for tab', tab)
        return ''
    }

The Brave Browser repository contains a more extensive codebase with lower-level programming, while the DuckDuckGo Privacy Extension focuses on browser extension functionality using JavaScript. Brave offers a complete browser solution, whereas DuckDuckGo provides a privacy-focused add-on for existing browsers.

Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs that preserve your privacy. Cookies are separated by container, allowing you to use the web with multiple identities or accounts simultaneously.

Pros of Multi-Account Containers

  • Allows users to manage multiple accounts on the same website without logging out
  • Provides better isolation between different online identities
  • Integrates seamlessly with Firefox's built-in privacy features

Cons of Multi-Account Containers

  • Limited to Firefox browser only
  • Requires manual setup and management of containers
  • May not provide as comprehensive tracking protection as DuckDuckGo Privacy Extension

Code Comparison

Multi-Account Containers:

async function createTabInContainer(cookieStoreId, url) {
  return browser.tabs.create({
    url,
    cookieStoreId
  });
}

DuckDuckGo Privacy Extension:

class TrackerBlocker {
    blockTracker(tracker) {
        // Implementation to block tracker
    }
}

The code snippets show different focuses:

  • Multi-Account Containers deals with creating tabs in specific containers
  • DuckDuckGo Privacy Extension focuses on blocking trackers

Both extensions aim to enhance user privacy, but they approach it differently. Multi-Account Containers provides isolation between browsing sessions, while DuckDuckGo Privacy Extension actively blocks trackers and enhances search privacy. The choice between them depends on user preferences and specific privacy needs.

Ghostery Browser Extension for Firefox, Chrome, Opera, Edge and Safari

Pros of Ghostery

  • More comprehensive tracking protection, including social media trackers and widgets
  • Offers detailed analytics and insights about trackers on visited websites
  • Customizable blocking options for advanced users

Cons of Ghostery

  • Less focus on search privacy compared to DuckDuckGo
  • More complex user interface, which may be overwhelming for some users
  • Has faced criticism in the past for its data collection practices

Code Comparison

Both extensions use JavaScript for their core functionality. Here's a brief comparison of how they handle content blocking:

DuckDuckGo Privacy Extension:

class Tracker {
  constructor(name, domain, owner) {
    this.name = name;
    this.domain = domain;
    this.owner = owner;
  }
}

Ghostery:

class TrackerDb {
  constructor() {
    this.trackers = new Map();
    this.apps = new Map();
    this.bugs = new Map();
  }
}

DuckDuckGo's approach is simpler, focusing on individual trackers, while Ghostery uses a more complex database structure to manage various types of trackers and their relationships.

Both extensions are open-source and actively maintained, with regular updates and contributions from the community. DuckDuckGo Privacy Extension tends to have a more streamlined codebase, while Ghostery offers more advanced features at the cost of increased complexity.

Google Chromium, sans integration with Google

Pros of ungoogled-chromium

  • More comprehensive privacy protection by removing all Google-specific code and services
  • Maintains full Chromium functionality and compatibility with Chrome extensions
  • Offers greater customization options for advanced users

Cons of ungoogled-chromium

  • Requires manual compilation or finding pre-built binaries, which can be challenging for non-technical users
  • May have slower update cycles compared to regular Chrome or the DuckDuckGo extension
  • Lacks some convenience features like built-in search engine integration

Code Comparison

ungoogled-chromium (from flags.gn):

enable_hangout_services_extension = false
enable_mdns = false
enable_mse_mpeg2ts_stream_parser = false
enable_nacl = false
enable_nacl_nonsfi = false

duckduckgo-privacy-extension (from background.js):

const ATB = require('./atb.js')
const utils = require('./utils.js')
const experiment = require('./experiments.js')
const httpsService = require('./https.js')

The ungoogled-chromium code snippet shows how specific features are disabled at build time, while the DuckDuckGo extension code demonstrates the modular structure of its privacy-enhancing features.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

DuckDuckGo Browser Extensions

Build Status

DuckDuckGo Firefox, Chrome, and Edge extensions.

Visit our Web Tracking Protections page to learn how each of our web tracking protections works and how they work together in our browser extensions and apps to provide overlapping protection.

DuckDuckGo Privacy Extensions is distributed under the Apache 2.0 License.

Latest Versions

Safari

The code for the Safari extension is an Xcode project which you can find here.

The Safari extension can be installed from the App Store.

Other browsers

If you use another Chromium-based browser like Vivaldi, you can usually install the Chrome version.

Reporting a broken site

Report broken sites using the anonymous "Report Broken Site" link in the extension popup.

Reporting bugs

See Reporting bugs.

Development

We're not accepting new feature pull requests right now. For bug fixes see Development.

Questions or help with the search engine

See help pages.