重构代码为单个函数

This commit is contained in:
Olia Lisa 2025-10-09 15:13:03 +08:00
parent 9bbaacfb98
commit 5ac3ce9ae9
3 changed files with 65 additions and 51 deletions

View File

@ -1,9 +1,13 @@
#!/bin/bash
script_dir=$(cd "$(dirname "$0")"; pwd) # 脚本绝对路径
init() {
local script_dir=$(cd "$(dirname "$0")"; pwd)
# 更新密码
bash "$script_dir/update_password.sh"
# 生成自签名证书和设置域名
bash "$script_dir/set_domain.sh" "bing.com"
}
# 更新密码
bash "$script_dir/update_password.sh"
# 生成自签名证书和设置域名
bash "$script_dir/set_domain.sh" "bing.com"
init

View File

@ -1,38 +1,43 @@
#!/bin/bash
script_dir=$(cd "$(dirname "$0")"; pwd) # 脚本所在目录
config_dir=$(readlink -f "$script_dir/../") # 配置文件所在目录
source "${script_dir}/utils/base.sh"
print_share_link() {
local script_dir=$(cd "$(dirname "$0")"; pwd)
local config_dir=$(readlink -f "$script_dir/../")
source "${script_dir}/utils/base.sh"
# 检查jq是否安装
check_jq
# 检查是否已启动过容器
local password=$(jq -r '.auth.password' "$config_dir/config.json")
if [ "$password" = "你的密码" ]; then
red "error: 容器未启动过, 查看配置失败"
echo '请选择"启动容器"'
exit 1
fi
# 读取配置文件内容
local config=$(cat "$config_dir/config.json")
# 提取所需信息
password=$(echo "$config" | jq -r '.auth.password')
local sni=$(echo "$config" | jq -r '.masquerade.proxy.url' | awk -F'/' '{print $3}')
local ipv4=$(curl -4 -sSL --connect-timeout 3 --retry 2 ip.sb || echo "null")
local port=$(echo "$config" | jq -r '.listen' | cut -d':' -f2)
local obfs_password=$(echo "$config" | jq -r '.obfs.salamander.password')
# 构建分享链接
local share_link="hysteria2://${password}@${ipv4}:${port}/?sni=${sni}&insecure=1#${ipv4}&obfs-password=${obfs_password}"
# 输出分享链接
echo -e "\033[32m"
echo "IPV4: $ipv4"
echo "port: $port"
echo "password: $password"
echo "sni: $sni"
echo "混淆密码: $obfs_password"
echo "分享链接: $share_link"
echo -e "\033[0m"
}
# 检查jq是否安装
check_jq
# 检查是否已启动过容器
password=$(jq -r '.auth.password' $config_dir/config.json)
if [ "$password" = "你的密码" ]; then
red "error: 容器未启动过, 查看配置失败"
echo '请选择"启动容器"'
exit 1
fi
# 读取配置文件内容
config=$(cat "${script_dir}/../config.json")
# 提取所需信息
password=$(echo "$config" | jq -r '.auth.password')
sni=$(echo "$config" | jq -r '.masquerade.proxy.url' | awk -F'/' '{print $3}')
ipv4=$(curl -4 -sSL --connect-timeout 3 --retry 2 ip.sb || echo "null") # 本机IPV4地址
port=$(echo "$config" | jq -r '.listen' | cut -d':' -f2) # 端口号
obfs_password=$(echo "$config" | jq -r '.obfs.salamander.password') # 混淆密码
# 构建分享链接
share_link="hysteria2://${password}@${ipv4}:${port}/?sni=${sni}&insecure=1#${ipv4}&obfs-password=${obfs_password}"
# 输出分享链接
echo -e "\033[32m"
echo "IPV4: $ipv4"
echo "port: $port"
echo "password: $password"
echo "sni: $sni"
echo "混淆密码: $obfs_password"
echo "分享链接: $share_link"
echo -e "\033[0m"
print_share_link # 输出分享链接

View File

@ -1,13 +1,18 @@
#!/bin/bash
script_dir=$(cd "$(dirname "$0")"; pwd) # 脚本文件绝对路径
config_dir=$(readlink -f "$script_dir/../") # 配置文件绝对路径
source $script_dir/utils/jq_util.sh
# 修改端口的函数
change_port() {
local script_dir=$(cd "$(dirname "$0")"; pwd)
local config_dir=$(readlink -f "$script_dir/../")
source "$script_dir/utils/jq_util.sh"
local old_port=$(jq -r '.listen' "$config_dir/config.json" | awk -F : '{print $2}')
local port
read -p "请输入新的端口[当前端口: $old_port]: " port
modify_json_file "$config_dir/config.json" ".listen" ":$port"
echo "端口修改成功!新端口为: $port"
}
old_port=$(jq -r '.listen' "$config_dir/config.json" | awk -F : '{print $2}')
read -p "请输入新的端口[当前端口: $old_port]: " port
# 修改端口
modify_json_file "$config_dir/config.json" ".listen" ":$port"
echo "端口修改成功!新端口为: $port"
change_port