mirror of
https://github.com/andrey271192/domen_hydra.git
synced 2026-09-20 14:42:00 +00:00
fix: RCI — динамический поиск LAN IP через ip addr (убрали 192.168.1.1)
This commit is contained in:
@@ -753,27 +753,20 @@ echo '[3/3] Настройка WireGuard через Keenetic RCI...'
|
|||||||
DONE=0
|
DONE=0
|
||||||
|
|
||||||
# === Keenetic RCI API (нативная интеграция, интерфейс виден в UI) ===
|
# === Keenetic RCI API (нативная интеграция, интерфейс виден в UI) ===
|
||||||
# Keenetic слушает на LAN IP, не на localhost — перебираем варианты
|
# Keenetic слушает на LAN IP роутера — определяем его динамически
|
||||||
RCI_BASE=""
|
RCI_BASE=""
|
||||||
for _url in "http://127.0.0.1" "http://localhost" "http://192.168.1.1"; do
|
AUTH=""
|
||||||
_auth=$(curl -s --connect-timeout 2 "$_url/auth" 2>/dev/null)
|
# Собираем все локальные IPv4 (кроме 127.x) из ip addr
|
||||||
|
_local_ips=$(ip addr show 2>/dev/null | grep 'inet ' | awk '{{print $2}}' | cut -d/ -f1 | grep -v '^127\.')
|
||||||
|
for _ip in 127.0.0.1 $_local_ips; do
|
||||||
|
_auth=$(curl -s --connect-timeout 2 "http://$_ip/auth" 2>/dev/null)
|
||||||
if printf '%s' "$_auth" | grep -q '"realm"'; then
|
if printf '%s' "$_auth" | grep -q '"realm"'; then
|
||||||
RCI_BASE="$_url"
|
RCI_BASE="http://$_ip"
|
||||||
AUTH="$_auth"
|
AUTH="$_auth"
|
||||||
|
echo "RCI найден на http://$_ip"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# Если стандартные IP не помогли — пробуем адрес br0 (LAN-интерфейс роутера)
|
|
||||||
if [ -z "$RCI_BASE" ]; then
|
|
||||||
_lanip=$(ip addr show br0 2>/dev/null | grep 'inet ' | awk '{{print $2}}' | cut -d/ -f1 | head -1)
|
|
||||||
if [ -n "$_lanip" ]; then
|
|
||||||
_auth=$(curl -s --connect-timeout 2 "http://$_lanip/auth" 2>/dev/null)
|
|
||||||
if printf '%s' "$_auth" | grep -q '"realm"'; then
|
|
||||||
RCI_BASE="http://$_lanip"
|
|
||||||
AUTH="$_auth"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "RCI base: [$RCI_BASE] Auth: $AUTH"
|
echo "RCI base: [$RCI_BASE] Auth: $AUTH"
|
||||||
REALM=$(printf '%s' "$AUTH" | grep -o '"realm":"[^"]*"' | cut -d'"' -f4)
|
REALM=$(printf '%s' "$AUTH" | grep -o '"realm":"[^"]*"' | cut -d'"' -f4)
|
||||||
CHAL=$(printf '%s' "$AUTH" | grep -o '"challenge":"[^"]*"' | cut -d'"' -f4)
|
CHAL=$(printf '%s' "$AUTH" | grep -o '"challenge":"[^"]*"' | cut -d'"' -f4)
|
||||||
|
|||||||
Reference in New Issue
Block a user