Зачем: - отделить переносимый прокси-интерфейс от общих Bash-функций - запускать агентские CLI через явный внешний или управляемый прокси Что: - добавлен stow-пакет xray-proxy с CLI, Bash-модулем и примерами - реализованы строгий разбор VLESS и управляемый запуск Xray - добавлены проверки процесса, порта, сигналов и отсутствия утечек - сохранены спецификация и очередь следующих тикетов Проверка: - python3 tests/test_xray_proxy.py — 22/22 - python3 tests/test_xray_proxy_managed.py — 16/16 - bash tests/test_proxy_launchers.sh — 9/9 - bash tests/test_install.sh - bash -n, Python 3.8 grammar, git diff --check
26 lines
1.1 KiB
Bash
26 lines
1.1 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 (только WSL NAT) ---
|
|
update_hproxy() {
|
|
local script
|
|
script="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/../scripts/setup-hproxy.sh"
|
|
if [ ! -f "$script" ]; then
|
|
echo "❌ Скрипт не найден: $script"
|
|
return 1
|
|
fi
|
|
if ! awk '/^\[boot\]$/{b=1;next} /^\[/{b=0} b && /^[[:space:]]*command[[:space:]]*=/ && /setup-hproxy\.sh/' \
|
|
"${WSL_CONF_PATH:-/etc/wsl.conf}" 2>/dev/null | grep -q .; then
|
|
echo "⚠️ Boot command не настроен — update_hproxy работает только для WSL NAT"
|
|
return 1
|
|
fi
|
|
if ! sudo "$script"; then
|
|
echo "❌ Ошибка обновления hproxy.local"
|
|
return 1
|
|
fi
|
|
echo "✅ hproxy.local -> $(getent hosts hproxy.local 2>/dev/null | awk '{print $1}')"
|
|
}
|
|
|