Fix: Skip missing IPs while generating URI and QR codes
This commit is contained in:
@ -37,6 +37,18 @@ show_uri() {
|
|||||||
|
|
||||||
load_hysteria2_env
|
load_hysteria2_env
|
||||||
load_hysteria2_ips
|
load_hysteria2_ips
|
||||||
|
|
||||||
|
available_ip4=true
|
||||||
|
available_ip6=true
|
||||||
|
|
||||||
|
if [[ -z "$IP4" || "$IP4" == "None" ]]; then
|
||||||
|
available_ip4=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$IP6" || "$IP6" == "None" ]]; then
|
||||||
|
available_ip6=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
while [[ "$#" -gt 0 ]]; do
|
while [[ "$#" -gt 0 ]]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
@ -87,33 +99,37 @@ show_uri() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if [ "$show_all" = true ]; then
|
if [ "$show_all" = true ]; then
|
||||||
URI=$(generate_uri 4 "$IP4")
|
if [ "$available_ip4" = true ]; then
|
||||||
URI6=$(generate_uri 6 "$IP6")
|
|
||||||
echo -e "\nIPv4:\n$URI\n"
|
|
||||||
echo -e "\nIPv6:\n$URI6\n"
|
|
||||||
else
|
|
||||||
if [ "$ip_version" -eq 4 ]; then
|
|
||||||
URI=$(generate_uri 4 "$IP4")
|
URI=$(generate_uri 4 "$IP4")
|
||||||
echo -e "\nIPv4:\n$URI\n"
|
echo -e "\nIPv4:\n$URI\n"
|
||||||
elif [ "$ip_version" -eq 6 ]; then
|
fi
|
||||||
|
if [ "$available_ip6" = true ]; then
|
||||||
|
URI6=$(generate_uri 6 "$IP6")
|
||||||
|
echo -e "\nIPv6:\n$URI6\n"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$ip_version" -eq 4 ] && [ "$available_ip4" = true ]; then
|
||||||
|
URI=$(generate_uri 4 "$IP4")
|
||||||
|
echo -e "\nIPv4:\n$URI\n"
|
||||||
|
elif [ "$ip_version" -eq 6 ] && [ "$available_ip6" = true ]; then
|
||||||
URI6=$(generate_uri 6 "$IP6")
|
URI6=$(generate_uri 6 "$IP6")
|
||||||
echo -e "\nIPv6:\n$URI6\n"
|
echo -e "\nIPv6:\n$URI6\n"
|
||||||
else
|
else
|
||||||
echo "Invalid IP version. Use 4 for IPv4 or 6 for IPv6."
|
echo "Invalid IP version or no available IP for the requested version."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$generate_qrcode" = true ]; then
|
if [ "$generate_qrcode" = true ]; then
|
||||||
cols=$(tput cols)
|
cols=$(tput cols)
|
||||||
if [ -n "$URI" ]; then
|
if [ "$available_ip4" = true ] && [ -n "$URI" ]; then
|
||||||
qr1=$(echo -n "$URI" | qrencode -t UTF8 -s 3 -m 2)
|
qr1=$(echo -n "$URI" | qrencode -t UTF8 -s 3 -m 2)
|
||||||
echo -e "\nIPv4 QR Code:\n"
|
echo -e "\nIPv4 QR Code:\n"
|
||||||
echo "$qr1" | while IFS= read -r line; do
|
echo "$qr1" | while IFS= read -r line; do
|
||||||
printf "%*s\n" $(( (${#line} + cols) / 2)) "$line"
|
printf "%*s\n" $(( (${#line} + cols) / 2)) "$line"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if [ -n "$URI6" ]; then
|
if [ "$available_ip6" = true ] && [ -n "$URI6" ]; then
|
||||||
qr2=$(echo -n "$URI6" | qrencode -t UTF8 -s 3 -m 2)
|
qr2=$(echo -n "$URI6" | qrencode -t UTF8 -s 3 -m 2)
|
||||||
echo -e "\nIPv6 QR Code:\n"
|
echo -e "\nIPv6 QR Code:\n"
|
||||||
echo "$qr2" | while IFS= read -r line; do
|
echo "$qr2" | while IFS= read -r line; do
|
||||||
|
|||||||
Reference in New Issue
Block a user