fix: 兼容无file命令/无grep -P的系统,下载加超时

This commit is contained in:
mango
2026-02-22 16:51:55 +08:00
parent 38b33ba129
commit 19d10e4ecd

View File

@@ -87,7 +87,7 @@ install_ssrust() {
arch_name=$(get_arch) arch_name=$(get_arch)
local latest local latest
latest=$(curl -sLm10 https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep tag_name | head -1 | grep -oP 'v[\d.]+') latest=$(curl -sLm10 https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep tag_name | head -1 | sed 's/.*"v/v/;s/".*//')
[[ -z "$latest" ]] && latest="v1.24.0" [[ -z "$latest" ]] && latest="v1.24.0"
info "版本: $latest" info "版本: $latest"
@@ -95,13 +95,15 @@ install_ssrust() {
cd /tmp cd /tmp
rm -f ss-rust-dl.tar.xz ssserver sslocal ssurl ssmanager ssservice rm -f ss-rust-dl.tar.xz ssserver sslocal ssurl ssmanager ssservice
curl -sL "$url" -o ss-rust-dl.tar.xz curl -sLm120 "$url" -o ss-rust-dl.tar.xz
local fsize local fsize
fsize=$(stat -c%s ss-rust-dl.tar.xz 2>/dev/null || stat -f%z ss-rust-dl.tar.xz 2>/dev/null) fsize=$(stat -c%s ss-rust-dl.tar.xz 2>/dev/null || stat -f%z ss-rust-dl.tar.xz 2>/dev/null)
[[ "$fsize" -lt 100000 ]] && error "下载失败 (${fsize} bytes)" [[ "$fsize" -lt 100000 ]] && error "下载失败 (${fsize} bytes)"
file ss-rust-dl.tar.xz | grep -q "XZ" || error "下载的文件不是有效的 XZ 压缩包" if command -v file &>/dev/null; then
file ss-rust-dl.tar.xz | grep -q "XZ" || error "下载的文件不是有效的 XZ 压缩包"
fi
tar xf ss-rust-dl.tar.xz || error "解压失败" tar xf ss-rust-dl.tar.xz || error "解压失败"
[[ ! -f ssserver ]] && error "找不到 ssserver" [[ ! -f ssserver ]] && error "找不到 ssserver"