Intro#
RSS (Really Simple Syndication or RDF Site Summary) is a format specification for news feeds that aggregates content updates from multiple websites and automatically notifies website subscribers.
If you are reading this article, you probably have a general idea of what RSS is, so I won't elaborate further.
This solution uses the following services:
- RSSHub: Used to convert most services to RSS
- WeWe RSS: Used to convert WeChat public accounts to RSS
- FreshRSS: Used for scheduled fetching, replacing Inoreader
- Reeder: A simple and comfortable RSS reader
- Feed Creator, PolitePol: Convert websites to RSS interactively
The benefits of this solution are:
- Centralized information: No need to refresh multiple websites, apps, or social media repeatedly; see all the content you want in one place
- Controllable fetching frequency: Even if published content is taken down for various reasons, as long as it has been fetched, your server will have that content saved for viewing
- Completely self-hosted: No worries about information leakage, all content is stored locally or on your server
To accomplish all this, you only need a server. Without further ado, 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 makes it easy to check whether a website currently provides an RSS subscription address or if there are corresponding rules for that website in RSSHub.
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 service interface request authorization code and other information
- Start the container
docker compose pull && docker compose up -d
- Go to http://ip:4000, enter the previously changed service interface request authorization code to access
- First, add an account in the account management section, then you can add subscriptions according to the prompts
Install FreshRSS#
- Create local folders; these two folders will be mapped to the Docker container
mkdir -p /root/FreshRSS/data /root/FreshRSS/extensions
- Start using Docker
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' \ # Fetch 4 times per hour
-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 need to use a reverse proxy service like nginx first. If you don't need a domain name, you can directly access it by changing 127.0.0.1 to 0.0.0.0 and using the format http://domain:port.
- After creating a new user, go to settings. In authentication, check the option to allow API access, then enter the password used for reader login in the account's API password field.
RSS Reader#
Choose a reader that supports the Google Reader compatible API, such as Reeder.
In Reeder, select FreshRSS, fill in the port (check via http://domain:ip/api), username, and password (the API password you just set), then you can add the subscriptions you want and start reading happily.
Outro#
If a website/service does not officially provide an RSS subscription address and there are no corresponding routing rules in RSSHub, you can subscribe in the following ways:
- Contribute a routing rule to RSSHub based on its rules.
- Subscribe using services like Feed Creator or PolitePol, where Feed Creator can include cookies.
This article is synchronized and updated to xLog by Mix Space. The original link is https://xxu.do/posts/geek/rss