Open Source · MIT · Free Tier

Turn email newsletters into private RSS feeds

Self-hosted on Cloudflare Workers. Your data stays in your own account, served from your own domain.

View on GitHub Quick Start ↓

Everything you need, nothing you don't

Built on serverless infrastructure — zero servers to maintain, no subscription fees.

Self-Hosted & Private

Your emails and feeds live exclusively in your own Cloudflare account. No shared infrastructure, no data mining.

Free Cloudflare Tier

Cloudflare Workers, KV, and Email Routing all fall within the generous free tier. Deploy at zero cost.

Your Own Domain

Subscribe to newsletters using addresses on your own domain (e.g. apple@yourdomain.com). No lock-in.

Two Ingestion Methods

Use Cloudflare Email Routing (no third-party) or ForwardEmail webhooks — whichever fits your setup.

Attachment Enclosures

Email attachments are stored in Cloudflare R2 and exposed as RSS enclosures — no extra hosting needed.

External Auth Support

Optionally delegate admin authentication to Authelia, Authentik, or any reverse proxy that sets Remote-User.

Three steps, done

From email delivery to your RSS reader in milliseconds, with no moving parts.

1

Subscribe with your address

Create a feed in the admin UI and get a unique address like newsletter.42@yourdomain.com. Subscribe to any newsletter with it.

2

Worker ingests the email

When a newsletter arrives, Cloudflare routes it to your Worker. It parses the content and stores it in KV — attachments go to R2.

3

Read in your RSS reader

Your feed is live at /rss/:feedId. Add it to any RSS client and never miss an issue.

Up and running in minutes

A single setup script handles KV namespaces, secrets, and wrangler.toml generation.

Terminal
# 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:

Alternative

ForwardEmail Webhook

Point ForwardEmail MX records at your domain. ForwardEmail parses incoming mail and POSTs a JSON payload to /api/inbound.

Built on reliable primitives

Minimal dependencies, maximum portability — runs entirely on Cloudflare's global network.

Cloudflare Workers Hono KV Storage R2 Object Storage TypeScript RSS 2.0 Atom postal-mime Zod Vitest