fix: optimize download steps, bug fixed.
This commit is contained in:
1 parent
92e80260dc
commit
cf3b062bb8
3 files changed
+24
-11
No files matched your search
+10
-2
@@ -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
@@ -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
@@ -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
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user