diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ad5fb9a16b8..81b51d10144 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -286,6 +286,7 @@ /extensions/close-finder @qeude /extensions/cloud-cli-login-statuses @AdamVyborny /extensions/cloudflare @Destiner @niklaswa @teziovsky @xmok +/extensions/cloudflare-email-routing @erayack /extensions/cloudflare-warp @anandubajith /extensions/cloudinary @colbyfayock @xmok /extensions/cnpj-lookup @xilopaint diff --git a/.github/extensionName2Folder.json b/.github/extensionName2Folder.json index e15d12c3d6a..7043435214e 100644 --- a/.github/extensionName2Folder.json +++ b/.github/extensionName2Folder.json @@ -285,6 +285,7 @@ "qeude/close-finder": "close-finder", "adam_vyborny/cloud-cli-login-statuses": "cloud-cli-login-statuses", "destiner/cloudflare": "cloudflare", + "erayack/cloudflare-email-routing": "cloudflare-email-routing", "anandubajith/cloudflare-warp": "cloudflare-warp", "colbyfayock/cloudinary": "cloudinary", "xilopaint/cnpj-lookup": "cnpj-lookup", diff --git a/.github/raycast2github.json b/.github/raycast2github.json index e8a7675d4a7..1e81bbb7ec0 100644 --- a/.github/raycast2github.json +++ b/.github/raycast2github.json @@ -2193,5 +2193,6 @@ "weicodes": "wei", "maxoliinyk": "maxoliinyk", "Caramel": "CaramelFur", - "sbertix": "third774" + "sbertix": "third774", + "erayack": "erayack" } \ No newline at end of file diff --git a/docs/.config.json b/docs/.config.json index bf527901e7f..844656e1126 100644 --- a/docs/.config.json +++ b/docs/.config.json @@ -1,3 +1,3 @@ { - "version": "1.101.0" + "version": "1.101.1" } diff --git a/extensions/cloudflare-email-routing/.gitignore b/extensions/cloudflare-email-routing/.gitignore new file mode 100644 index 00000000000..f8d97bd3db2 --- /dev/null +++ b/extensions/cloudflare-email-routing/.gitignore @@ -0,0 +1,10 @@ +node_modules/ +dist/ +.DS_Store +*.log +.env +.env.local +.env.development.local +.env.test.local +.env.production.local +raycast-env.d.ts diff --git a/extensions/cloudflare-email-routing/.prettierrc b/extensions/cloudflare-email-routing/.prettierrc new file mode 100644 index 00000000000..b77d22c8cbe --- /dev/null +++ b/extensions/cloudflare-email-routing/.prettierrc @@ -0,0 +1,8 @@ +{ + "semi": true, + "trailingComma": "es5", + "singleQuote": false, + "printWidth": 120, + "tabWidth": 2, + "useTabs": false +} diff --git a/extensions/cloudflare-email-routing/CHANGELOG.md b/extensions/cloudflare-email-routing/CHANGELOG.md new file mode 100644 index 00000000000..a3a6e3bc5bf --- /dev/null +++ b/extensions/cloudflare-email-routing/CHANGELOG.md @@ -0,0 +1,11 @@ +Cloudflare Email Routing Changelog + +## [Initial Version] - 2025-07-17 + +### Added + +**Create Email Aliases:** Quickly generate new, random email aliases that forward to your primary inbox. +**List & Filter Aliases:** View all your existing aliases. Search and filter them by email address, description, or tags. +**Manage Aliases:** Edit the label and description of your aliases or delete them directly from Raycast. +**View Alias Details:** See detailed information for each alias, including its creation date and forwarding address. +**Colored Tags:** Tags are assigned a unique, consistent color for easier visual identification. \ No newline at end of file diff --git a/extensions/cloudflare-email-routing/README.md b/extensions/cloudflare-email-routing/README.md new file mode 100644 index 00000000000..f6cbdf63b4e --- /dev/null +++ b/extensions/cloudflare-email-routing/README.md @@ -0,0 +1,70 @@ +# Cloudflare Email Routing + +A Raycast extension that allows you to create, list, edit, and delete Cloudflare email aliases directly from Raycast. + +## Features + +- 📧 **Create Email Aliases**: Instantly generate random email aliases that forward to your real inbox. +- 📋 **List & Search**: View and search all your email aliases. +- ✏️ **Edit Alias Label**: Quickly update the label of any alias. +- 🗑️ **Delete Aliases**: Remove aliases you no longer need. +- 📋 **Quick Copy**: Copy email addresses to the clipboard. +- ⚡️ **Alias Pooling**: Pre-allocate a pool of aliases for even faster creation (optional). + +## Screenshots + +![Onboarding](./metadata/cloudflare-email-routing-1.png) +![Commands](./metadata/cloudflare-email-routing-2.png) +![Create Email Alias](./metadata/cloudflare-email-routing-3.png) +![List Email Alias](./metadata/cloudflare-email-routing-4.png) +![Edit Email Alias](./metadata/cloudflare-email-routing-5.png) + + +## Prerequisites + +1. **Cloudflare Account**: A Cloudflare account with a configured domain. +2. **Email Routing**: Email Routing must be enabled for your domain in Cloudflare. +3. **API Token**: A Cloudflare API token with the necessary "Email Routing" permissions. + +For a detailed guide on setting up your Cloudflare account and obtaining the required credentials, please follow the [setup instructions](https://github.com/webmonch/hide-my-mail-cloudflare/blob/main/SETUP.md). + +## Setup + +After installing the extension, you will need to configure the following preferences in Raycast: + +- **Cloudflare API Key**: Your API token with `Email Routing:Edit` permissions. +- **Zone ID**: The Zone ID for the domain where your email routing is configured. +- **Destination Email Address**: The real email address where your aliases will forward emails to. +- **Pre-allocate Alias Pool** (Optional): Enable to pre-create a pool of unused aliases for faster generation. + +## Usage + +### List Email Aliases Command + +- **View Aliases**: See a list of all your active email aliases. +- **Search**: Search aliases by email address or label. +- **Toggle Details**: Press `⌘D` to view detailed information for an alias. +- **Copy Email**: Press `⌘C` to copy the alias's email address. +- **Edit Alias**: Press `⌘E` to open the edit view for the selected alias. +- **Delete Alias**: Press `⌘⇧D` to delete the selected alias (with confirmation). +- **Copy Forwarding Address**: Press `⌘⇧C` to copy the destination email address. + +### Create Email Alias Command + +- **Create New Alias**: Generate a new, random email alias. +- **Add Label**: Assign a label to your new alias for organization. +- **Use Random Unused Alias**: Press `⌘R` for quick creation using a pre-allocated alias with a default label. + +## How It Works + +This extension utilizes Cloudflare's Email Routing API to manage forwarding rules. It stores metadata within the rule's name using a specific format: `[hide_mail]||