fix(web-info, web-publish): Listen с адресом привязки

web-info брал первое число строки Listen: при `Listen 127.0.0.1:19081`
порт выходил 127, URL и проверка TCP были ложными. Теперь разбирается
`Listen [host:]port [proto]` (включая IPv6 в скобках), сначала в своём
глобальном блоке; явный адрес идёт в URL и в пробу порта.

web-publish при перезаписи глобального блока сохраняет адрес привязки,
вписанный вручную, — повторная публикация больше не открывает loopback
на все интерфейсы; URL в выводе строятся по нему. Стандартный Listen
комментируется целой строкой (раньше `Listen 0.0.0.0:80` превращался
в мусор, а `Listen [::]:80` оставался активным).

Refs #107

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-09-26 14:27:18 +03:00
co-authored by Claude Opus 5.5
parent 614206bc5c
commit 933414f2e6
5 changed files with 81 additions and 29 deletions
+2
View File
@@ -103,6 +103,8 @@ Listen 8081
Порт для веб-клиента. По умолчанию `8081` (стандартный `80` может быть занят).
Адрес привязки, вписанный в глобальный блок вручную (`Listen 127.0.0.1:8081`, `Listen [::1]:8081`), при повторной публикации сохраняется — меняется только порт; URL в выводе `web-publish` и `web-info` строятся по этому адресу. `0.0.0.0`, `*`, `[::]` считаются «все интерфейсы» → `localhost`.
### Alias + Directory
Для каждой публикации добавляется блок: