×

安装及使用RSSHub

96
桃源乡吃桃
2018.06.28 22:05* 字数 1498

之前一直用即刻订阅各平台主题,作为自己的信息来源(八卦来源?)。但随着即刻转变风格,主推信息流和社交,便从高效获取信息工具,变成高效浪费时间工具。要不是碍于即刻能够整合各平台订阅的功能,早都卸之而后快了。

作为老Google Reader用户,对RSS的热爱是毋庸置疑的。通过RSS可以只看自己想看的主题信息,没有广告,没有人工智能自作多情的推荐,没有拉不到底的Feed流。但RSS终归没落了,直到发现RSSHub,看到了RSS一星星的复兴希望。

RSSHub的口号是,「万物皆可RSS」,恩,很霸气,很理想化。其实这表达了RSSHub作者在内的一大部份人的希望,互联网上的信息可以自由流通,而不是被围困在微信、微博等网站平台里。想想最近的腾讯头条大战,两大平台互相屏蔽对方信息的流入,其实是在损害用户的体验和权益。

所以,本着自己动手,丰衣足食的道理,自己搭建RSSHub来生成各大平台信息源的主动订阅。

安装 Git

sudo apt-get install git

安装Node.JS

安装 NodeJS 的最佳方式是使用 nvm。

安装 nvm,并向shell中添加nvm命令:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" 

重启终端并执行下列命令即可安装 Node.js:

nvm install node

安装 RSSHub

git clone https://github.com/DIYgod/RSSHub.git
cd RSSHub
npm install

修改RSSHub配置

默认使用1200端口,可通过修改config.js文件改变端口(也可不改):

vi config.js
RSSHub设置.png

将 port 后的数字(红色矩形位置)改成自己设定的端口号。其他设置参数一般没需求就留默认值。

注意如果是部署在远程服务器上,可能需要设置防火墙打开设定的端口号。

启动RSSHub

简单方法启动RSSHub:

cd RSSHub
npm start

然后在浏览器中输入「主机IP:端口号」,如果安装成功,就会出现RSSHub欢迎界面。

RSSHub欢迎界面.png

但如果是在远程服务器上安装,如此启动的程序,会在退出远程连接,关闭终端后结束。所以得让RSSHub在后台跑:

cd RSSHub
nohup npm start &

如此RSSHub便在远程服务器上后台运行了。注意此时一定要用 exit 命令断开远程连接,否则当前账户非正常退出或者结束的时候,命令还是会自己结束。

设置RSSHub服务网址

如果有域名,可以设置个子域名解析到部署RSSHub的服务器,避免将服务器IP直接暴露出来。也可以不设域名。

使用RSSHub

手动生成RSS订阅地址

RSSHub生成的RSS订阅地址模板为:服务器IP:端口号/订阅的网站路由/订阅页面id

比如要订阅B站番剧「国家队」页面更新,RSS地址就是:https://xxx.com:00000/bilibili/bangumi/21680

https://xxx.com:RSSHub服务器地址,如果没有安装SSL证书,那就用http。

00000:端口号。

bilibili/bangumi:B站番剧订阅路由。

21680:「国家队」在B站的id号,可从B站页面url中找到。

以上只是用B站番剧订阅做示范,RSSHub可以订阅很多网站,具体每个网站RSS的生成方式可参照RSSHub官方文档

RSSHub默认输出RSS格式订阅地址,此外还支持Atom和JSON Feed输出格式,用法为在路由后加上「.atom」或「.json」。

半自动生成RSS订阅地址

想把即刻上的几十个订阅都转移到Inoreader上,手动去输入订阅地址太费时间,于是用Python3写了脚本,功能为输入所要订阅的网址,自动生成RSSHub格式的RSS地址。但仍需手动将网址复制到终端中,所以只是半自动。期待有那位大神写个浏览器插件实现全自动。

脚本下载地址:RSShub_make_RSS.py,提取密码:g2rq

目前按自己的需求,只实现了生成「即刻主题精选」、「B站番剧」、「简书作者」以及「简书主题」订阅地址的功能。

使用方法:

  1. 用文本编辑器打开RSShub_make_RSS.py,将RRShub_site变量后的赋值改为自己的RSSHub服务器IP和端口号。保存退出。
服务器修改.png
  1. 终端中运行脚本,注意需要Python3。

  2. 提示输入网址,将订阅网页网址粘贴,enter后可继续输入下一条订阅网页网址。输入数字0,则停止读取网址,终端中会打印出前面输入的所有订阅网页的RSS地址。

RSS地址生成演示.png
  1. 将生成的RSS地址复制添加进RSS阅读器中即可。

最后

Python初学者,代码写的不好,轻喷。

对于熟悉网络技术,可以设置SSL证书,让RSSHub服务走https。以及在服务器上设置端口转接,这样RSSHub服务器地址就可只用域名,不需要加端口号了。这些有点难,网上看教程也没看懂,这里就不说了。

最后,RSSHub官方文档中的示例服务「https://rsshub.app/」,是可以直接使用的,所以大可不必自己搭建RSSHub 。

参考文献

RSSHub官方文档:https://docs.rsshub.app

nvm官方文档:https://github.com/creationix/nvm

「linux 后台执行命令:& 和 nohup」:https://blog.csdn.net/liuyanfeier/article/details/62422742

open and free
Web note ad 1