hysteria_docker/bin/update_password.sh
2024-05-16 00:35:10 +08:00

34 lines
1012 B
Bash

#!/bin/bash
# 函数生成随机密码
gen_random_pass() {
local pass_length=$1 # 密码长度作为第一个参数
local chars='[:alnum:]' # 只允许出现字母和数字
local rand
rand=$(< /dev/urandom tr -dc "$chars" | head -c "$pass_length")
echo "$rand"
}
# 检查是否安装了jq命令
if ! command -v jq &> /dev/null; then
echo "Error: jq command not found. Please install jq first."
exit 1
fi
# 生成一个长度为16的随机密码
new_password=$(gen_random_pass 16)
# 更新config.json文件中的auth.password字段
script_dir="$(dirname "$(realpath "$0")")" # 当前脚本所在目录的绝对路径
config_file="$script_dir/../config.json"
# 使用jq命令修改auth.password字段的值
new_config=$(jq --arg new_password "$new_password" '.auth.password = $new_password' "$config_file")
# 将修改后的JSON写回config.json文件
echo "$new_config" > "$config_file"
echo "New password: $new_password"
echo "config.json file updated with new password."