version 1.4.1: per-user WARP флаг, fallback-установка PyPI
- app.py: full_warp флаг в warp_rules, _rebuild_egress читает с диска, race condition fix - bot.py: full_warp поддержка в toggle_warp - templates/index.html: чекбокс «Весь трафик через WARP» с full_warp, не авто-включается - install-panel.sh: зеркала PyPI (aliyun), таймаут 120с на pip, fallback на apt --system-site-packages - install-bot.sh: зеркала и fallback для python-telegram-bot - README: версия 1.4, обновлён roadmap
This commit is contained in:
+38
-2
@@ -74,8 +74,44 @@ PANEL_DIR="/opt/mita-panel"
|
||||
mkdir -p "$PANEL_DIR"
|
||||
|
||||
python3 -m venv "$PANEL_DIR/venv"
|
||||
"$PANEL_DIR/venv/bin/pip" install -q flask gunicorn pyyaml psutil 2>/dev/null
|
||||
ok "Python venv, Flask и зависимости установлены"
|
||||
info "Установка Flask и зависимостей (может занять до минуты)..."
|
||||
|
||||
_pip_install() {
|
||||
# Принудительно IPv4 + таймаут 15 секунд на соединение
|
||||
timeout 120 "$PANEL_DIR/venv/bin/pip" install \
|
||||
--no-input --quiet --disable-pip-version-check \
|
||||
--timeout 15 \
|
||||
"$@"
|
||||
}
|
||||
|
||||
MIRRORS=(
|
||||
"https://pypi.org/simple/"
|
||||
"https://mirrors.aliyun.com/pypi/simple/"
|
||||
)
|
||||
|
||||
pip_ok=false
|
||||
for mirror in "${MIRRORS[@]}"; do
|
||||
info "Пробую зеркало: $mirror"
|
||||
if _pip_install --index-url "$mirror" flask gunicorn pyyaml psutil; then
|
||||
pip_ok=true
|
||||
break
|
||||
fi
|
||||
warn "Зеркало $mirror недоступно, пробую дальше..."
|
||||
done
|
||||
|
||||
if ! $pip_ok; then
|
||||
warn "pip не смог установить зависимости. Пробую через apt..."
|
||||
apt-get install -y -qq python3-flask python3-gunicorn python3-yaml python3-psutil 2>/dev/null || {
|
||||
error "Не удалось установить Flask ни через pip, ни через apt"
|
||||
exit 1
|
||||
}
|
||||
# Создаём venv с системными пакетами чтобы gunicorn был доступен
|
||||
rm -rf "$PANEL_DIR/venv"
|
||||
python3 -m venv --system-site-packages "$PANEL_DIR/venv"
|
||||
ok "Flask установлен через системные пакеты (venv с --system-site-packages)"
|
||||
else
|
||||
ok "Python venv, Flask и зависимости установлены"
|
||||
fi
|
||||
|
||||
# ── копирование файлов ─────────────────────────────────────────────
|
||||
section "Копирование файлов панели"
|
||||
|
||||
Reference in New Issue
Block a user