v 3.3 test 2

This commit is contained in:
Mike D'Morto 2026-02-23 20:17:52 +07:00
parent e6362e6fa8
commit 07ae17a686

View File

@ -332,30 +332,80 @@ hub.type)
;; ;;
# br.status cas.status)
HUB=${ITEM%,*}
CAS=${ITEM##*,}
resp=$(api_call "GetLinkStatus" "{\"HubName_Ex_str\":\"$HUB\",\"AccountName_utf\":\"$CAS\"}")
status=$(echo "$resp" | jq -r '.result.Connected_bool' 2>/dev/null)
if [ "$status" = "true" ]; then
echo "Connection Completed (Session Established)"
else
echo "offline"
fi
;;
cas.if.out.broad)
HUB=${ITEM%,*}
CAS=${ITEM##*,}
resp=$(api_call "GetLinkStatus" "{\"HubName_Ex_str\":\"$HUB\",\"AccountName_utf\":\"$CAS\"}")
val=$(echo "$resp" | jq -r '.result."Send.BroadcastBytes_u64"' 2>/dev/null)
echo "${val:-0}"
;;
cas.if.in.broad)
HUB=${ITEM%,*}
CAS=${ITEM##*,}
resp=$(api_call "GetLinkStatus" "{\"HubName_Ex_str\":\"$HUB\",\"AccountName_utf\":\"$CAS\"}")
val=$(echo "$resp" | jq -r '.result."Recv.BroadcastBytes_u64"' 2>/dev/null)
echo "${val:-0}"
;;
cas.if.out)
HUB=${ITEM%,*}
CAS=${ITEM##*,}
resp=$(api_call "GetLinkStatus" "{\"HubName_Ex_str\":\"$HUB\",\"AccountName_utf\":\"$CAS\"}")
val=$(echo "$resp" | jq -r '.result.TotalSendSize_u64' 2>/dev/null)
echo "${val:-0}"
;;
cas.if.in)
HUB=${ITEM%,*}
CAS=${ITEM##*,}
resp=$(api_call "GetLinkStatus" "{\"HubName_Ex_str\":\"$HUB\",\"AccountName_utf\":\"$CAS\"}")
val=$(echo "$resp" | jq -r '.result.TotalRecvSize_u64' 2>/dev/null)
echo "${val:-0}"
;;
cas.if.out.uni)
HUB=${ITEM%,*}
CAS=${ITEM##*,}
resp=$(api_call "GetLinkStatus" "{\"HubName_Ex_str\":\"$HUB\",\"AccountName_utf\":\"$CAS\"}")
val=$(echo "$resp" | jq -r '.result."Send.UnicastBytes_u64"' 2>/dev/null)
echo "${val:-0}"
;;
cas.if.in.uni)
HUB=${ITEM%,*}
CAS=${ITEM##*,}
resp=$(api_call "GetLinkStatus" "{\"HubName_Ex_str\":\"$HUB\",\"AccountName_utf\":\"$CAS\"}")
val=$(echo "$resp" | jq -r '.result."Recv.UnicastBytes_u64"' 2>/dev/null)
echo "${val:-0}"
;;
br.status) br.status)
HUB=${ITEM%,*} HUB=${ITEM%,*}
BR=${ITEM##*,} BR=${ITEM##*,}
resp=$(api_call "EnumLocalBridge") resp=$(api_call "EnumLocalBridge")
if echo "$resp" | jq -e '.error' >/dev/null 2>&1; then online=$(echo "$resp" | jq -r --arg hub "$HUB" --arg br "$BR" '.result.LocalBridgeList[] | select(.HubNameLB_str == $hub and .DeviceName_str == $br) | .Online_bool' 2>/dev/null | head -1)
# Fallback на старый метод if [ "$online" = "true" ]; then
$VCMD /SERVER ${URL} /PASSWORD:${PWD} /adminhub:${HUB} /CMD bridgelist | tr -d ' ' | awk '-F|' -v VH="${HUB}" -v VB="${BR}" '{if ($2==VH && $3==VB) print $4}' echo "Operating"
else else
# Ищем в списке мостов запись с нужным хабом и именем устройства echo "false"
status=$(echo "$resp" | jq -r --arg hub "$HUB" --arg br "$BR" '.result.LocalBridgeList[] | select(.HubNameLB_str == $hub and .DeviceName_str == $br) | .Online_bool' 2>/dev/null | head -1)
if [ -n "$status" ] && [ "$status" != "null" ]; then
# Выводим true/false (оригинал выводил то же)
echo "$status"
else
# Если не нашли, пробуем старый метод
$VCMD /SERVER ${URL} /PASSWORD:${PWD} /adminhub:${HUB} /CMD bridgelist | tr -d ' ' | awk '-F|' -v VH="${HUB}" -v VB="${BR}" '{if ($2==VH && $3==VB) print $4}'
fi
fi fi
;; ;;
usr.if.out.broad) usr.if.out.broad)
HUB=${ITEM%,*} HUB=${ITEM%,*}
USER=${ITEM##*,} USER=${ITEM##*,}