Files
dotfiles/bash/.bash_functions
T
ddadmin f865bea0ee feat(wsl): добавлена функция update_hproxy для обновления IP хоста
- Зачем:
  - необходимо автоматически обновлять IP-адрес хоста при перезагрузке WSL или изменении сети.
- Что:
  - добавлена функция update_hproxy в bash/.bash_functions.
  - функция получает IP хоста через ip route.
  - обновляет запись hproxy.local в /etc/hosts.
- Проверка:
  - выполнить update_hproxy и проверить /etc/hosts.
2026-02-24 09:28:31 +03:00

45 lines
1.9 KiB
Bash

# --- Proxy Settings ---
# Переменные для прокси по умолчанию (если нужно, чтобы он был включен всегда)
# export HTTP_PROXY="http://127.0.0.1:10809"
# export HTTPS_PROXY="http://127.0.0.1:10809"
# --- WSL Host Update ---
update_hproxy() {
echo "🔄 Обновление IP-адреса для hproxy.local..."
# Получаем текущий IP хоста
local host_ip=$(ip route show default | awk '{print $3}')
if [ -z "$host_ip" ]; then
echo "❌ Ошибка: Не удалось определить IP-адрес хоста."
return 1
fi
# Удаляем старую запись и добавляем новую (потребуется пароль sudo)
sudo sed -i '/hproxy.local/d' /etc/hosts
echo "$host_ip hproxy.local" | sudo tee -a /etc/hosts > /dev/null
echo "✅ Готово! hproxy.local теперь указывает на $host_ip"
}
# Удобные функции-переключатели для терминала
proxy_on() {
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"
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
echo "❌ Proxy disabled. Checking route..."
echo "🏠 Current IP: $(curl -s --max-time 3 https://ifconfig.me)"
}
# Заодно можно добавить алиас, чтобы быстро чекать IP в любой момент без переключения
alias myip='echo "IP: $(curl -s --max-time 3 https://ifconfig.me)"'