Source: https://seerepo.com/r/DIYgod/RSSHub/built
Markdown source: https://seerepo.com/r/DIYgod/RSSHub/built.md
Description: RSSHub is a TypeScript repo built with Hono. It stores its data in lru-cache, signs people in with tough-cookie and otplib, and watches its errors with Sentry.

# What is RSSHub built with?

RSSHub is a TypeScript repo built with Hono. It stores its data in lru-cache, signs people in with tough-cookie and otplib, watches its errors with Sentry, makes its content with Cheerio, domhandler, entities, markdown-it, sanitize-html, and 6 more, validates its data with Zod, is tested with Vitest, msw, jsdom, and mockdate, deploys with @honeybadger-io/js, @hono/node-server, opentelemetry, and winston, and uses Redis. It has 504,309 written lines, with 93 test files.

Read on November 6, 2026, at commit 17b1822.

Repository: https://github.com/DIYgod/RSSHub

## Frontend

### Interface

- **Scalar**: 1 file

## Backend

### Data

- **[lru-cache](https://seerepo.com/uses/lru-cache)**: 2 files
- **[Redis](https://seerepo.com/uses/redis)**: 1 file · [lib/utils/cache/redis.ts, line 1](https://github.com/DIYgod/RSSHub/blob/17b1822a5d9eb82d4fe6108c125b06fe9703290a/lib/utils/cache/redis.ts#L1)

### Sign-in

- **tough-cookie**: 18 files
- **otplib**: 2 files

### Services

- **[Sentry](https://seerepo.com/uses/sentry)**: 2 files · [lib/errors/index.tsx, line 13](https://github.com/DIYgod/RSSHub/blob/17b1822a5d9eb82d4fe6108c125b06fe9703290a/lib/errors/index.tsx#L13)

## Support

### The base

- **[Hono](https://seerepo.com/uses/hono)**: 1,322 files

### Content

- **[Cheerio](https://seerepo.com/uses/cheerio)**: 2,757 files
- **domhandler**: 157 files
- **[entities](https://seerepo.com/uses/entities)**: 102 files
- **[markdown-it](https://seerepo.com/uses/markdown-it)**: 70 files
- **[sanitize-html](https://seerepo.com/uses/sanitize-html)**: 28 files
- **rss-parser**: 16 files
- **html-to-text**: 3 files
- **imapflow**: 1 file
- **postal-mime**: 1 file
- **[remark](https://seerepo.com/uses/remark)**: 1 file
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 12 files

### Testing

- **Vitest**: 84 files
- **msw**: 6 files
- **jsdom**: 1 file
- **mockdate**: 1 file

### Deploy

- **@honeybadger-io/js**: 2 files
- **[@hono/node-server](https://seerepo.com/uses/hono-node-server)**: 2 files
- **opentelemetry**: 2 files
- **[winston](https://seerepo.com/uses/winston)**: 1 file

### Tools

- **Oxc**: 6 files
- **Cloudflare**: 5 files
- **discord-api-types**: 1 file
- **source-map**: 1 file
- **wrangler**: 1 file

### Other

- **p-map**: 1,280 files
- **ofetch**: 103 files
- **dayjs**: 61 files
- **iconv-lite**: 56 files
- **query-string**: 30 files
- **crypto-js**: 22 files
- **undici**: 8 files
- **destr**: 5 files
- **rate-limiter-flexible**: 4 files
- **xxhash-wasm**: 4 files
- **json-bigint**: 3 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 3 files
- **tldts**: 3 files
- **.ENV**: 2 files
- **lz-string**: 2 files
- **vm2**: 2 files
- **@notionhq/client**: 1 file
- **city-timezones**: 1 file
- **etag**: 1 file
- **fast-string-width**: 1 file
- **http-cookie-agent**: 1 file
- **https-proxy-agent**: 1 file
- **re2js**: 1 file
- **socks-proxy-agent**: 1 file
- **twitter-api-v2**: 1 file
- **ufo**: 1 file
- **uuid**: 1 file
- **youtubei.js**: 1 file

## Other repos with a similar stack

- [n8n-io/n8n](https://seerepo.com/r/n8n-io/n8n/built): lru-cache, Redis, Sentry, Cheerio, markdown-it, sanitize-html, rss-parser, html-to-text, Zod, opentelemetry, winston · [Compare](https://seerepo.com/compare/DIYgod/RSSHub/vs/n8n-io/n8n)
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty/built): Redis, Sentry, Scalar, otplib, entities, sanitize-html, html-to-text, remark-gfm, Zod, opentelemetry · [Compare](https://seerepo.com/compare/DIYgod/RSSHub/vs/twentyhq/twenty)
- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost/built): lru-cache, Sentry, Hono, otplib, Cheerio, entities, markdown-it, sanitize-html, html-to-text, Zod · [Compare](https://seerepo.com/compare/DIYgod/RSSHub/vs/TryGhost/Ghost)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): lru-cache, Sentry, Cheerio, markdown-it, html-to-text, remark-gfm, Zod, opentelemetry, winston · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/DIYgod/RSSHub)
- [calcom/cal.diy](https://seerepo.com/r/calcom/cal.diy/built): lru-cache, Redis, Sentry, otplib, entities, markdown-it, sanitize-html, Zod, winston · [Compare](https://seerepo.com/compare/calcom/cal.diy/vs/DIYgod/RSSHub)
- [firecrawl/firecrawl](https://seerepo.com/r/firecrawl/firecrawl/built): Redis, tough-cookie, Cheerio, Zod, opentelemetry, winston · [Compare](https://seerepo.com/compare/DIYgod/RSSHub/vs/firecrawl/firecrawl)

## Frequently asked questions

### What language is RSSHub written in?

RSSHub is written in TypeScript, with 504,309 written lines.

### What framework does RSSHub use?

RSSHub is built with Hono.

### What database does RSSHub use?

RSSHub stores its data in lru-cache.

### What does RSSHub sign people in with?

RSSHub signs people in with tough-cookie and otplib.

### What services does RSSHub use?

RSSHub watches its errors with Sentry and uses Redis.

The proof: [lib/errors/index.tsx, line 13](https://github.com/DIYgod/RSSHub/blob/17b1822a5d9eb82d4fe6108c125b06fe9703290a/lib/errors/index.tsx#L13)

### Does RSSHub have tests?

Yes. RSSHub has 93 test files and is tested with Vitest, msw, jsdom, and mockdate.

### Which repos have a stack like RSSHub's?

The ones that share most of its stack: n8n-io/n8n, twentyhq/twenty, and TryGhost/Ghost.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
