diff --git a/AGENTS.md b/AGENTS.md index 6222a7f..75e7afa 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ This file gives coding agents fast context for working in this repository. ## Project summary -Email-to-RSS is a Cloudflare Worker that ingests newsletters from ForwardEmail and exposes them as RSS feeds. +kill-the-news is a Cloudflare Worker that ingests email newsletters and exposes them as private RSS feeds. Core goals: diff --git a/README.md b/README.md index 063719e..b3781e2 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# Email-to-RSS +# kill-the-news -Convert email newsletters into a private RSS feed using Cloudflare Workers. +Convert email newsletters into private RSS feeds using Cloudflare Workers. -This project is self-hosted, uses your own domain, and keeps your data in your own Cloudflare account. +Self-hosted, uses your own domain, and keeps your data in your own Cloudflare account. Live at [kill-the.news](https://kill-the.news). ## Why this exists Many newsletters only support email delivery. RSS readers offer a better reading experience, but getting email-only newsletters into RSS usually means relying on shared third-party infrastructure. -Email-to-RSS keeps the same workflow while avoiding shared domains and shared data stores. +kill-the-news keeps the same workflow while avoiding shared domains and shared data stores. ## Features @@ -91,7 +91,7 @@ No third-party service required. Cloudflare receives the email and hands it dire 1. In the Cloudflare dashboard, go to _Email → Email Routing_ for your zone and click **Enable Email Routing**. Cloudflare will prompt you to add MX and SPF records — accept and it adds them automatically. 2. Under _Email Routing → Routing Rules_, add a **Catch-all** rule: - Action: **Send to Worker** - - Worker: `email-to-rss` (the name from `wrangler.toml`) + - Worker: `kill-the-news` (the name from `wrangler.toml`) That's it. No webhook configuration is needed. @@ -122,7 +122,7 @@ The Worker verifies each webhook request against ForwardEmail's published MX IP 6. Open `https://yourdomain.com/admin` and sign in. -> **Tip:** To verify the Worker is running, check _Workers & Pages → email-to-rss_ in the Cloudflare dashboard. The _Custom Domains_ tab should list your domain once the deploy succeeds. +> **Tip:** To verify the Worker is running, check _Workers & Pages → kill-the-news_ in the Cloudflare dashboard. The _Custom Domains_ tab should list your domain once the deploy succeeds. ## Development diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..7687cb7 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,595 @@ + + +
+ + +Self-hosted on Cloudflare Workers. Your data stays in your own account, served from your own domain.
+ +Built on serverless infrastructure — zero servers to maintain, no subscription fees.
+Your emails and feeds live exclusively in your own Cloudflare account. No shared infrastructure, no data mining.
+Cloudflare Workers, KV, and Email Routing all fall within the generous free tier. Deploy at zero cost.
+Subscribe to newsletters using addresses on your own domain (e.g. apple@yourdomain.com). No lock-in.
Use Cloudflare Email Routing (no third-party) or ForwardEmail webhooks — whichever fits your setup.
+Email attachments are stored in Cloudflare R2 and exposed as RSS enclosures — no extra hosting needed.
+Optionally delegate admin authentication to Authelia, Authentik, or any reverse proxy that sets Remote-User.
From email delivery to your RSS reader in milliseconds, with no moving parts.
+Create a feed in the admin UI and get a unique address like newsletter.42@yourdomain.com. Subscribe to any newsletter with it.
When a newsletter arrives, Cloudflare routes it to your Worker. It parses the content and stores it in KV — attachments go to R2.
+Your feed is live at /rss/:feedId. Add it to any RSS client and never miss an issue.
A single setup script handles KV namespaces, secrets, and wrangler.toml generation.
# 1. Clone the repo +$ git clone https://github.com/juherr/kill-the-news.git && cd kill-the-news + +# 2. Log in to Cloudflare +$ npx wrangler login + +# 3. Run the interactive setup (creates KV, sets secrets, writes wrangler.toml) +$ bash setup.sh + +# 4. Deploy to the edge +$ npm run deploy+
Then choose how emails reach your Worker:
+ +Minimal dependencies, maximum portability — runs entirely on Cloudflare's global network.
+