hysteria_docker/bin/print_share_link.sh
2025-11-20 09:35:43 +08:00

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 # 输出分享链接