Create install_reader.sh
Browse files- install_reader.sh +49 -0
install_reader.sh
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
set -euo pipefail
|
| 4 |
+
|
| 5 |
+
# 获取最新版本的重定向URL
|
| 6 |
+
echo "正在获取最新版本信息..."
|
| 7 |
+
redirect_url=$(curl -Ls -o /dev/null -w '%{url_effective}' 'https://github.com/hectorqin/reader/releases/latest')
|
| 8 |
+
|
| 9 |
+
# 提取版本标签
|
| 10 |
+
tag=$(basename "$redirect_url")
|
| 11 |
+
if [[ ! "$tag" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
| 12 |
+
echo "错误:无效的版本标签 '$tag'"
|
| 13 |
+
exit 1
|
| 14 |
+
fi
|
| 15 |
+
version="${tag#v}"
|
| 16 |
+
echo "检测到最新版本: $version"
|
| 17 |
+
|
| 18 |
+
# 构造下载链接
|
| 19 |
+
download_url="https://github.com/hectorqin/reader/releases/download/${tag}/reader-server-${version}.zip"
|
| 20 |
+
echo "开始下载: $download_url"
|
| 21 |
+
|
| 22 |
+
# 下载文件
|
| 23 |
+
if ! curl -LO "$download_url"; then
|
| 24 |
+
echo "错误:文件下载失败"
|
| 25 |
+
exit 1
|
| 26 |
+
fi
|
| 27 |
+
|
| 28 |
+
# 解压文件
|
| 29 |
+
zip_file="reader-server-${version}.zip"
|
| 30 |
+
echo "正在解压文件..."
|
| 31 |
+
unzip -q "$zip_file"
|
| 32 |
+
|
| 33 |
+
# 处理解压目录结构
|
| 34 |
+
dir_name=$(unzip -Z -1 "$zip_file" | head -n1 | cut -d '/' -f1)
|
| 35 |
+
if [ -n "$dir_name" ]; then
|
| 36 |
+
echo "进入解压目录: $dir_name"
|
| 37 |
+
cd "$dir_name"
|
| 38 |
+
fi
|
| 39 |
+
|
| 40 |
+
# 执行启动脚本
|
| 41 |
+
if [ -f "./bin/startup.sh" ]; then
|
| 42 |
+
echo "正在启动服务..."
|
| 43 |
+
chmod +x "./bin/startup.sh"
|
| 44 |
+
./bin/startup.sh -m single
|
| 45 |
+
echo "服务已启动!"
|
| 46 |
+
else
|
| 47 |
+
echo "错误:启动脚本不存在"
|
| 48 |
+
exit 1
|
| 49 |
+
fi
|