Files
xray_docker/bin/reality.sh
T
2026-07-20 15:39:11 +08:00

67 lines
2.0 KiB
Bash

#!/bin/bash
update_reality_key(){
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件绝对路径
local config_dir="$script_dir/../conf"
# 使用docker运行xray镜像生成密钥文件
docker run --rm teddysun/xray:latest /usr/bin/xray x25519 > $config_dir/key.txt
# 获取私钥
local private_key=$(grep "Private" $config_dir/key.txt | awk -F ': ' '{print $2}')
# 修改config.json密钥属性
modify_json_file "$config_dir/config.json" ".inbounds[0].streamSettings.realitySettings.privateKey" "$private_key"
echo "生成和设置密钥成功."
}
update_reality_dest(){
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
local config_dir="$script_dir/../conf"
# 获取当前dest值
local old_dest=$(jq -r '.inbounds[0].streamSettings.realitySettings.dest' "$config_dir/config.json")
old_dest="${old_dest%:*}"
# 输入新的dest地址
local dest
read -p "请输入新的dest地址[当前地址: $old_dest]: " dest
# 如果输入为空, 不修改直接退出
if [[ -z "$dest" ]]; then
return 0
fi
# 如果未指定端口号,默认加上 :443
if [[ "$dest" != *:* ]]; then
dest="${dest}:443"
fi
# 提取域名部分,去掉端口号
local domain=$(echo "$dest" | cut -d: -f1)
# 修改配置文件中的dest
modify_json_file "$config_dir/config.json" ".inbounds[0].streamSettings.realitySettings.dest" "$dest"
# 修改配置文件中的serverNames,不带端口号
modify_json_file "$config_dir/config.json" ".inbounds[0].streamSettings.realitySettings.serverNames" "[\"$domain\"]"
echo "修改reality_dest成功"
}
update_short_id(){
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件绝对路径
local config_dir="$script_dir/../conf"
# 生成 shortId
local short_id=$(openssl rand -hex 8)
#修改 shortId
modify_json_file "$config_dir/config.json" ".inbounds[0].streamSettings.realitySettings.shortIds[0]" "$short_id"
echo "设置shortId成功."
}