xray_docker/bin/print_share_link.sh
2024-05-15 22:41:02 +08:00

43 lines
1.3 KiB
Bash

#!/bin/bash
# 检查 jq 是否安装
if ! command -v jq &> /dev/null; then
echo "jq 未安装"
exit 1
fi
# 检查 qrencode 是否安装
if ! command -v qrencode &> /dev/null; then
echo "qrencode 未安装"
exit 1
fi
script_dir=$(cd "$(dirname "$0")"; pwd) # 脚本文件绝对路径
config_dir="$script_dir/../config" # 配置文件绝对路径
# 获取本机IP
IPV4=$(curl -4 -sSL --connect-timeout 3 --retry 2 ip.sb || echo "null")
UUID=$(jq -r '.inbounds[0].settings.clients[0].id' $config_dir/config.json)
PORT=$(jq -r '.inbounds[0].port' $config_dir/config.json)
DEST=$(jq -r '.inbounds[0].streamSettings.realitySettings.dest' $config_dir/config.json)
SNI=$(echo $DEST | awk -F ':' '{print $1}')
NETWORK="tcp"
PUBLIC_KEY=$(cat $config_dir/key.txt | grep "Public" | awk -F ': ' '{print $2}')
# 打印配置信息
echo -e "\033[32m" # config info with green color
echo "IPV4: $IPV4"
echo "PORT: $PORT"
echo "UUID: $UUID"
echo "DEST: $DEST"
echo "PUBLIC_KEY: $PUBLIC_KEY"
echo "NETWORK: $NETWORK"
if [ "$IPV4" != "null" ]; then
SUB_IPV4="vless://$UUID@$IPV4:$PORT?encryption=none&security=reality&type=$NETWORK&sni=$SNI&fp=chrome&pbk=$PUBLIC_KEY&flow=xtls-rprx-vision#my_docker_vless_reality_vision"
echo "IPV4 订阅连接: $SUB_IPV4"
echo -e "IPV4 订阅二维码:\n$(echo "$SUB_IPV4" | qrencode -o - -t UTF8)"
fi
echo -e "\033[0m"