# PRO1VPN для Linux 0.3.23-alpha.1 — ALPHA

Альфа-версия для предварительного тестирования.

Отдельная Linux x64 версия на основе Windows-клиента 0.3.23. Сохранены интерфейс,
светлая/тёмная темы, официальный импорт подписки, кабинет, пулы серверов,
закрепление выхода, смена сервера, исключения сайтов/приложений и диагностика.
Включены Linux Xray 26.3.27, sing-box 1.14.2 и Electron 44.5.1.
Windows-файлы и драйвер Wintun не используются.

## Установка на Ubuntu/Debian x64

```sh
sudo apt install ./PRO1VPN-0.3.23-alpha.1-Linux-amd64.deb
pro1vpn
```

Запускайте приложение от обычного пользователя графического сеанса.
Установщик выдаёт только sing-box сетевые capabilities CAP_NET_ADMIN и
CAP_NET_RAW; Electron работает без root, с включённой песочницей.
Системе нужен доступный `/dev/net/tun`. Меню приложений содержит PRO1VPN,
ссылки `pro1vpn://` открываются через зарегистрированный обработчик.

## Linux-архив для других дистрибутивов

Распакуйте `PRO1VPN-0.3.23-alpha.1-Linux-x64.tar.gz` целиком в отдельную папку.
В этой папке выполните `sudo ./install.sh`, затем запустите `pro1vpn` обычным
пользователем. Нужны графические библиотеки Electron и `setcap`: пакет
`libcap2-bin` в Debian/Ubuntu, `libcap` в Fedora/Arch.
Установка копирует программу в `/opt/PRO1VPN` и создаёт ярлык.
Архив требует установки для TUN: копирование файла или обычная распаковка
не сохраняют необходимые capabilities.

## Использование

Откройте «Подписка», войдите в кабинет или вставьте официальную HTTPS-ссылку
`sub.pro1technology.ru`. Выберите сервер и подключитесь. Доступны TUN-стеки
mixed/system/gvisor. Правила приложений принимают имя процесса Linux
(например `firefox`) либо абсолютный путь (`/usr/bin/firefox`).
Поиск процессов имеет ограничения разрешений Linux: приложения других
пользователей и из некоторых контейнеров могут не распознаваться.

Закрытие окна сворачивает приложение в трей. Для полного выхода используйте
«Выйти» в его меню или Ctrl+Q. На GNOME для видимости трея может понадобиться поддержка
AppIndicator. При невозможности создать трей закрытие окна завершает клиент.
При нормальном отключении sing-box удаляет свои маршруты и TUN. Отдельный
непривилегированный supervisor останавливает ядра при завершении сетевого
worker, включая его аварийное завершение. SIGKILL самого supervisor и сбои
ОС не дают гарантии корректной очистки маршрутов; перезагрузка очищает
непостоянные интерфейсы/маршруты. Клиент не изменяет системный прокси.

Настройки хранятся отдельно от Windows: `~/.config/pro1vpn-linux/`.
При доступном GNOME Keyring/KWallet используется Electron safeStorage.
Без системного хранилища секретов используется явно помеченный открытый файл
с правами 0600 в каталоге 0700; это не шифрование. После появления keyring
следующее сохранение переводит файл на шифрование.

Обновляйте установкой нового Linux-пакета: настройки сохраняются.
Канал обновлений Windows не используется. Linux-автообновления пока не
настроены. Диагностические отчёты используют исходный сервер PRO1VPN;
приёмник поддерживает версии с суффиксом alpha.

## Сборка

```sh
npm ci
npx playwright install chromium  # для проверки интерфейса
npm run fetch-runtime
npm test
npm run test:ui
npm run build:linux
```

Контрольные суммы исходных архивов закреплены в `scripts/fetch-runtime.py`;
проверка SHA256 выполняется до извлечения. Перед упаковкой создаётся манифест
целостности Linux-компонентов. Пакеты находятся в `artifacts/`.
Подробности проведённых проверок — в `release/0.3.23-alpha.1-linux.txt`.
