fix: откат настроек прокси в режиме direct (N)

При выборе N (direct mode) теперь корректно откатываются:
- Системный прокси (gsettings mode 'none')
- Firefox прокси (network.proxy.type = 0)
- IPv6 включается обратно (удаление 99-disable-ipv6.conf + sysctl)
- xray стопается и дизейблится

Раньше браузеры оставались настроенными на мёртвый прокси после переключения с Y на N.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Виталий Никитенко
2026-06-05 12:02:48 +07:00
parent a8d11a3f9f
commit 14142c0346

View File

@@ -125,9 +125,40 @@ else
USE_VLESS=0
info "Режим: direct (без проксирования)"
# Останавливаем и отключаем xray (мог остаться от предыдущей установки)
# ── Откат всех настроек vless ──────────────────────────────
info "Откатываю настройки прокси..."
# Останавливаем и отключаем xray
sudo systemctl stop xray 2>/dev/null || true
sudo systemctl disable xray 2>/dev/null || true
success "xray остановлен и отключён"
# Системный прокси → none
if command -v gsettings &>/dev/null; then
gsettings set org.gnome.system.proxy mode 'none' 2>/dev/null || true
success "Системный прокси отключён"
fi
# Firefox → direct (type=0)
FIREFOX_PROFILE=""
if [ -d "$HOME/snap/firefox/common/.mozilla/firefox" ]; then
FIREFOX_PROFILE=$(find "$HOME/snap/firefox/common/.mozilla/firefox" -name "*.default*" -type d | head -1)
elif [ -d "$HOME/.mozilla/firefox" ]; then
FIREFOX_PROFILE=$(find "$HOME/.mozilla/firefox" -name "*.default*" -type d | head -1)
fi
if [ -n "$FIREFOX_PROFILE" ]; then
cat > "$FIREFOX_PROFILE/user.js" << 'FJSEOF'
user_pref("network.proxy.type", 0);
FJSEOF
success "Firefox переключён на прямой доступ"
fi
# Включаем IPv6 обратно
sudo rm -f /etc/sysctl.d/99-disable-ipv6.conf
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 2>/dev/null || true
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 2>/dev/null || true
sudo systemctl restart systemd-resolved 2>/dev/null || true
success "IPv6 восстановлен"
fi
# ── 1. npm prefix в домашнюю папку ──────────────────────────