MENU

编译安装 Telegram RSS 订阅机器人——FloweRSS

2019 年 11 月 21 日 • 阅读: 9131 • 脚本

FloweRSS 是一款 Go 语言编写的高性能低占用 Telegram RSS 订阅 Bot,支持为 群组频道 添加订阅,还支持 应用内预览订阅源导入导出 等功能,安装也十分简单。

虽然作者提供了 docker 镜像和 二进制文件,但考虑到 docker 有 性能损失,且默认 二进制文件 不支持轻量数据库 sqlite,此处我们选择 编译安装

以下代码段,如无特殊说明都可整段复制执行

安装依赖

首先安装 curltargit 等辅助工具用于下载解压,以及轻量数据库 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
TG 大佬群 QQ 大佬群

最后编辑于: 2021 年 08 月 12 日
返回文章列表 文章二维码
本页链接的二维码
打赏二维码
添加新评论

Loading captcha...