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 extension firefox firefox-addon open-source privacy typescript
Last synced: 7 months ago
JSON representation
Qwacky is an open source client for DuckDuckGo Email Protection, To manage and generate @duck.com aliases.
- Host: GitHub
- URL: https://github.com/lanshuns/qwacky
- Owner: Lanshuns
- License: mit
- Created: 2025-01-25T16:25:52.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-03-20T02:37:19.000Z (8 months ago)
- Last Synced: 2025-04-15T14:13:54.624Z (7 months ago)
- Topics: aliases, chrome, chrome-extension, client, cross-browser, email, extension, firefox, firefox-addon, open-source, privacy, typescript
- Language: TypeScript
- Homepage:
- Size: 4.39 MB
- Stars: 25
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
## 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](https://www.instagram.com/m.miriam12398/) for contributing by making such a cool designs for the project!**
# 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).

