2025-03-18 14:03:48 +03:00
2025-03-18 14:03:47 +03:00
2025-03-18 14:03:48 +03:00
2025-03-18 14:03:47 +03:00
2025-03-18 14:03:48 +03:00
2025-03-18 14:02:34 +03:00
2025-03-18 14:02:34 +03:00
2025-03-18 14:02:34 +03:00
2025-03-18 14:01:39 +03:00
2025-03-18 14:02:34 +03:00
2025-03-18 14:02:34 +03:00
2025-03-18 14:03:48 +03:00

RSS Alchemy

About

RSS Alchemy is a website-to-rss converter, like RSSHub, RSS-bridge or Rss.app. Here is the difference:

  • Convert arbitrary website to RSS feed using CSS selectors
  • Dynamic websites are supported using headless chrome (playwright)
  • Cookies1 (supports scraping private feeds, eg youtube subscriptions)
  • Proxy
  • Results caching
  • Screenshots (primarily for debugging)
  • Stateless2 (all task parameters are encoded into url, no database needed)
  • Distruibuted by design (deploy as many workers as you need)
  • Self-hosted; easy to deploy; docker-compose provided
  • Relatively small codebase, written in go + typescript
feature/program RSS Alchemy RSS Hub RSS-Bridge RSS.app
Custom websites (using CSS selectors) (only hardcoded site list) (using CSS selectors)
Render dynamic sites (using headless chrome)
Hosting Self-hosting Self-hosting Self-hosting Only cloud
Price Free and open-source Free and open-source Free and open-source Paid ($8/mon)

Project status

Program is still under development. The code architecture is not final, tests are missing, no CI, no demo page, no docs, etc...

Deployment

git clone https://github.com/egor3f/rssalchemy
cd rssalchemy/deploy
docker-compose up -d

Then open your browser targeting to port 8080.

For SSL, authentication, domains, etc. - use Caddy or Nginx (no specific configuration required). Personally I recommend Caddy, if you haven't used it before - give it a try :)

Configuration

Configuration is done using config.yml file or env vars

Env vars always has precedence over config.yml

Docker-compose deployment uses deploy/.env file

You can see all available options in config.go file (struct Config)


  1. Cookies require support from your RSS reader/aggregator. Miniflux works, others are not checked yet. ↩︎

  2. Nats KV is used to store cookies permanently, it's required for sites that update cookies on every request, like youtube ↩︎

Description
No description provided
Readme AGPL-3.0 3.3 MiB
Languages
Go 60.3%
TypeScript 25.3%
Vue 11.2%
JavaScript 1.8%
Makefile 0.9%
Other 0.4%