Skip to content

Qwacky is an open source client for DuckDuckGo Email Protection, To manage and generate @duck.com aliases.

License

Notifications You must be signed in to change notification settings

Lanshuns/Qwacky

Repository files navigation

Qwacky Logo

Why Qwacky?

I've been using DuckDuckGo Email Protection service for a while and really appreciate it. However, the requirement to install the full DuckDuckGo extension came with some challenges:

  • You can't disable the tracking protection feature globally
  • You need to manually disable tracking protection for each website
  • The extension changes your default search engine to DuckDuckGo
  • No way to use just the email protection service standalone

That's why I created Qwacky - initially for personal use, but I realized others might face the same issues. As someone who always wanted to contribute to the open-source community with helpful tools, I decided to share this project publicly.

Download

Get Qwacky for Chrome Get Qwacky for Firefox

Features

  • Generate and manage private @duck.com email addresses
  • Copy the generated address to the clipboard
  • Auto-fill addresses in input fields from context menu for a quick address generation
  • Store the generated addresses

Screenshots

A big thanks to @m.miriam12398 for contributing by making such a cool designs for the project!

Planned Features

  • Autofill input icon
  • Multiple accounts support
  • Create duck account
  • Change forwarding email
  • Delete duck account

Security & Privacy

  • Uses minimal permissions required for functionality
  • Only accesses tabs when explicitly requested by user action
  • All data is stored locally on your device
  • No tracking or analytics
  • Open source for transparency

Permissions

This extension requires the following permissions with detailed explanations of why each is needed:

  • activeTab: Required to access and inject scripts into the current tab only when you explicitly interact with the extension (e.g., using the context menu to fill email addresses)
  • storage: Required to store your generated addresses and settings locally
  • contextMenus: Enables the right-click menu for quick address generation
  • clipboardWrite: Needed to copy the generated address to the clipboard

Security Note: The extension only accesses web pages when you explicitly use the context menu to generate an address. No automatic or background access to web pages occurs.

Browser Compatibility

Qwacky is designed to work seamlessly on both Chrome and Firefox. The build process automatically handles browser-specific requirements:

  • Chrome: Uses service workers for background scripts (Manifest V3)
  • Firefox: Uses background scripts with polyfill support (Manifest V3)

Both versions maintain feature parity while adhering to each browser's best practices and security models.

Manual Installation

Chrome

  1. Download the latest release from the GitHub Releases page
  2. Unzip the downloaded file
  3. Open Chrome and go to chrome://extensions/
  4. Enable "Developer mode" in the top right
  5. Click "Load unpacked" and select the unzipped folder

Firefox

  1. Download the Firefox version (.xpi file) from the GitHub Releases page
  2. Open Firefox and go to about:addons
  3. Click the gear icon and select "Install Add-on From File..."
  4. Select the downloaded .xpi file

Development

Prerequisites

  • Node.js (v16 or higher)
  • npm (v7 or higher)

Setup

  1. Clone the repository
git clone https://github.com/Lanshuns/Qwacky.git
cd qwacky
  1. Install dependencies
npm install

Development Mode

For Chrome:

npm run dev

For Firefox:

npm run dev:firefox

Production Build

For Chrome:

npm run build

For Firefox:

npm run build:firefox

The built extension will be available in the dist directory.

Note: For development and temporary installation in Firefox, you can use about:debugging method:

  1. Go to about:debugging
  2. Click "This Firefox" in the left sidebar
  3. Click "Load Temporary Add-on"
  4. Select the manifest.json file from the unzipped folder

Acknowledgments

This project is a derivative work based on DuckDuckGo's Email Protection service, which is licensed under the Apache License 2.0. The original work's copyright notice:

Copyright (c) 2010-2021 Duck Duck Go, Inc.

For the full license text, see APACHE-LICENSE.