# AARIS VPN Linux 0.1.9 — beta для тестировщиков

Поддерживается Ubuntu 24.04 LTS, amd64 (x86_64), systemd. Это консольное
приложение с фоновой службой; графический интерфейс появится отдельно.
Beta бесплатная, собственный код закрытый. Необходима ваша действующая подписка.
Область beta — AARIS/VLESS и совместимые Xray JSON; полный Auto graph сохраняется.
Hysteria, произвольные mixed/multi-ingress подписки, GUI, Arch, ARM64 и другие
версии Ubuntu/Debian пока вне приёмки. Если весь источник неподдерживаемый,
он отклоняется целиком с объяснением; программа не обещает импорт любого сервиса.

## Установка

Origin: https://apt.aaris.ru, suite noble-testing. Это наш отдельный APT
repository, не официальный Ubuntu archive. Выполняйте в обычной пользовательской
сессии. До запуска bootstrap сверьте hash и fingerprint с присланной вам
доверенной инструкцией: значения с одного скачанного сайта недостаточны при
подмене самого сайта. Bootstrap устанавливает только public keyring/source.

Primary fingerprint:
`7344431C0AF35A7456DD9F054227018BA0355E5B`

Bootstrap SHA-256:
`4b947ae813140e89a2bf621c40374a9411e4f077f0f516afef1bfa9eda267e54`

```sh
sudo apt update
sudo apt install ca-certificates python3 gpgv curl
curl --proto '=https' --tlsv1.2 --fail --show-error --output aaris-vpn-bootstrap-2026.11.13.2.py https://apt.aaris.ru/bootstrap/aaris-vpn-bootstrap-2026.11.13.2.py
echo '4b947ae813140e89a2bf621c40374a9411e4f077f0f516afef1bfa9eda267e54  aaris-vpn-bootstrap-2026.11.13.2.py' | sha256sum -c -
```

Продолжать только при `OK`; затем:

```sh
python3 aaris-vpn-bootstrap-2026.11.13.2.py --expected-primary-fingerprint 7344431C0AF35A7456DD9F054227018BA0355E5B --check-only
sudo python3 aaris-vpn-bootstrap-2026.11.13.2.py --expected-primary-fingerprint 7344431C0AF35A7456DD9F054227018BA0355E5B
sudo apt update
apt-cache policy aaris-vpn
sudo apt install aaris-vpn
aaris-vpn --version
sudo aaris-vpn-admin allow-user "$USER"
```

Версия beta package — `0.1.9~beta.1-2`, приложение сообщает 0.1.9. После allow-user
выйдите из пользовательской сессии и войдите снова для обновления групп.
Администратор допускает одного пользователя; не запускайте CLI от root для
обычной работы. До первого connect VPN выключен, автоподключения после boot нет.

## Подписка и подключение

Чтобы не оставлять URL в истории команд, введите его скрыто в локальном Python
prompt; он будет сохранён в вашем private файле:

```sh
python3 -c 'import getpass,os,pathlib; p=pathlib.Path.home()/".aaris-beta-url"; fd=os.open(p,os.O_WRONLY|os.O_CREAT|os.O_EXCL,0o600); os.write(fd,(getpass.getpass("Subscription URL: ")+"\n").encode()); os.close(fd)'
aaris-vpn add personal --url-file "$HOME/.aaris-beta-url"
aaris-vpn subscriptions
aaris-vpn profiles personal
aaris-vpn select personal 1
aaris-vpn --human account personal
aaris-vpn connect --mode tun
aaris-vpn --human status
aaris-vpn --human diagnostics
```

Номер профиля замените выбранным номером из списка. Используйте личную подписку;
тестовая подписка не поставляется. Передача URL через argv не нужна. При повторе
с существующим private URL-файлом используйте его; команда записи откажет,
чтобы не заменить файл неожиданно. Можно импортировать несколько источников
с разными ID. Имена `personal`/`work` — примеры.

TUN меняет системную сеть машины, поэтому первые проверки удобно делать в
Ubuntu VM с доступом к её консоли. Закрытие терминала не отключает службу.
По окончании:

```sh
aaris-vpn disconnect
```

Не судите об успехе по PID: нужен `vpn_verified` с указанной областью проверки.
Это не гарантия всех сайтов/IPv6/UDP. Постоянного killswitch и непрерывного
универсального leak/UDP monitor сейчас нет; после disconnect обычная сеть
возвращается. После смены сети может потребоваться явный reconnect.

## Что проверить и прислать

1. Установка на чистую Ubuntu, версия и первый запуск обычным пользователем.
2. Импорт своей подписки, список/выбор профиля, понятный отказ неподдерживаемого.
3. Connect: обычные HTTPS сайты, DNS, выбранный профиль и `vpn_verified`.
4. Disconnect: обычный интернет работает; reboot оставляет VPN отключённым.
5. `aaris-vpn --human account personal`, `aaris-vpn --human notices personal`:
   сроки/квоты либо честное отсутствие метаданных провайдера, без тихого отказа.
6. Если есть несколько подписок — независимые сроки и обновление каждой.
7. `sudo apt remove aaris-vpn`, затем установка снова: подписки сохранены.

Окончание подписки/трафика специально покупать или исчерпывать не нужно.
При сбое запишите версию Ubuntu/программы, способ подключения к интернету,
действие, ожидаемый/фактический результат и безопасную диагностику:

```sh
umask 077
aaris-vpn --json diagnostics > aaris-diagnostics.json
```

Контакт: Denis Leonov, leonov.d@edu.aaris.ru. Отправляйте отчёт вручную,
предварительно просмотрев его. URL подписок, UUID/ключи, исходные профили,
state.json, private URL-файл и сырой core/journal output присылать не нужно.
Приложение не отправляет этот отчёт автоматически.

## Обновление и удаление

```sh
sudo apt update
sudo apt install --only-upgrade aaris-vpn aaris-vpn-archive-keyring
```

Сначала сделайте disconnect. Сейчас reinstall той же версии проверен отдельно;
это не доказательство upgrade на ещё не выпущенную следующую версию. При
удалении `sudo apt remove aaris-vpn` личные подписки сохраняются. `purge` также
не является командой уничтожения личных данных. Репозиторий подключён файлом
`/etc/apt/sources.list.d/aaris-vpn-testing.sources`; его можно отключить отдельно.

При ошибке TLS/signature/expired Release не отключайте проверки доверия.
Передайте категорию ошибки автору. APT metadata имеет короткий срок действия,
его продление выполняет сопровождающий вне web host. Независимый аудит,
длительный race/fuzz и широкая матрица ОС ещё не завершены; это ограниченная beta.

## Лицензии и исходники компонентов

Лицензии находятся в `/usr/share/doc/aaris-vpn`. Own code: закрытый,
бесплатные готовые пакеты. Соответствующие исходники изменённого Xray core и
подписанный release manifest доступны с origin по versioned source/release URLs,
указанным в package notices. Это не исходники собственной закрытой части.
