介绍一个关于RSS的项目DIYgod/RSSHub 项目的宗旨就是文章的标题 – 万物皆可RSS。
该项目依赖爬虫技术将页面解析为RSS所需的订阅格式,然后通过路由的方式提供订阅服务。
项目的拓展性极强,任何人都可以通过提交PR的方式添加新的页面解析和路由。 (制作自己的 RSSHub 路由)
部署自己的订阅服务器
RssHub官方提供了一个订阅源服务器https://rsshub.app
,同时它也支持用户自己部署订阅源服务器,具体可以参考部署文档
以下是我在Azure云上通过docker部署的过程记录。
拉取最新的RssHub镜像,并启动容器,将容器内的1200端口映射到主机的9200端口。
# rsshub-docker.sh
docker run -d --name rsshub -p 9200:1200 diygod/rsshub修改Nginx配置文件,将域名反向代理至Rsshub端口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# /etc/nginx/sites-enabled/default
server {
server_name rss.myhost.com;
listen 80;
listen 443 ;
ssl_certificate /etc/letsencrypt/live/myhost.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myhost.com/privkey.pem;
location / {
proxy_pass http://localhost:9200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}配置nginx踩坑
由于之前有一个域名已经使用了ssl并监听了443端口,因此一开始写的是listen 443 ssl
,但是这样会导致nginx启动失败,提示监听了重复的端口。经过一番查找后发现只要去掉ssl
,写为listen 443
即可。 原因貌似是因为第一个写的是default_server,因此后边不用针对ssl再次配置。重启Nginx
nginx -s reload
,将官方订阅的rsshub.app
替换为我自己的域名rss.myhost.com
即可。自建服务器相比于官方服务有两个好处
- 自己的服务器不在国内,可以免代理使用一些国外的订阅源
- 一部分订阅源需要使用cookie,因此只能使用自己的服务器
一些订阅源推荐
更多订阅源请参考官方文档
- 知乎热榜:
https://rsshub.app/zhihu/hotlist
- 知乎日报:
https://rsshub.app/zhihu/daily
- 哔哩哔哩热门:
https://rsshub.app/bilibili/popular/all
- HackerNew:
https://rsshub.app/hackernews
- HelloGithub:
https://rsshub.app/hellogithub/volumn
- GithubTrending:
https://rsshub.app/github/trending/weekly/any