Yarr:支持私有部署的RSS阅读器
Published at 2023/02/10 14:11 | Views.

介绍

Yarr是一个基于GO语言开发的B/S架构RSS阅读器,所以天然的就支持了跨平台.

界面美观,功能齐全.

yarr

特性如下:

  • 不支持全文阅读,依赖源,源有全文就有全文.
  • 支持收藏,支持字体大小调整,支持三种字体.
  • 支持原地阅读原文样式,支持打开原地址.
  • 支持配置源刷新周期,不支持针对单个源设置.
  • 支持新增/删除文件夹.
  • 支持Docker部署,针对被墙的网站,支持设置HTTP代理.
  • 支持数据导入和导出,支持快捷键操作页面.
  • 支持配置https和简单的鉴权.

安装

各平台直接下载对应的可执行文件即可.

我这里是使用Docker安装,官网也提供了dockerfile文件,墙内使用还得修改下,主要是增加GO的镜像代理和时区的配置等.

FROM golang:alpine AS build
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata
    
RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

RUN apk add build-base git

WORKDIR /src
COPY . .
ENV GOPROXY https://goproxy.cn,direct
RUN make build_linux

FROM alpine:latest

RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata

RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
RUN apk add --no-cache ca-certificates && \
    update-ca-certificates
COPY --from=build /src/_output/linux/yarr /usr/local/bin/yarr
EXPOSE 7070
CMD ["/usr/local/bin/yarr", "-addr", "0.0.0.0:7070", "-db", "/data/yarr.db","-base","https://xxx.com/yarr","-auth-file","/data/auth"]

其中

  • -base选填,修改为你最后实际要访问的地址
  • -auth选填,格式为:username:password
  • -auth-file选填,修改为你的鉴权文件,文件格式为:username:password
  • -cert-file选填,为http证书
  • -key-file选填,为https证书密钥
  • -db是sqlite数据库文件存储路径,建议挂载到docker外面,防止重启docker丢失数据

build镜像,切换到项目根目录执行docker build -t yarr:v1 .

启动

mkdir -p /volumn1/docker/yarr/data
docker run -d -p 28192:7070 -v /volumn1/docker/yarr/data:/data \
 --name yarr -e http_proxy="192.168.2.33:7890" \
 -e https_proxy="192.168.2.33:7890" yarr:v1

http_proxy 和 https_proxy 是针对被墙的网站设置的代理,如果不需要,去掉这两项.

使用

docker启动成功之后,打开浏览器访问http://localhost:28192即可,试了一些被墙的站点,速度也很快,赞.

建议使用Nginx等反向代理进行访问,也可以直接配置HTTPS证书,都行.

目前使用一周,还是很方便的.

这里提供一些源: