FreshRSS 是一个自托管的RSS和 Atom 提要聚合器。特点是轻量化、易于使用、功能强大且可定制。

FreshRSS可以通过开源代码部署和Docker部署,我选择的是用代码部署,因为我很多订阅源自海外,因此需要让群晖可以更好的进行外网访问,而 Docker 本身存在的网络环境隔离,进行代理服务的配置就变的非常繁琐,再加上我们还需要根据各自网络环境的不同对项目源码进行相应的修改,因此直接源码部署反而是最为方便的。

准备工作

在群晖套件中心安装好 Web Station、MariaDB 10、Apache HTTP Server 2.4、phpMyAdmin、PHP8.0 这几个套件。

开始搭建 FreshRSS

首先,我们需要在下载最新的源码,然后将下载下来的压缩包解压并复制到群晖的 web 目录中的 freshrss 文件夹中。

下载地址

接着,我们打开 Web Station 新增一个网页服务「文档根目录」定位到刚新建的「freshrss」。HTTP 后端服务器选择「Apache HTTP Server 2.4」。PHP 选择 PHP 8.0

然后,网络门户中选择网页服务门户,服务选刚刚新增的freshrss,门户类型:基于端口,端口号随便填一个未占用的即可。你也可以照我的填1099

在 Web Station 的脚本语言设置中,选中刚才我们使用的 PHP 8.0,然后点击「编辑」来配置 PHP。在「扩展名」选项卡全选扩展然后保存。

然后打开群晖的 File Ststion,定位到 freshrss 文件夹,在文件夹上点击右键「属性」,切换到「权限」选项卡并点击「高级选项卡」,勾选「使基层权限显示化」。

然后选中「http」用户以及用户组,点击「编辑」后在「权限编辑器」中勾选「写入」权限,然后点击「确认」。这里主要是确保 http 用户可以读写项目目录。

最后我们打开套件「phpMyAdmin」,登录的用户名以及密码就是你的安装的 MariaDB 10 的数据库用户名和密码。

进入到数据库设置页面之后,我们需要为 freshrss 创建一个单独的数据库,这里点击左侧的「新建」,然后在新建数据库的名称上输入「freshrss」,并点击创建,至此我们就将 FreshRSS 完全部署到了我们的群晖中。

开始安装

浏览器打开 http://192.168.2.2:1099 访问 FreshRSS 的安装页面。

语言上选择「中文」然后点击 「Submit」,紧接着会直接进入到配置检查,显示全绿就可以直接下一步。

点击下一步来到「数据库配置」,这里选择数据库类型为「MySQL」,然后在主机上输入localhost,用户名填上你的数据库用户名root,密码则是你之前创建的数据库密码,数据库则输入前面创建的freshrss(注意大小写),然后表前缀输入freshrss_

接着下一步设置账号密码,最后如果显示「完成安装」则表示整个安装过程已经顺利完成。至此基本的安装过程已经全部结束了。你可以使用刚才设置的用户名和密码来登录群晖中的 FreshRSS 订阅服务了。

外网手机客户端访问FreshRSS

打开 File Station 定位到 FreshRSS 的源码项目路径(在 web 这个根目录下面),然后找到 /data/config.php 并使用 文本编辑器打开。

找到 'base_url·这一行,然后将后面的地址修改成了映射的域名地址,然后点击保存。

然后点击 FreshRSS 右上方的「配置」,然后在「管理」中找到「认证」,然后勾选最下方的「允许 API 访问」。同时为了方便后面在后台刷新订阅源,最好勾选上「允许匿名刷新文章」以及「允许匿名阅读默认用户的文章」。

然后打开「配置」-「用户账户」,滚动到页面下方会显示出「API 管理」,这里你可以设置专门用手机客户端访问的密码,然后点击下方的 API 链接则会打开 API 访问测试页面,FreshRSS 支持以 Greader 的形式以及 Fever 的形式来进行输出。

Android 客户端首选FeedMe

打开直接选择 RSS 托管服务时直接选择 FreshRSS,然后输入你的 FreshRSS 的 API 地址、用户名和密码。需要注意的是这里输入的地址使用的是 Google Reader compatible API,并且需要输入完整的地址以 greader.php 结尾。

配置正确的话 FeedMe 就会自动同步并且下载订阅了,使用方法其实和其他公共 RSS 订阅托管平台类似,这里就不详细赘述了。