fix: optimize download steps, bug fixed.

This commit is contained in:
libm committed 2025-02-25 00:46:34 +08:00
1 parent 92e80260dc
commit cf3b062bb8
3 files changed
+24 -11

No files matched your search

+10 -2
View File
@@ -4,17 +4,25 @@
. script/clashctl.sh
_valid_env
_get_kernel
[ -d "$CLASH_BASE_DIR" ] && _error_quit "已安装,如需重新安装请先执行卸载脚本"
_get_kernel
# shellcheck disable=SC2086
install -D -m +x <(gzip -dc $ZIP_KERNEL) $BIN_KERNEL
# shellcheck disable=SC2086
tar -xf $ZIP_CONVERT -C "$BIN_BASE_DIR"
_valid_config "$RESOURCES_CONFIG" || {
_okcat '输入订阅链接:' | tr -d '\n' && read -r url
_download_config "$url" "$RESOURCES_CONFIG" || _error_quit "配置无效:请检查配置内容:$RESOURCES_CONFIG"
_download_config "$url" "$RESOURCES_CONFIG" || {
rm -rf "$CLASH_BASE_DIR"
_error_quit "下载失败: 请将配置内容写入 $RESOURCES_CONFIG 后重新安装"
}
_okcat "下载成功:内核验证配置..."
_valid_config "$RESOURCES_CONFIG" || {
rm -rf "$CLASH_BASE_DIR"
_error_quit "配置无效,请检查:$RESOURCES_CONFIG"
}
}
_okcat '✅' '配置可用'
echo "$url" >"$CLASH_CONFIG_URL"
+12 -5
View File
@@ -83,9 +83,10 @@ function clashsecret() {
_okcat "当前密钥:$(sudo "$BIN_YQ" '.secret // ""' "$CLASH_CONFIG_RUNTIME")"
;;
1)
local secret=$1
[ -z "$secret" ] && secret=\"\"
sudo "$BIN_YQ" -i ".secret = $secret" "$CLASH_CONFIG_MIXIN"
sudo "$BIN_YQ" -i ".secret = \"$1\"" "$CLASH_CONFIG_MIXIN" || {
_failcat "密钥更新失败,请重新输入"
return 1
}
_merge_config_restart
_okcat "密钥更新成功,已重启生效"
;;
@@ -164,12 +165,18 @@ function clashupdate() {
_okcat "备份配置:$CLASH_CONFIG_RAW_BAK"
sudo cat "$CLASH_CONFIG_RAW" | sudo tee "$CLASH_CONFIG_RAW_BAK" >&/dev/null
_download_config "$url" "$CLASH_CONFIG_RAW" || {
_failcat "验证失败:回滚配置..."
_rollback() {
_failcat "$1"
sudo cat "$CLASH_CONFIG_RAW_BAK" | sudo tee "$CLASH_CONFIG_RAW" >&/dev/null
_failcat '❌' "[$(date +"%Y-%m-%d %H:%M:%S")] 订阅更新失败:$url" 2>&1 | sudo tee -a "${CLASH_UPDATE_LOG}"
_error_quit
}
_download_config "$url" "$CLASH_CONFIG_RAW" || _rollback "下载失败:回滚配置..."
_okcat "下载成功:内核验证配置..."
_valid_config "$CLASH_CONFIG_RAW" || _rollback "配置无效:回滚配置..."
_merge_config_restart
echo "$url" | sudo tee "$CLASH_CONFIG_URL" >&/dev/null
_okcat '✅' "[$(date +"%Y-%m-%d %H:%M:%S")] 订阅更新成功:$url" | sudo tee -a "${CLASH_UPDATE_LOG}"
+2 -4
View File
@@ -274,12 +274,10 @@ _download_convert_config() {
function _download_config() {
local url=$1
local dest=$2
_download_raw_config "$url" "$dest" || _error_quit "下载失败: 请自行粘贴配置内容到 ${dest}"
_download_raw_config "$url" "$dest" || return 1
_okcat "下载成功:内核验证配置..."
_valid_config "$dest" || {
_failcat "验证失败:本地订阅转换..."
_download_convert_config "$url" "$dest"
_okcat "转换成功:内核验证配置..."
_valid_config "$dest"
_download_convert_config "$url" "$dest" || return 1
}
}