mirror of
https://github.com/okhsunrog/vpnhide.git
synced 2026-05-01 16:12:17 +00:00
Update README for new dashboard UI and fix CI lint
- Rewrite install instructions: app-first flow with Dashboard recommendation - Document per-app L/K/Z layer toggles and Zygisk caveat - Describe full diagnostics system (module status, LSPosed config validation, version mismatch detection, native install recommendation, live protection checks) - Add shell configuration in collapsible section for advanced users - Sync EN and RU versions - Fix signing config crash when keystore.properties is missing (CI lint job)
This commit is contained in:
parent
14af7b7ec4
commit
f66ef2e638
3 changed files with 117 additions and 63 deletions
85
README.ru.md
85
README.ru.md
|
|
@ -25,59 +25,86 @@ vpnhide решает обе проблемы двухуровневой архи
|
|||
|
||||
## Какие модули нужны?
|
||||
|
||||
Всегда нужен **lsposed** (уровень Java API) плюс один нативный модуль:
|
||||
Всегда нужно **приложение VPN Hide** (`vpnhide-lsposed.apk`) плюс один нативный модуль. Вкладка **«Обзор»** в приложении определит ваше устройство и порекомендует нужный:
|
||||
|
||||
- **`kmod` + `lsposed`** (рекомендуется) — полностью out-of-process, невидим для anti-tamper. Требуется поддерживаемое GKI-ядро (см. ниже).
|
||||
- **`zygisk` + `lsposed`** — используйте, если ваше устройство не поддерживается сборками kmod или если нет возможности установить модуль ядра.
|
||||
- **`kmod`** (рекомендуется) — полностью out-of-process, невидим для anti-tamper. Требуется поддерживаемое GKI-ядро.
|
||||
- **`zygisk`** — используйте, если ваше ядро не поддерживается kmod.
|
||||
|
||||
См. [Установка](#установка) для пошаговой инструкции.
|
||||
|
||||
## Установка
|
||||
|
||||
Скачайте последний релиз из [Releases](https://github.com/okhsunrog/vpnhide/releases).
|
||||
|
||||
### kmod + lsposed (рекомендуется)
|
||||
### Шаг 1 — Приложение VPN Hide + LSPosed
|
||||
|
||||
1. Установите `vpnhide-kmod-<ваш-gki>.zip` через менеджер KernelSU-Next → Модули → Установить из хранилища
|
||||
2. Установите `vpnhide-lsposed.apk` как обычное приложение
|
||||
3. В менеджере LSPosed включите модуль vpnhide и добавьте **«System Framework»** в его область действия
|
||||
4. Перезагрузите устройство (обязательно — хуки LSPosed внедряются в `system_server` при загрузке, поэтому модуль должен быть активен до запуска `system_server`)
|
||||
5. Откройте приложение VPN Hide, предоставьте ему root-доступ (Magisk запросит автоматически; на KernelSU-Next выдайте разрешение вручную в менеджере) и выберите целевые приложения
|
||||
1. Установите `vpnhide-lsposed.apk` как обычное приложение
|
||||
2. В менеджере LSPosed включите модуль VPN Hide и добавьте **«System Framework»** в его область действия
|
||||
3. Перезагрузите устройство (обязательно — хуки LSPosed внедряются в `system_server` при загрузке, поэтому модуль должен быть активен до запуска `system_server`)
|
||||
4. Откройте приложение VPN Hide и предоставьте ему root-доступ (Magisk запросит автоматически; на KernelSU-Next выдайте разрешение вручную в менеджере)
|
||||
|
||||
**Как узнать поколение GKI:**
|
||||
### Шаг 2 — Нативный модуль
|
||||
|
||||
Откройте приложение VPN Hide. На вкладке **«Обзор»** приложение определит ваше устройство и ядро и покажет, какой именно нативный модуль нужно установить:
|
||||
|
||||
- Если ядро поддерживается — будет рекомендован конкретный файл kmod (например, `vpnhide-kmod-android14-6.1.zip`)
|
||||
- Если нет — будет рекомендован модуль zygisk (`vpnhide-zygisk.zip`)
|
||||
|
||||
Установите рекомендованный модуль:
|
||||
- **kmod:** через менеджер KernelSU-Next → Модули → Установить из хранилища
|
||||
- **zygisk:** через менеджер KernelSU-Next или Magisk → Модули
|
||||
|
||||
Перезагрузите устройство после установки нативного модуля.
|
||||
|
||||
### Шаг 3 — Выбор целевых приложений
|
||||
|
||||
Откройте приложение VPN Hide → вкладка **«Приложения»**. Используйте переключатели **L** / **K** / **Z** для управления уровнями защиты каждого приложения (LSPosed, модуль ядра, Zygisk), или нажмите на строку, чтобы переключить все уровни сразу. Нажмите «Сохранить».
|
||||
|
||||
После изменения списка принудительно остановите и перезапустите затронутые приложения — хуки вступают в силу при следующем запуске.
|
||||
|
||||
> **Примечание:** некоторые приложения обнаруживают хуки Zygisk. Для таких приложений оставьте **Z** выключенным и используйте kmod + LSPosed.
|
||||
|
||||
<details>
|
||||
<summary><b>Настройка через командную строку (для продвинутых)</b></summary>
|
||||
|
||||
Редактируйте `/data/adb/vpnhide_kmod/targets.txt`, `/data/adb/vpnhide_zygisk/targets.txt` или `/data/adb/vpnhide_lsposed/targets.txt` напрямую (одно имя пакета на строку). Принудительно остановите и перезапустите затронутые приложения для применения изменений.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Ручной подбор GKI (если хотите выбрать файл kmod самостоятельно)</b></summary>
|
||||
|
||||
1. На телефоне откройте **Настройки → О телефоне** и найдите строку **Версия ядра**. Она выглядит примерно так: `6.1.75-android14-11-g...`
|
||||
2. Вам нужны две части из этой строки: версия ядра (`6.1`) и поколение android (`android14`). Вместе они образуют ваше поколение GKI: `android14-6.1`
|
||||
3. Скачайте соответствующий файл из релиза: `vpnhide-kmod-android14-6.1.zip`
|
||||
|
||||
Также можно выполнить `adb shell uname -r` через ADB, чтобы увидеть ту же строку версии ядра.
|
||||
Также можно выполнить `adb shell uname -r` через ADB, чтобы увидеть строку версии ядра.
|
||||
|
||||
> **Важно:** `android14` в строке ядра — это НЕ версия Android, а поколение ядра. Например, все Pixel с 6 по 9a используют ядро `android14-6.1` вне зависимости от того, стоит ли на них Android 14 или 15. Серия Pixel 10 использует `android16-6.12`.
|
||||
> **Важно:** `android14` в строке ядра — это НЕ версия Android, а поколение ядра. Например, все Pixel с 6 по 9a используют ядро `android14-6.1` вне зависимости от того, стоит ли на них Android 14 или 15.
|
||||
|
||||
### zygisk + lsposed
|
||||
|
||||
1. Установите `vpnhide-zygisk.zip` через менеджер KernelSU-Next или Magisk → Модули
|
||||
2. Установите `vpnhide-lsposed.apk` как обычное приложение
|
||||
3. В менеджере LSPosed включите модуль vpnhide и добавьте **«System Framework»** в его область действия
|
||||
4. Перезагрузите устройство (обязательно — хуки LSPosed внедряются в `system_server` при загрузке)
|
||||
5. Откройте приложение VPN Hide, предоставьте ему root-доступ (Magisk запросит автоматически; на KernelSU-Next выдайте разрешение вручную в менеджере) и выберите целевые приложения
|
||||
|
||||
## Настройка
|
||||
|
||||
**Приложение VPN Hide (рекомендуется):** откройте приложение VPN Hide (устанавливается как `vpnhide-lsposed.apk`) и предоставьте ему root-доступ (Magisk запрашивает автоматически; на KernelSU-Next выдайте разрешение в менеджере). Приложение показывает все установленные приложения с иконками, названиями и поиском. Отметьте приложения, от которых нужно скрыть VPN, нажмите «Сохранить». Работает и с kmod, и с zygisk — автоматически записывает во все нужные файлы через `su`.
|
||||
|
||||
**Командная строка:** редактируйте `/data/adb/vpnhide_kmod/targets.txt` или `/data/adb/vpnhide_zygisk/targets.txt` напрямую (одно имя пакета на строку). Для применения изменений требуется перезагрузка.
|
||||
|
||||
После изменения целей принудительно остановите и перезапустите затронутые приложения — хуки вступают в силу при следующем запуске приложения.
|
||||
</details>
|
||||
|
||||
## Проверка
|
||||
|
||||
Откройте приложение VPN Hide, перейдите на вкладку «Диагностика» и запустите все проверки при активном VPN. Приложение автоматически добавит себя в список целевых. Все 26 проверок должны показать PASS.
|
||||
В приложении есть встроенная система диагностики, которая автоматически обнаруживает большинство проблем с настройкой.
|
||||
|
||||
**Обзор** (запускается при каждом открытии приложения):
|
||||
- Статус модулей для всех трёх уровней (установлен, активен, версия, количество целей)
|
||||
- Валидация конфигурации LSPosed — читает базу данных LSPosed и проверяет, что VPN Hide включён, System Framework в scope, и нет лишних приложений в scope (частая ошибка при настройке)
|
||||
- Обнаружение несоответствия версий — сравнивает версии установленных модулей с версией приложения и подсказывает, что именно нужно обновить
|
||||
- Рекомендация нативного модуля — определяет ядро устройства и подбирает нужный файл kmod, или рекомендует zygisk, если ядро не поддерживается
|
||||
- Проверка защиты в реальном времени (при активном VPN) — выполняет 16 нативных и 5 Java API проверок, чтобы убедиться, что VPN действительно скрыт
|
||||
|
||||
Все обнаруженные проблемы показываются в виде карточек с конкретными инструкциями по исправлению.
|
||||
|
||||
**Диагностика** — детальная разбивка по каждой проверке с индивидуальными результатами PASS/FAIL для всех 26 векторов обнаружения. Полезна для отладки, когда «Обзор» показывает частичную защиту.
|
||||
|
||||
## Компоненты
|
||||
|
||||
| Директория | Что | Как |
|
||||
|---|---|---|
|
||||
| **[kmod/](kmod/)** | Модуль ядра (C) | Хуки `kretprobe` в пространстве ядра. Нулевой след в процессе приложения. ([подробнее](kmod/README.md)) |
|
||||
| **[lsposed/](lsposed/)** | LSPosed-модуль + приложение (Kotlin + Rust) | Хуки `writeToParcel` в `system_server` для per-UID фильтрации Binder. APK служит для выбора целей, диагностики (26 проверок) и управления модулями. ([подробнее](lsposed/README.md)) |
|
||||
| **[lsposed/](lsposed/)** | LSPosed-модуль + приложение (Kotlin + Rust) | Хуки `writeToParcel` в `system_server` для per-UID фильтрации Binder. APK предоставляет обзорную панель (статус модулей, проверка версий, валидация конфигурации LSPosed, рекомендации по установке), поуровневое управление приложениями и диагностику. ([подробнее](lsposed/README.md)) |
|
||||
| **[zygisk/](zygisk/)** | Zygisk-модуль (Rust) | Inline-хуки `libc.so` в процессе приложения. Альтернатива kmod. ([подробнее](zygisk/README.md)) |
|
||||
|
||||
## Покрытие обнаружения
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue