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 official accounts to RSS
- FreshRSS: Used for scheduled fetching, replacing Inoreader
- Reeder: A clean 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 or censored for various reasons, as long as it has been fetched, your server will retain that content for viewing
- Fully self-built: No worries about information leakage, all content is stored locally or on the 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 allows you to easily 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 follow the prompts to add subscriptions
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 every 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. If you don't need a domain name, you can change 127.0.0.1 to 0.0.0.0 to access directly via http://domain:port.
- After creating a new user, go to settings. In the authentication section, 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, enter 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 RSSHub's rules.
- Subscribe through 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