RSS is Awesome

RSS is Awesome

RSS?

RSS 是一种从上古的 Web2.0 时代遗留下来的信息获取方式,可以快速把信息整合到一个平台上,进行分类阅览。
虽然古老但它非常有效率,经过调教后还可以实现很多有意思的功能。
使用 RSS 需要 RSS 服务提供商,利用其服务器进行定时的 RSS 提取内容进行更新,市面上比较流行的 RSS 服务有 FeedlyInoreaderGoogle Reader 等,虽然都提供免费的服务,但是大部分的稍微高端点的功能都需要付费,那么可以把目光转向自建 RSS 服务,这里使用的是 TTRSS(Tiny Tiny RSS),这是一个开源的 RSS 聚合阅读器,拥有强大的搜索和过滤功能,可以很好地满足信息筛选的需求,而这类功能在上面提到的服务中都是收费项目。

部署 TTRSS

部署 TTRSS 当然可以参考官网的一步步进行,但是在这个万物容器化的时代,使用容器部署更加有效率,这里使用的是 🐋 Awesome TTRSS,部署在 Ubuntu 18.04 的 VPS 上,使用 nginx 进行 https 的反代,因此需要有一个自己的域名。

Docker 的安装

参见 Docker 网站使用提供的 script 安装,简单两步即可完成。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

接下来是安装 Docker-compse,参考 Docker-compser 的文档,也是简单两步可以完成。

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

部署 Awesome TTRSS

docker部署

使用 Docker-compose 可以快速地完成 Docker 的部署

wget https://github.com/HenryQW/Awesome-TTRSS/raw/master/docker-compose.yml

修改 docker-compose.yml 中的 POSTGRES_PASSWORDDB_PASSSELF_URL_PATH, 其中前两者需要相同,后者为最终需要进行访问的 URL 需要完整的 https://xxx.example.com 的格式。service.opencc 的服务是进行简繁转换的,通常没有需求的话可以注释掉。
docker-compose.yml 目录下运行

docker-compose up -d

等待部署完成。

HTTPS 设置

安装 nginx 作为反代服务器

sudo apt install nginx

暂时不需要启动服务器。

在设置完之后需要进行 https 的设置才能通过 URL 访问服务,首先是进行证书签发,使用的是 Let’s Encrypt 的自动化服务,使用 acme.sh
简单运行 curl https://get.acme.sh | sh 即可完成安装。
为你的域名设置解析到 VPS 的 IP 上,然后生成证书

acme.sh  --issue -d mydomain.com   --standalone

安装证书

mkdir /etc/nginx/ssl
acme.sh --installcert -d example.com \
--key-file /etc/nginx/ssl/example.com.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer

配置服务器,编辑 /etc/nginx/conf.d/reverse-proxy.conf

upstream ttrssdev {
    server 127.0.0.1:181;
}

server {
    listen 80;
    server_name  example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl;
    gzip on;
    server_name  example.com;

    ssl_certificate /etc/nginx/ssl/fullchain.cer;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

    access_log /var/log/nginx/ttrssdev_access.log combined;
    error_log  /var/log/nginx/ttrssdev_error.log;

    location / {
        proxy_redirect off;
        proxy_pass http://ttrssdev;

        proxy_set_header  Host                $http_host;
        proxy_set_header  X-Real-IP           $remote_addr;
        proxy_set_header  X-Forwarded-Ssl     on;
        proxy_set_header  X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto   $scheme;
        proxy_set_header  X-Frame-Options     SAMEORIGIN;

        client_max_body_size        100m;
        client_body_buffer_size     128k;

        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
        proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
    }
}

设置完成后启动并设置自动启动 nginx 服务器。

systemctl start nginx
systemctl enable nginx

然后就可以通过域名访问到 TTRSS服务,默认用户:admin 密码:passwrod,登录后请第一时间修改。
接下来就可以体验 RSS 的便利了。

最后

要获 RSS 的订阅可以使用 RSSHub,它可以方便地获取各种各样的 RSS 订阅源,另外如果有不支持的网站,你也可以自行编写脚本支持。

此处提供一个我部署的 TTRSS 的测试账号:

test
test

参考

  1. https://ttrss.henry.wang/zh/
  2. https://libertyleadingnetwork.blogspot.com/2019/03/dockertiny-rssmercurymercury-parser.html
  3. https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E

发表评论

您的电子邮箱地址不会被公开。