当前位置:网站首页>开源的RSS订阅器FreshRSS
开源的RSS订阅器FreshRSS
2022-07-25 21:41:00 【杨浦老苏】

周日的核酸提前到了周六,还以为不用做了

结果昨天又通知再连续 3 天的核酸

嗓子都捅出老茧了,这么热的天,大家都不容易,病毒就别跟着凑热闹了。
什么是 FreshRSS ?
FreshRSS是一款自由免费的RSS订阅器,界面美观,支持导入/导出为OPML文件、过滤、标记、搜索等。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 freshrss ,选择第一个 linuxserver/freshrss,版本选择 latest。
之所以不选择第二个官方镜像,是因为
freshrss/freshrss基于apache构建,在老苏的群晖上会遇到的错误Function not implemented: AH00141: Could not initialize random number generator你在老苏的博客搜索
AH00141,会发现这个问题遇到过多次,主要是老苏的群晖内核版本太低(Linux kernel < 3.16)导致的问题而
linuxserver/freshrss是基于nginx构建,在老苏的群晖上没发现有什么明显的问题

卷
在 docker 文件夹中,创建一个新文件夹,将其命名为 freshrss,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/freshrss/data | /config | 存放设置和数据 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
5380 | 80 |
只要设置 80 端口

老苏把不用的 443删了,因为老苏局域网用,即便是映射到互联网,也是用 npm 做反向代理,所以只要有 80 即可

环境
| 可变 | 值 |
|---|---|
TZ | 设为 Asia/Shanghai |
PUID | 设为 1000 |
PGID | 设为 1000 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 freshrss 和 子目录
mkdir -p /volume2/docker/freshrss/data
# 进入 freshrss 目录
cd /volume2/docker/freshrss
# 运行容器
docker run -d \
--restart unless-stopped \
--name freshrss \
-p 5380:80 \
-v $(pwd)/data:/config \
-e TZ=Asia/Shanghai \
-e PGID=1000 \
-e PUID=1000 \
linuxserver/freshrss:latest
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose 文件
version: "2.1"
services:
freshrss:
image: linuxserver/freshrss:latest
container_name: freshrss
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./data:/config
ports:
- 5380:80
restart: unless-stopped
然后执行下面的命令
# 新建文件夹 freshrss 和 子目录
mkdir -p /volume2/docker/freshrss/data
# 进入 freshrss 目录
cd /volume2/docker/freshrss
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:5380 就能看到设置界面

从下拉框中选择 简体中文

点 Submit

个人使用的话,数据库使用了默认的 SQLite就足够了
如果你要用
MYSQL也可以,只要先在MariaDB中建好库就行

设置用户和密码

完成了

确定之后会看到登录界面

终于到了主界面

现在还是什么都没有,所以要添加订阅,可以试试老苏的博客订阅地址:https://laosu.ml/atom.xml
如果订阅的多的话,最好是先建分类,再订阅;

直接点 提交 即可

再回到主页就有内容了

点开之后

扩展
官方的插件仓库地址:https://github.com/FreshRSS/Extensions

但 扩展 并不能直接安装(可能仅仅是 docker 版不行),需要下载后解压,放入到 /docker/freshrss/data/www/freshrss/extensions 目录中

再刷页面

移动端
在 认证 中勾选 允许 API 访问 (用于手机应用),使得 FreshRSS 支持通过手机客户端访问。

右上角的设置中进入 用户账户

API 密码 可以设也可以不设

点连接直接打开,有警告信息

这个地址少了端口,需要修改 /volume2/docker/freshrss/data/www/freshrss/data/config.php 文件

修改前要给 config 设置写入权限

找到 base_url ,加上端口
如果你映射到了公网,比如使用了域名,也在这里修改

再次刷新,之前的警告消失了

老苏之前 Android 一般是用 Parabre ,但是很奇怪不管是用 Google Reader compatible API 还是 Fever compatible API 都没成功,所以老苏换成了 FeedMe,直接就支持 FreshRSS

输入相关参数
- 域名:用
Google Reader compatible API,所以地址是http://192.168.0.197:5380/api/greader.php; - 账号:登录
FreshRSS后台的账号; - 密码:如果设置了
API 密码,就输入API 密码,没有设置API 密码的话填登录FreshRSS后台的账号对应的密码;

登录成功之后

参考文档
FreshRSS/FreshRSS: A free, self-hostable aggregator…
地址:https://github.com/FreshRSS/FreshRSS
FreshRSS, a free, self-hostable aggregator…
地址:https://freshrss.org/
边栏推荐
- 【饭谈】细说:下克上,向上管理,向上画饼。
- 【面试:并发篇25:多线程:volatile】可见性
- 函数栈帧的创建和销毁
- QT | learn about QT creator by creating a simple project
- C#Socket
- Six principles of C program design
- Autojs learning - Automatic screenshot of the king
- New maixhub deployment (v831 and k210)
- Why do independent sellers like to do e-mail marketing? The original conversion rate can be improved so much!
- [redis underlying parsing] linked list type
猜你喜欢

On Web Performance Optimization (1)
![[redis underlying parsing] string type](/img/a6/47083b033125195ebaf80090919fe2.png)
[redis underlying parsing] string type

我也是醉了,Eureka 延迟注册还有这个坑!

How to implement distributed locks with redis?

JMeter distributed pressure measurement

Per capita Swiss number series, Swiss number 4 generation JS reverse analysis

【面试:并发篇23:多线程:join】join再理解

Create EDA - why should I learn EDA

五、品达通用权限系统__pd-tools-xxs(防跨站脚本攻击)

Face and key point detection: yolo5face practice
随机推荐
How to choose sentinel vs. hystrix current limiting?
分享|智慧消防应急管理平台解决方案(附PDF)
When MySQL imports data, it has been changed to CSV utf8 file and the file name is English. Why does it still fail to import
GPON introduction and Huawei OLT gateway registration and configuration process
New maixhub deployment (v831 and k210)
Simple use of protobuf
【饭谈】如何设计好一款测试平台?
Ijcai2022 meeting! Microsoft and other tutorials on domain generalization
Talk about what's going on with C # backstage GC?
ES6 -- Deconstruction assignment
[introduction to C language] zzulioj 1016-1020
PE格式: 分析IatHook并实现
JMeter distributed pressure measurement
Automatic assembly and fuse degradation of feign
字节一面:TCP 和 UDP 可以使用同一个端口吗?
Record the transfer of domain names from Alibaba cloud service providers to Huawei cloud
On Web Performance Optimization (1)
I'm also drunk. Eureka delayed registration and this pit!
Trusted and controllable way of Tencent cloud database
Pyg tutorial (8): calculate a more efficient sparse matrix form