# OnlyUs for Android

Официальный Android-клиент сервиса OnlyUs. Приложение предоставляет единый
интерфейс для подключения через AmneziaWG, Xray и режим ограниченной сети на
базе WDTT.

## Границы открытого проекта

Этот репозиторий содержит Android-клиент и материалы, необходимые для его
сборки. Сервер OnlyUs, сайт, платёжная система, база пользователей,
инфраструктурные конфигурации и эксплуатационные секреты в него не входят.

Доступ к инфраструктуре OnlyUs определяется сервером. Модификация клиента не
предоставляет подписку и не даёт доступа к серверам OnlyUs.

## Лицензия

Android-клиент OnlyUs распространяется на условиях GNU General Public License
version 3.0 (`GPL-3.0-only`). Полный текст GPLv3 уже включён в
дерево исходников: `third_party/wdtt/LICENSE`.

Отдельные компоненты сохраняют собственные совместимые лицензии и уведомления.
Подробности приведены в [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).

Название OnlyUs, логотип и другие элементы бренда не предоставляются по GPL.
См. [TRADEMARKS.md](TRADEMARKS.md).

## Сборка

Требуются:

- JDK 17;
- Android SDK 36;
- Android NDK `26.1.10909125`;
- исходники и нативные артефакты сторонних компонентов, перечисленные в
  `THIRD_PARTY_NOTICES.md`.

Windows:

```powershell
$env:JAVA_HOME='C:\Program Files\Android\Android Studio\jbr'
$env:ANDROID_HOME="$env:LOCALAPPDATA\Android\Sdk"
.\gradlew.bat :app:assembleDebug
```

Debug APK создаётся в `app/build/outputs/apk/debug/`.

Release-сборка:

```powershell
.\gradlew.bat :app:bundleRelease
```

Ключ подписи и параметры подписи не входят в репозиторий. Официальные сборки
OnlyUs подписываются отдельным закрытым upload key.

## Безопасность

Не публикуйте в issue реальные конфигурации VPN, токены авторизации, пароли,
приватные ключи и данные пользователей. Порядок сообщения об уязвимостях
описан в [SECURITY.md](SECURITY.md).

## Воспроизводимость WDTT

Текущий `app/src/main/jniLibs/arm64-v8a/libwdtt.so` побайтно совпадает со
сборкой из `third_party/wdtt`. Это чистый снимок
`amurcanov/proxy-turn-vk-android` на коммите
`0a269b3ee148110485f21cd9f6005922e15c8f76`.

Снимок соответствующих исходников распространяется в одном дереве с OnlyUs.
Точная процедура обновления и сборки описана в `third_party/README.md`.
