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)
Languages
Go
60.3%
TypeScript
25.3%
Vue
11.2%
JavaScript
1.8%
Makefile
0.9%
Other
0.4%