RSS订阅及信息聚合

写博客多年,一直不太重视与读者的交流,也不太重视RSS订阅。最初的想法是这个个人博客,记录自己生活的感悟,点滴,留下记忆,若干年后自己慢慢回味,弊帚自珍即可。

某一天博友 叶开楗 问我为什么站点没有RSS订阅地址,说是生活类博主必备,还给我展示了一个他的RSS订阅聚合的站点。很奇妙,我居然心动了,马上给自己博客制作,加上了RSS订阅源(我的博客的RSS订阅源)。

BXNA/IXNA

其实,我接触独立博客很早,对RSS也有些了解。Google Reader,鲜果,FeedSky,FeedBurner都有些了解和尝试,但一直没用起来。RSS应该是web2.0时代的标志性功能和产品,主打信息的聚合,很可惜最终还是没落。很难说清楚原因,就像我们可以很清晰的定义web1.0,web2.0,但之后呢,是web3.0?没人能说得清楚。

原因说不清楚,说情怀吧。当年我一直对蓝色理想的博客聚合网站(域名是:blog.blueidea.com,缩写为BXNA,意思是Blueidea XML News Aggregator, 现在不能访问了。可以在archive.org网站上查看 快照)情有独钟,很喜欢这种界面风格和程序,一直想自己搭建一个类似功能和界面风格的RSS聚合网站。后来果真有人做了个PHP版的聚合程序,取名叫IXNA(idea XML News Aggregator),内置了BXNA的风格模板。最近还把IXNA这个程序找出来,想重新搭建了,体验一把。IXNA现在能找到的最后版本是V0.5,需要php5+mysql4.1,在服务器上安装了,但是问题太多,最后只能作罢。

当年adobe也有个类似功能和风格的聚合网站(Adobe xml News Aggregator, 快照),也很喜欢。

BXNA当年的首页快照

AXNA的首页快照

ALL-about-RSS

回忆完了,说说现在。

Github上有个项目,收集整理了关于RSS的一切资源,名字就叫 ALL-about-RSS,资源很丰富,有关于RSS简介,RSS规范和插件,RSS源验证程序,RSS Readers(服务,app,小程序等),RSS订阅源,可以自己部署的RSS服务,工具等,更关键的是这个项目应该是国人整理的,里面很多中文资源,在这里能找到任何你感兴趣的关于RSS的资讯,资源,工具等。

我使用过一段时间inoreader,国内使用需要科学上网,有点麻烦,在ALL-about-RSS这个项目里发现了一个叫 蚁阅 的RSS Readers服务,可以使用他的托管服务,也可以自己部署,功能界面简洁,完全符合我的期望。

蚁阅

简单试用了下,蚁阅提供的托管和自己部署的服务功能完全一样,本来没必要重新再造轮子,但在作者更新日志里看见条信息,感觉使用托管版的蚁阅,存在被他人连累,误伤的可能,还是决定自己部署。

作者说有用户订阅了奇奇怪怪的网站,有违规信息被缓存到服务器上,然后被检测到了。(详情见 此处

蚁阅基于Docker部署,很简单,项目及详细教程见此处(rssant)。

这里简单记录下自己的部署过程。

首先服务器安装好docker,准备配置文件和启动脚本,配置文件命名为rssant.env,启动脚本 start.sh,保存路径分别是 /rssant/rssant.env,/rssant/start.sh ,可以按照注释说明修改。

配置文件 rssant.env

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 默认关闭DEBUG,请勿在开发测试之外开启DEBUG
RSSANT_DEBUG=0

# 请随机生成一个字符串
RSSANT_SECRET_KEY=SECRET

# 应用的访问地址
RSSANT_ROOT_URL=http://localhost:6789

# 检查订阅的时间间隔,默认30分钟
RSSANT_CHECK_FEED_MINUTES=30

# 请前往GITHUB设置页面申请,不需要Github登录可留空
# GitHub OAuth callback:
# http://<你的域名>/api/v1/accounts/github/login/callback/
RSSANT_GITHUB_CLIENT_ID=
RSSANT_GITHUB_SECRET=

# SMTP邮件功能,不需要注册功能可留空
RSSANT_ADMIN_EMAIL=
RSSANT_SMTP_ENABLE=false
RSSANT_SMTP_HOST=smtp.qq.com
RSSANT_SMTP_PORT=465
RSSANT_SMTP_USE_SSL=true
RSSANT_SMTP_USERNAME=
RSSANT_SMTP_PASSWORD=

# RSS代理功能,可留空
# 参考项目 cloudflare_worker/rssant 目录下的说明部署代理
RSSANT_RSS_PROXY_ENABLE=false
RSSANT_RSS_PROXY_URL=
RSSANT_RSS_PROXY_TOKEN=

# 以下配置保持不动
RSSANT_SCHEDULER_NETWORK=rssant
RSSANT_PG_DB=rssant
RSSANT_PG_HOST=localhost
RSSANT_PG_USER=rssant
RSSANT_PG_PASSWORD=rssant

~/rssant/start.sh启动脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash

docker volume create rssant-data || true
docker volume create rssant-postgres-data || true
docker volume create rssant-postgres-logs || true

docker rm -f rssant || true
docker run -ti --name rssant -d \
-p 6789:80 \
--env-file ~/rssant/rssant.env \
-v rssant-data:/app/data \
-v rssant-postgres-data:/var/lib/postgresql/11/main \
-v rssant-postgres-logs:/var/log/postgresql \
--log-driver json-file --log-opt max-size=50m --log-opt max-file=10 \
--restart unless-stopped \
guyskk/rssant:latest

docker logs --tail 1000 -f rssant

执行 sed -i ‘s/\r//‘ ~/rssant/start.sh 处理脚本换行符,然后启动服务 bash ~/rssant/start.sh

启动完成以后,执行 docker exec -ti rssant supervisorctl status 可以查看程序运行状态。

最后在宝塔面板里新建网站,绑定域名,反代 http://127.0.0.1:6789, 大功告成。默认管理地址是~/admin/,用户名,密码:admin/admin。比较奇怪的是管理界面几乎没啥可以/需要设置的。

蚁阅电脑网页端,手机端风格很统一,页面简洁。手机端通过快捷方式从网页生成蚁阅APP,直接添加到主屏。

还有很重要的一点,蚁阅支持一键导入导出 .opml 格式的订阅信息,这样无论使用托管,还是自建服务,订阅数据掌握在自己手中,自主可控,安全有保障。

信息聚合的其他形态

前面说到RSS的本质是信息聚合,除了RSS订阅,还有其他形态的信息聚合方式,当然这里主要说独立博客这一类别。

网址导航

类似十年之约,博客志之类的,将独立博客收集整理在一起,制作页面或者网站,展示链接。这样的展示方式收集到的博客数量很大,但是稂莠不齐,或者说很多可能不是自己感兴趣的,同时展示方式不太直观,需要点击访问对应的博主网站才能知道对方是否更新,查看博文。

友情链接

友情链接可以说是上面提到的网址导航类的缩小版,博主可以选择自己感兴趣的博友,彼此添加友情链接,相互访问交流。

鱼塘

最近发现了种新玩法,将传统的友情链接和RSS订阅结合在一起,提高了对友情链接的博客信息更新的及时性,直观性的把握,有人命名为鱼塘,友链朋友圈等,在独立页面展示自己友链的博友的最新更新的文章,相关项目见 hexo-circle-of-friendshi-friends-circle鱼塘 等。

感兴趣的可以访问我收集到的几个demo:

Is RSS dead?

Is RSS dead? 难说,RSS是伴随着独立博客发展起来的,承载的是文字。现在是视频播客时代,还需要RSS吗?还是说RSS更多的是文字博主的一种情怀呢?

千里江山图 域名301重定向

  评论