Intro
RSS (Really Simple Syndication or RDF Site Summary) is a feed format specification used to aggregate content updates from multiple websites and automatically notify subscribers.
If you've made it to this post, you probably already know what RSS is, so I won't dwell on it.
This solution uses the following services:
- RSSHub: Converts most services into RSS feeds
- WeWe RSS: Converts WeChat official accounts into RSS feeds
- FreshRSS: Handles scheduled fetching, replacing Inoreader
- Reeder: A clean, comfortable RSS reader
- Feed Creator, PolitePol: Convert websites to RSS through an interactive interface
The benefits of this setup:
- Centralized information: No more refreshing multiple websites, apps, or social media—see everything you want in one place
- Controlled fetch frequency: Even if content gets taken down or censored for any reason, as long as it's been fetched, it's saved on your server for viewing
- Fully self-hosted: No worries about data leaks—everything stays on your local machine or server
All you need is a server. Enough talk—let's get started.
Install RSSHub
- Install Docker
curl -fsSL https://get.docker.com | bash -s docker
- Install RSSHub via Docker Compose
wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml
vi docker-compose.yml # or your favorite editor
docker-compose up -d
- RSSHub Radar is a Chromium-based browser extension that lets you quickly see whether a website offers an RSS subscription address, or whether RSSHub already has rules for that site.
Install WeWe RSS
- Install
mkdir wewerss && cd $_
wget https://github.com/cooderl/wewe-rss/raw/refs/heads/main/docker-compose.yml
vi docker-compose.yml #change the service API request authorization code and other settings
- Start the container
docker compose pull && docker compose up -d
- Go to http://ip:4000, enter the API request authorization code you set earlier, and you're in
- First add an account under Account Management, then follow the prompts to add subscriptions
Install FreshRSS
- Create local folders—these will be mapped into the Docker container
mkdir -p /root/FreshRSS/data /root/FreshRSS/extensions
Start with Docker
Start with Docker
fetch 4 times per hour
docker run -d --restart unless-stopped --log-opt max-size=10m \
-p 127.0.0.1:8080:80 \
-e TZ=Asia/Shanghai \
-e 'CRON_MIN=1,16,31,46' \
-v /root/FreshRSS/data:/var/www/FreshRSS/data \
-v /root/FreshRSS/extensions:/var/www/FreshRSS/extensions \
--name freshrss \
freshrss/freshrss
- Since the Docker startup parameters listen on 127.0.0.1, you'll need a reverse proxy like nginx first. If you don't need a domain, change 127.0.0.1 to 0.0.0.0 and you can access it directly via http://domain:port.
- After creating a new user, go to Settings. Under Authentication, check "Allow API access," then enter a password in the account's API password field for reader login.
RSS Reader
Pick a reader that supports the Google Reader compatible API, like Reeder.
In Reeder, choose FreshRSS, fill in the port (check via http://domain/ip/api), username, and password (the API password you just set), then add the feeds you want and start reading happily.
Outro
If a website or service doesn't offer an official RSS subscription address and RSSHub doesn't have a route for it either, you can subscribe through these methods:
- Contribute a route rule to RSSHub based on its guidelines.
- Subscribe via services like Feed Creator or PolitePol—Feed Creator even supports cookies.