Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lanshuns/qwacky

Qwacky is an open source client for DuckDuckGo Email Protection, To manage and generate @duck.com aliases.
https://github.com/lanshuns/qwacky

aliases chrome chrome-extension client cross-browser email firefox firefox-addon open-source privacy

Last synced: about 2 hours ago
JSON representation

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

Awesome Lists containing this project

README

        


Qwacky Logo

# Why Qwacky?

I've been using [DuckDuckGo Email Protection](https://duckduckgo.com/email) 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
![](https://raw.githubusercontent.com/Lanshuns/Qwacky/refs/heads/main/images/banner2.png)
> **A big thanks to [@m.miriam12398](https://www.instagram.com/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](https://github.com/Lanshuns/Qwacky/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](https://github.com/Lanshuns/Qwacky/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
```bash
git clone https://github.com/Lanshuns/Qwacky.git
cd qwacky
```

2. Install dependencies
```bash
npm install
```

### Development Mode

#### For Chrome:
```bash
npm run dev
```

#### For Firefox:
```bash
npm run dev:firefox
```

### Production Build

#### For Chrome:
```bash
npm run build
```

#### For Firefox:
```bash
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](https://github.com/duckduckgo/duckduckgo-privacy-extension/blob/main/LICENSE.md).