feat: issue #8 — именованные профили сети (home/office/hostname)

setup.sh item 2: показывает существующие профили, предлагает ввести имя.
Профиль сохраняется как network_<name>.conf (вместо фиксированного hostname).
Позволяет держать home/office конфиги на одной машине и переключаться явно.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 20:18:09 +03:00
parent df401ca333
commit feb401f4ba

View File

@@ -54,7 +54,19 @@ case "$choice" in
echo -e "${GRY} DEV — сетевой интерфейс (wifi или провод), через который ты подключён к роутеру${CLR}"
echo -e "${GRY} LOCAL_DNS — IP офисного DNS-сервера для разрешения *.loc доменов (необязательно)${CLR}"
echo ""
net_conf="$HOME/.config/ai-setup/network_$(hostname).conf"
mkdir -p "$HOME/.config/ai-setup"
cfg_dir="$HOME/.config/ai-setup"
# Показываем существующие профили
existing=$(ls "$cfg_dir"/network_*.conf 2>/dev/null | sed 's|.*/network_||;s|\.conf||' | tr '\n' ' ')
if [ -n "$existing" ]; then
echo -e "Существующие профили: ${BLD}${existing}${CLR}"
echo -e "${GRY}Введи имя профиля (home/office/$(hostname) и т.д.) или Enter для текущего${CLR}"
read -rp "Профиль [$(hostname)]: " chosen_profile
chosen_profile="${chosen_profile:-$(hostname)}"
else
chosen_profile="$(hostname)"
fi
net_conf="$cfg_dir/network_${chosen_profile}.conf"
auto_gw=$(ip route show default 2>/dev/null | awk '/default/ {print $3; exit}')
auto_dev=$(ip route show default 2>/dev/null | awk '/default/ {print $5; exit}')
auto_gw="${auto_gw:-192.168.1.1}"
@@ -66,9 +78,9 @@ case "$choice" in
saved_local_dns=$(grep '^LOCAL_DNS=' "$net_conf" | cut -d= -f2)
auto_gw="${saved_gw:-$auto_gw}"
auto_dev="${saved_dev:-$auto_dev}"
echo -e "Загружены сохранённые параметры для ${BLD}$(hostname)${CLR}: GATEWAY=${BLD}${auto_gw}${CLR} DEV=${BLD}${auto_dev}${CLR}"
echo -e "Загружены параметры профиля ${BLD}${chosen_profile}${CLR}: GATEWAY=${BLD}${auto_gw}${CLR} DEV=${BLD}${auto_dev}${CLR}"
else
echo -e "Определено автоматически: GATEWAY=${BLD}${auto_gw}${CLR} DEV=${BLD}${auto_dev}${CLR}"
echo -e "Новый профиль ${BLD}${chosen_profile}${CLR}. Определено автоматически: GATEWAY=${BLD}${auto_gw}${CLR} DEV=${BLD}${auto_dev}${CLR}"
fi
echo -e "${GRY}(просто Enter чтобы принять, или введи другое значение)${CLR}"
echo ""
@@ -79,7 +91,6 @@ case "$choice" in
dev="${dev:-$auto_dev}"
[ "$local_dns" = "пусто" ] && local_dns=""
local_dns="${local_dns:-$saved_local_dns}"
mkdir -p "$HOME/.config/ai-setup"
printf 'GATEWAY=%s\nDEV=%s\nLOCAL_DNS=%s\n' "$gw" "$dev" "$local_dns" > "$net_conf"
echo ""
sudo GATEWAY="$gw" DEV="$dev" LOCAL_DNS="$local_dns" USER_HOME="$HOME" bash scripts/ru-bypass.sh