RSS使用和配置记录

2020-09-08
#rss

RSS是什么

简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,是一种描述和同步网站内容的格式。 [1] RSS可以是以下三个解释的其中一个: Really Simple Syndication;RDF (Resource Description Framework) Site Summary; Rich Site Summary。但其实这三个解释都是指同一种Syndication的技术。

——来自百度百科

在这个充斥这各种信息的互联网时代,我们常常需要从各种渠道获得不同的信息,在此同时,我们的注意力还容易被各种诱惑抢夺走。

RSS可以屏蔽其它你所不关注的信息,将多方的信息整合到一起,只关注我们想要关注的。

RSS基本概念

信息源:就是信息的来源,比如各种博客,新闻网站……。然而大多数的网站是没有提供RSS信息的,这里推荐一款开源神器DIYgod/RSSHub-Radar可以将许多没有RSS源的信息转化成RSS源,如B站、知乎(、甚至Minecraft的本版发布消息)。你可以将它部署到自己的服务器上。

阅读器:阅读器可以添加许多RSS源,并浏览RSS信息。

服务商:当我们有多个RSS阅读器时,多个阅读器进行同步就成了很头疼的问题。在这个阅读器上添加了源另一个阅读器上却没有,这边看过的信息那边还显示未读。我们就需要一个服务来同步我们的RSS订阅信息。多个阅读器需要都支持这个服务商。当然,也有统一的协议Fever API。

软件推荐

阅读器

服务商

国内大多数服务商由于众所周知的原因已经无法使用,这里推荐大家自己搭建服务器。下面推荐几个

这些服务器都是用SQL数据库储存数据,用Docker封装,在Windows部署难度有点大。推荐用Linux服务器部署。

另外:推荐一篇知乎2019 国内最好的 RSS 阅读器是什么?- 知乎

服务器搭建

都是Docker容器,因此搭建十分容易,直接上docker-compose.yml,我这里直接把RSSHub给加进去了。

version: "3"
services:
  database.postgres:
    image: postgres:alpine
    container_name: postgres
    environment:
      - POSTGRES_PASSWORD=[ 数据库密码 ]
    volumes:
            - ~/postgres/data/:/var/lib/postgresql/data # 数据存放位置
    restart: always

  service.rss:
    image: wangqiru/ttrss:latest
    container_name: ttrss
    ports:
      - [ TTRSS端口 ]:80
    environment:
      - SELF_URL_PATH=[ 访问域名 ] # 必须要一模一样,加上协议名
      - DB_HOST=database.postgres
      - DB_PORT=5432
      - DB_NAME=ttrss
      - DB_USER=postgres
      - DB_PASS=[ 数据库密码 ]
      - ENABLE_PLUGINS=auth_internal,fever # auth_internal is required. Plugins enabled here will be enabled for all users as system plugins
      - FEED_LOG_QUIET=true
    stdin_open: true
    tty: true
    restart: always
    command: sh -c 'sh /wait-for.sh $$DB_HOST:$$DB_PORT -- php /configure-db.php && exec s6-svscan /etc/s6/'

  service.mercury: # set Mercury Parser API endpoint to `service.mercury:3000` on TTRSS plugin setting page
    image: wangqiru/mercury-parser-api:latest
    container_name: mercury
    expose:
      - 3000
    restart: always

  service.opencc: # set OpenCC API endpoint to `service.opencc:3000` on TTRSS plugin setting page
    image: wangqiru/opencc-api-server:latest
    container_name: opencc
    environment:
      - NODE_ENV=production
    expose:
      - 3000
    restart: always
  service.rsshub:
    image: diygod/rsshub
    container_name: rsshub
    ports:
      - [ rsshub端口 ]:1200
    environment:
      - CACHE_EXPIRE=1800 #缓存时间,单位为s
    restart: always

有了服务器,其它的都容易了,我这里Windows上用了RSS追踪,Android用的Palabre + TT-RSS for Palabre。有一点要注意的是华为手机要在应用启动管理里面允许TT-RSS for Palabre被关联启动,不然Palabre会闪退。

总结

自己搭建服务器比较靠谱,但是需要一定的动手能力。大家如果有什么更好的建议,可以写在评论区。