78 lines
2.5 KiB
Bash
Executable File
78 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Установка TG WS Proxy как Linux-приложения
|
|
# Устанавливает в ~/.local/share/tg-ws-proxy и добавляет в меню приложений
|
|
|
|
set -e
|
|
|
|
INSTALL_DIR="${HOME}/.local/share/tg-ws-proxy"
|
|
BIN_DIR="${HOME}/.local/bin"
|
|
APPS_DIR="${HOME}/.local/share/applications"
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
ROOT="$(dirname "$SCRIPT_DIR")"
|
|
|
|
echo "=== TG WS Proxy — установка для Linux ==="
|
|
echo "Каталог установки: $INSTALL_DIR"
|
|
echo ""
|
|
|
|
# Системные зависимости
|
|
echo "Проверка системных зависимостей..."
|
|
for pkg in python3 python3-venv python3-tk; do
|
|
if ! dpkg -l "$pkg" &>/dev/null 2>/dev/null; then
|
|
echo " Требуется: $pkg"
|
|
echo " Установите: sudo apt install $pkg"
|
|
MISSING=1
|
|
fi
|
|
done
|
|
if [ -n "$MISSING" ]; then
|
|
echo ""
|
|
read -p "Продолжить без установки недостающих пакетов? (y/N) " -n 1 -r
|
|
echo
|
|
[[ ! $REPLY =~ ^[Yy]$ ]] && exit 1
|
|
fi
|
|
|
|
# Копирование файлов
|
|
echo ""
|
|
echo "Копирование файлов..."
|
|
mkdir -p "$INSTALL_DIR"
|
|
cp -r "$ROOT/proxy" "$INSTALL_DIR/"
|
|
cp "$ROOT/linux.py" "$INSTALL_DIR/"
|
|
cp "$ROOT/requirements.txt" "$INSTALL_DIR/"
|
|
|
|
# Создание venv
|
|
echo "Создание виртуального окружения..."
|
|
cd "$INSTALL_DIR"
|
|
python3 -m venv .venv
|
|
.venv/bin/pip install -q --upgrade pip
|
|
.venv/bin/pip install -q -r requirements.txt
|
|
|
|
# Launcher
|
|
echo "Создание launcher..."
|
|
cat > "$INSTALL_DIR/run.sh" << 'LAUNCHER'
|
|
#!/bin/bash
|
|
cd "$(dirname "$0")"
|
|
exec .venv/bin/python linux.py
|
|
LAUNCHER
|
|
chmod +x "$INSTALL_DIR/run.sh"
|
|
|
|
# .desktop файл
|
|
echo "Установка .desktop файла..."
|
|
mkdir -p "$APPS_DIR"
|
|
sed "s|__INSTALL_DIR__|$INSTALL_DIR|g" "$SCRIPT_DIR/tg-ws-proxy.desktop" \
|
|
> "$APPS_DIR/tg-ws-proxy.desktop"
|
|
|
|
# Опционально: симлинк в ~/.local/bin
|
|
mkdir -p "$BIN_DIR"
|
|
ln -sf "$INSTALL_DIR/run.sh" "$BIN_DIR/tg-ws-proxy" 2>/dev/null || true
|
|
|
|
echo ""
|
|
echo "=== Установка завершена ==="
|
|
echo ""
|
|
echo "TG WS Proxy установлен. Запуск:"
|
|
echo " • Из меню приложений: найдите «TG WS Proxy»"
|
|
echo " • Из терминала: $INSTALL_DIR/run.sh"
|
|
echo " • Или: ~/.local/bin/tg-ws-proxy (если ~/.local/bin в PATH)"
|
|
echo ""
|
|
echo "Конфигурация: ~/.config/TgWsProxy/config.json"
|
|
echo ""
|