refactor(wsl): унифицирована логика hproxy.local и добавлена миграция legacy boot command
- Зачем:
- setup-hproxy.sh удалял запись из hosts до проверки gateway — при ошибке hosts ломался.
- update_hproxy() дублировала логику скрипта с багами и не тестировалась.
- legacy inline boot command в wsl.conf не мигрировался автоматически.
- Что:
- setup-hproxy.sh: безопасный порядок (gateway → hosts), set -e, экранированная точка в sed.
- update_hproxy() заменена на thin wrapper с проверкой wsl.conf и ошибок sudo.
- install.sh: интерактивная замена legacy boot command, детекция существующих [boot] command,
принимает русскую «у» наравне с «y».
- README.md: описаны три сценария (WSL NAT, WSL mirrored — host-side resolution, native Linux).
- добавлены тесты: existing boot command preserved, legacy command migration hint.
- Проверка:
- bash tests/test_install.sh
- ./install.sh (интерактивно, ответить «y» на миграцию legacy command)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
1963b6a117
commit
898db1098d
5 files changed
+131
-66
No files matched your search
+10
-2
@@ -8,5 +8,13 @@
|
||||
# [boot]
|
||||
# command = "/path/to/setup-hproxy.sh"
|
||||
|
||||
sed -i '/hproxy.local/d' /etc/hosts
|
||||
ip route show default | awk '{print $3 " hproxy.local"}' >> /etc/hosts
|
||||
set -e
|
||||
|
||||
gateway=$(ip route show default | awk '{print $3}')
|
||||
if [ -z "$gateway" ]; then
|
||||
echo "setup-hproxy: no default gateway" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sed -i '/hproxy\.local/d' /etc/hosts
|
||||
printf '%s hproxy.local\n' "$gateway" >> /etc/hosts
|
||||
Reference in new issue
Block a user