{"id":25085561,"url":"https://github.com/lanshuns/qwacky","last_synced_at":"2025-04-15T14:13:59.641Z","repository":{"id":274826840,"uuid":"922218827","full_name":"Lanshuns/Qwacky","owner":"Lanshuns","description":"Qwacky is an open source client for DuckDuckGo Email Protection, To manage and generate @duck.com aliases. ","archived":false,"fork":false,"pushed_at":"2025-03-20T02:37:19.000Z","size":4601,"stargazers_count":25,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-15T14:13:54.624Z","etag":null,"topics":["aliases","chrome","chrome-extension","client","cross-browser","email","extension","firefox","firefox-addon","open-source","privacy","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lanshuns.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-25T16:25:52.000Z","updated_at":"2025-04-15T08:23:14.000Z","dependencies_parsed_at":"2025-01-29T16:44:34.564Z","dependency_job_id":null,"html_url":"https://github.com/Lanshuns/Qwacky","commit_stats":null,"previous_names":["lanshuns/qwacky"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanshuns%2FQwacky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanshuns%2FQwacky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanshuns%2FQwacky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanshuns%2FQwacky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lanshuns","download_url":"https://codeload.github.com/Lanshuns/Qwacky/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249085429,"owners_count":21210267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aliases","chrome","chrome-extension","client","cross-browser","email","extension","firefox","firefox-addon","open-source","privacy","typescript"],"created_at":"2025-02-07T08:20:19.977Z","updated_at":"2025-04-15T14:13:59.629Z","avatar_url":"https://github.com/Lanshuns.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/icons/qwacky.png\" alt=\"Qwacky Logo\" width=\"128\" height=\"128\"\u003e\n\u003c/p\u003e\n\n# Why Qwacky?\n\nI'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:\n\n- You can't disable the tracking protection feature globally\n- You need to manually disable tracking protection for each website\n- The extension changes your default search engine to DuckDuckGo\n- No way to use just the email protection service standalone\n\nThat'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.\n\n## Download\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://chromewebstore.google.com/detail/qwacky/kieehbhdbincplacegpjdkoglfakboeo\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/585534/107280622-91a8ea80-6a26-11eb-8d07-77c548b28665.png\" alt=\"Get Qwacky for Chrome\"\u003e\u003c/a\u003e\n\u003ca href=\"https://addons.mozilla.org/en-US/firefox/addon/qwacky/\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/585534/107280546-7b9b2a00-6a26-11eb-8f9f-f95932f4bfec.png\" alt=\"Get Qwacky for Firefox\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Features\n- Generate and manage private @duck.com email addresses\n- Copy the generated address to the clipboard\n- Auto-fill addresses in input fields from context menu for a quick address generation\n- Store the generated addresses\n\n## Screenshots\n![](https://raw.githubusercontent.com/Lanshuns/Qwacky/refs/heads/main/images/banner2.png)\n\u003e **A big thanks to [@m.miriam12398](https://www.instagram.com/m.miriam12398/) for contributing by making such a cool designs for the project!**\n\n# Security \u0026 Privacy\n- Uses minimal permissions required for functionality\n- Only accesses tabs when explicitly requested by user action\n- All data is stored locally on your device\n- No tracking or analytics\n- Open source for transparency\n\n## Permissions\n\nThis extension requires the following permissions with detailed explanations of why each is needed:\n\n- `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)\n- `storage`: Required to store your generated addresses and settings locally\n- `contextMenus`: Enables the right-click menu for quick address generation\n- `clipboardWrite`: Needed to copy the generated address to the clipboard\n\n\u003e **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.\n\n## Browser Compatibility\n\nQwacky is designed to work seamlessly on both Chrome and Firefox. The build process automatically handles browser-specific requirements:\n\n- **Chrome**: Uses service workers for background scripts (Manifest V3)\n- **Firefox**: Uses background scripts with polyfill support (Manifest V3)\n\nBoth versions maintain feature parity while adhering to each browser's best practices and security models.\n\n\n# Manual Installation\n\n#### Chrome\n1. Download the latest release from the [GitHub Releases](https://github.com/Lanshuns/Qwacky/releases) page\n2. Unzip the downloaded file\n3. Open Chrome and go to `chrome://extensions/`\n4. Enable \"Developer mode\" in the top right\n5. Click \"Load unpacked\" and select the unzipped folder\n\n#### Firefox\n1. Download the Firefox version (.xpi file) from the [GitHub Releases](https://github.com/Lanshuns/Qwacky/releases) page\n2. Open Firefox and go to `about:addons`\n3. Click the gear icon and select \"Install Add-on From File...\"\n4. Select the downloaded .xpi file\n\n# Development\n\n### Prerequisites\n- Node.js (v16 or higher)\n- npm (v7 or higher)\n\n### Setup\n1. Clone the repository\n```bash\ngit clone https://github.com/Lanshuns/Qwacky.git\ncd qwacky\n```\n\n2. Install dependencies\n```bash\nnpm install\n```\n\n### Development Mode\n\n#### For Chrome:\n```bash\nnpm run dev\n```\n\n#### For Firefox:\n```bash\nnpm run dev:firefox\n```\n\n### Production Build\n\n#### For Chrome:\n```bash\nnpm run build\n```\n\n#### For Firefox:\n```bash\nnpm run build:firefox\n```\n\nThe built extension will be available in the `dist` directory.\n\n\u003e **Note**: For development and temporary installation in Firefox, you can use `about:debugging` method:\n\u003e 1. Go to `about:debugging`\n\u003e 2. Click \"This Firefox\" in the left sidebar\n\u003e 3. Click \"Load Temporary Add-on\"\n\u003e 4. Select the `manifest.json` file from the unzipped folder\n\n# Acknowledgments\n\nThis 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:\n\nCopyright (c) 2010-2021 Duck Duck Go, Inc.\n\nFor the full license text, see [APACHE-LICENSE](https://github.com/duckduckgo/duckduckgo-privacy-extension/blob/main/LICENSE.md).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanshuns%2Fqwacky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flanshuns%2Fqwacky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanshuns%2Fqwacky/lists"}