FloweRSS 是一款 Go
语言编写的高性能低占用 Telegram RSS 订阅 Bot
,支持为 群组
和 频道
添加订阅,还支持 应用内预览
、订阅源导入导出
等功能,安装也十分简单。
虽然作者提供了 docker
镜像和 二进制文件
,但考虑到 docker 有 性能损失
,且默认 二进制文件
不支持轻量数据库 sqlite
,此处我们选择 编译安装
。
以下代码段,如无特殊说明都可整段复制执行
安装依赖
首先安装 curl
、tar
、git
等辅助工具用于下载解压,以及轻量数据库 sqlite
。
# CentOS 7+、Debian 9+、Ubuntu 18+ x64
REQUIREMENTS=(curl tar git sqlite sqlite3)
SYSTEM_APT=$(command -v yum)
if [[ ! "$SYSTEM_APT" ]]; then
SYSTEM_APT=$(command -v apt)
fi
for $REQUIREMENT in ${REQUIREMENTS[@]}
do
if [[ ! "$(command -v $REQUIREMENT)" ]]; then
eval $SYSTEM_APT install -y $REQUIREMENT
fi
done
随后安装 Go
开发环境,此处选择 go1.13.4
,最新版可前往 官网 查看。
GO_VERSION=go1.13.4.linux-amd64.tar.gz # 指定 GO 版本
curl -LO https://dl.google.com/go/$GO_VERSION
tar -C /usr/local -xzf $GO_VERSION
rm -f $GO_VERSION
cat >>$HOME/.profile <<\EOF
export GOPATH=/usr/local/share/go
export GOEXECPATH=/usr/local/go/bin
export PATH=$PATH:$GOEXECPATH:$GOPATH/bin
EOF
source $HOME/.profile
正式编译
首先克隆项目源码。
FLOWERSS_PATH=/usr/local/share/flowerss # 指定安装路径
SOURCE_PATH=$FLOWERSS_PATH/source
mkdir -p $SOURCE_PATH
cd $SOURCE_PATH
git clone https://github.com/indes/flowerss-bot.git
接着编译。
cd flowerss-bot
make build
配置并测试
首先将 配置模板
和编译好的 二进制文件
复制到上级目录。
cp $SOURCE_PATH/flowerss-bot/flowerss-bot $FLOWERSS_PATH
cp $SOURCE_PATH/flowerss-bot/config.yml $FLOWERSS_PATH
随后修改配置模版文件 /usr/local/share/flowerss/config.yml
,下面是一个示例,不是可执行代码
。
bot_token: 123456789:AAAScU74YpL094WCL8t75NplrG93JOcU3aw
telegraph_token: 0b7ae151bee9be8fe338d1664g9ace47fce3b47de0c8224124ff982365de
socks5: # 国内机器需填写此项用于访问 telegram api
update_interval: 30 # 抓取间隔
error_threshold: 20 # 允许最大错误次数
mysql:
host:
port:
user:
password:
database:
sqlite:
path: /usr/local/share/flowerss/data.db # 数据库文件地址
填写完毕后运行测试,测试完毕按 Ctrl + C
退出。
cd $FLOWERSS_PATH
./flowerss-bot
后台运行和开机自启
cat >/etc/systemd/system/flowerss.service <<EOF
[Unit]
Description=flowerss
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/flowerss.pid
WorkingDirectory=$FLOWERSS_PATH
ExecStart=$FLOWERSS_PATH/flowerss-bot
RestartPreventExitStatus=23
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start flowerss
systemctl enable flowerss
自动升级
FLOWERSS_PATH=/usr/local/share/flowerss # 指定首次安装路径
SOURCE_PATH=$FLOWERSS_PATH/source
cat >$FLOWERSS_PATH/upgrade.sh <<EOF
cd $SOURCE_PATH
rm -rf *
git clone https://github.com/indes/flowerss-bot.git
cd flowerss-bot
make build
systemctl stop flowerss
cp $SOURCE_PATH/flowerss-bot/flowerss-bot $FLOWERSS_PATH
systemctl start flowerss
EOF
chmod +x $FLOWERSS_PATH/upgrade.sh
current_jobs=$(crontab -l)
if [[ ! "echo $current_jobs | grep -oE $FLOWERSS_PATH/upgrade.sh" ]]; then
echo -e "$current_jobs\n0 3 * * * $FLOWERSS_PATH/upgrade.sh" | crontab
fi
订阅源获取
可前往 RSSHUB 查找,或在各大网站页头页脚寻找订阅源,也可直接尝试以下格式。
https://logi.im/feed
https://logi.im/atom.xml
数据备份
可在 Telegram
中调用 BOT 菜单导出,也可直接执行以下命令查看。
sqlite3 /usr/local/share/flowerss/data.db <<EOF
select link from sources;
.exit
EOF
如有问题请在下方留言,文章转载请注明出处,详细交流请加下方群组!请大佬不要屏蔽文中广告,因为它将帮我分担服务器开支,如果能帮忙点击我将万分感谢。