fix: 兼容无file命令/无grep -P的系统,下载加超时
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user