release 1.5.0: one panel in all channels; Apple apps (iOS, new macOS tab) only in beta/dev

- stable gets the beta panel and server features (new design, presets, firewall,
  monthly traffic, router failover over all ports/addresses + TCP, altip, HR tab,
  Windows tab, update banner); ios/ macos/ windows/ sources stay out of stable
- menu item "Update to N" under Settings when a new version is out
- mobile: top menu no longer stretches to 200px
- urllib User-Agent: Cloudflare in front of git.bobyrev.com returns 403 to Python-urllib
- docs: GitHub adleibzon-rgb as source, password/uninstall/devices sections,
  new screenshots, PORTS.md TCP fallback and second IP

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrei Leibzon
2026-11-11 18:12:13 +03:00
parent 22537b3aad
commit 1f3eced228
104 changed files with 2499 additions and 8256 deletions

View File

@@ -278,11 +278,21 @@ EOF
# Настраиваем статический маршрут в созданный интерфейс отдельным вызовом RCI
local route_target_net=$(echo "$client_ip_addr" | cut -d'.' -f1-2).0.0
log "Настройка маршрута для подсети туннеля (${route_target_net}/16) -> ${interface_name}..."
local route_mask="255.255.0.0"
# 02.11.2026: доп. учётка (на роутере уже стоит другая): та же /16 через второй
# интерфейс конфликтует с главной, а /32 до панели увёл бы pull главной в чужой
# туннель — маршрут не ставим, pull доп. учётки ходит по panel_urls.
local main_cid=$(cat /opt/etc/Phobos/client_id 2>/dev/null)
if [ -n "$main_cid" ] && [ "$main_cid" != "${CLIENT_NAME}" ]; then
log "Доп. учётка (главная — ${main_cid}): маршрут подсети туннеля не нужен"
log "Интерфейс ${interface_name} создан ✓"
return 0
fi
log "Настройка маршрута для туннеля (${route_target_net}/${route_mask}) -> ${interface_name}..."
local route_json=$(cat <<EOF
{
"network": "${route_target_net}",
"mask": "255.255.0.0",
"mask": "${route_mask}",
"interface": "${interface_name}",
"auto": true
}