- Зачем: - необходимо автоматически обновлять IP-адрес хоста при перезагрузке WSL или изменении сети. - Что: - добавлена функция update_hproxy в bash/.bash_functions. - функция получает IP хоста через ip route. - обновляет запись hproxy.local в /etc/hosts. - Проверка: - выполнить update_hproxy и проверить /etc/hosts.
45 lines
1.9 KiB
Bash
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)"'
|
|
|