diff --git a/bin/update_reality_dest.sh b/bin/update_reality_dest.sh index 3301f80..b5910ac 100644 --- a/bin/update_reality_dest.sh +++ b/bin/update_reality_dest.sh @@ -14,7 +14,7 @@ update_reality_dest(){ # 如果输入为空, 不修改直接退出 if [[ -z "$dest" ]]; then - exit 0 + return 0 fi # 如果未指定端口号,默认加上 :443 diff --git a/bin/utils/base.sh b/bin/utils/base.sh index 53a65f8..8ae9242 100644 --- a/bin/utils/base.sh +++ b/bin/utils/base.sh @@ -84,16 +84,25 @@ install_package() { } check_config(){ - local config_dir="./conf" + local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/../" # 脚本文件夹绝对路径 + local config_dir="script_dir/../conf" + # 如果配置文件不存在或者空白 if [ ! -e "$config_dir/config.json" ] || [ ! -s "$config_dir/config.json" ];then echo "请先'创建配置'" - exit 0 + exit 1 fi + # 如果配置未初始化 uuid=$(jq -r '.inbounds[0].settings.clients[0].id' "$config_dir/config.json") if [ "$uuid" = "你的UUID" ] || [ -z "$uuid" ]; then echo "请先'创建配置'" - exit 0 + exit 1 + fi + + # 检查配置文件是否为有效的JSON格式 + if ! jq '.' "$config_file" >/dev/null 2>&1; then + echo "配置文件不是有效的JSON格式, 请重新生成配置文件." + exit 1 fi } \ No newline at end of file