fix: 兼容无file命令/无grep -P的系统,下载加超时
This commit is contained in:
@@ -87,7 +87,7 @@ install_ssrust() {
|
||||
arch_name=$(get_arch)
|
||||
|
||||
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"
|
||||
info "版本: $latest"
|
||||
|
||||
@@ -95,13 +95,15 @@ install_ssrust() {
|
||||
|
||||
cd /tmp
|
||||
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
|
||||
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)"
|
||||
|
||||
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 "解压失败"
|
||||
[[ ! -f ssserver ]] && error "找不到 ssserver"
|
||||
|
||||
Reference in New Issue
Block a user