44 lines
1.4 KiB
Bash
44 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
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&obfs-password=${obfs_password}#${ipv4}"
|
|
|
|
# 输出分享链接
|
|
echo -e "\033[32m"
|
|
echo "IPV4: $ipv4"
|
|
echo "port: $port"
|
|
echo "password: $password"
|
|
echo "sni: $sni"
|
|
echo "混淆密码: $obfs_password"
|
|
echo ""
|
|
echo "分享链接: $share_link"
|
|
echo -e "\033[0m"
|
|
}
|
|
|
|
print_share_link # 输出分享链接 |