fix(bash): добавлена поддержка IPv6 и lower-case переменных в proxy_on/off

- Зачем:
  - локальные MCP/loopback-соединения уходили в SOCKS5 через hproxy.local из-за отсутствия IPv6 в NO_PROXY
  - Python-приложения не видели прокси-переменные в lower-case
- Что:
  - добавлены ::1 и [::1] в список NO_PROXY для IPv6 loopback
  - добавлены lower-case переменные (http_proxy, https_proxy, all_proxy, no_proxy)
  - функция proxy_off теперь сбрасывает все прокси-переменные
- Проверка:
  - source ~/.bash_functions && proxy_on && echo $NO_PROXY && proxy_off
This commit is contained in:
ddadmin committed 2026-04-19 12:25:03 +03:00
1 parent 582eb3fa11
commit f5e8fec192
1 file changed
+11 -2
+11 -2
View File
@@ -24,18 +24,27 @@ update_hproxy() {
}
# Удобные функции-переключатели для терминала
# NO_PROXY: ::1 и [::1] нужны, т.к. localhost в dual-stack Linux резолвится в IPv6,
# и без них локальные MCP/loopback-соединения (chroma-mcp, claude-mem worker и т.п.)
# уходят в SOCKS5 через hproxy.local. Дублируем в lower-case no_proxy для Python-стека.
proxy_on() {
local no_proxy_list="hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru"
export HTTP_PROXY="http://hproxy.local:12334"
export HTTPS_PROXY="http://hproxy.local:12334"
export ALL_PROXY="socks5://hproxy.local:12334"
export NO_PROXY="hproxy.local,localhost,127.0.0.1,.concept-software.ru"
export NO_PROXY="$no_proxy_list"
export http_proxy="$HTTP_PROXY"
export https_proxy="$HTTPS_PROXY"
export all_proxy="$ALL_PROXY"
export no_proxy="$no_proxy_list"
echo "✅ Proxy enabled. Checking route..."
# Подставляем результат выполнения curl прямо в строку
echo "🌍 Current IP: $(curl -s --max-time 3 https://ifconfig.me)"
}
proxy_off() {
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY NO_PROXY
unset http_proxy https_proxy all_proxy no_proxy
echo "❌ Proxy disabled. Checking route..."
echo "🏠 Current IP: $(curl -s --max-time 3 https://ifconfig.me)"
}