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

发表评论

电子邮件地址不会被公开。 必填项已用*标注