A cross-platform VPN client. Bring your own subscription and connect through modern, privacy-focused protocols. Pick a different server for any site or app — no limit on how many.
Route any site or app to its own server. Pick a rule — by domain, app, country, or IP — and send it through a specific server from any subscription. No cap on how many at once.
19 proxy protocols — VLESS Reality, Hysteria2, NaiveProxy, TUIC, Trojan, ShadowTLS, AnyTLS, Shadowsocks, WireGuard, AmneziaWG, Mieru, DNSTT, SSH, SOCKS, OLCRTC, UTProto (our own), and more. HTTP proxies work inside a config file.
Encrypted subscription links — open PIN-protected inhive://sub links from your provider. The raw URL never shows up in chat history.
Backup subscription endpoints — your provider can publish backup URLs. If the main one is blocked, the app switches automatically.
Secure environment (Android) — built-in setup for an Android work profile: move apps that don't like VPNs into a separate space. Settings → Protection.
Traffic obfuscation — make your connection harder to spot: browser-like fingerprint, split first packet, QUIC off. Turn on what your network needs in Settings → Traffic obfuscation.
Privacy by design — no accounts, no telemetry, no tracking. Your subscription URL stays on your device.
Key features
Any rule, its own server
Pick a rule — by domain, app, country, or IP — and send it through a specific server from any subscription. No cap on how many at once.
One-tap Connect
A server is picked for you — one that already worked on this network goes first. On phones everything goes through the tunnel; on computers, apps that use the system proxy.
Bring your own subscription
Paste any link — InHive understands common subscription formats and links for 18 protocols.
Split tunnel
Send apps, sites, IP ranges, whole countries or your own lists around the tunnel — keep banking and government apps on your real connection.
Smart failover
If your server stops responding, the app moves you to a working one — same country first. No background pinging, no swaps for a few milliseconds.
Servers by network
Pick one server for Wi-Fi and another for mobile data. When your phone switches networks, InHive switches servers too.
Subscription links
Add a subscription with one tap from a link. Encrypted links from your provider use inhive://sub and a PIN.
Cross-device QR
Show a subscription as a QR code and scan it with your phone (Android, iOS). On a Mac, read it from a screenshot.
Subscription content: base64-encoded link list (most common), plain link list, Clash YAML, SIP008
Config files: sing-box or Xray JSON, WireGuard/AmneziaWG .conf, AmneziaVPN vpn:// — InHive takes the servers; routing and DNS stay under your settings
Privacy
InHive does not collect personal data. The app does not run VPN servers — it is a client utility. You are responsible for compliance with the laws of your jurisdiction.
Кроссплатформенный VPN-клиент. Подключайтесь через свою подписку и современные приватные протоколы. Выбирайте свой сервер для любого сайта или приложения — без ограничения по количеству.
Свой сервер на любое правило. Выберите правило — по домену, приложению, стране или IP — и отправьте его через конкретный сервер из любой подписки. Без ограничения по количеству одновременно.
19 прокси-протоколов — VLESS Reality, Hysteria2, NaiveProxy, TUIC, Trojan, ShadowTLS, AnyTLS, Shadowsocks, WireGuard, AmneziaWG, Mieru, DNSTT, SSH, SOCKS, OLCRTC, UTProto (наш собственный) и другие. HTTP-прокси — внутри файла конфигурации.
Шифрованные ссылки подписок — открывайте защищённые PIN-кодом ссылки inhive://sub от провайдера. Исходный URL не светится в истории чата.
Резервные адреса подписки — провайдер может опубликовать запасные URL. Если основной заблокирован — приложение само переключится.
Защищённая среда (Android) — встроенная настройка рабочего профиля Android: приложения, которые не любят VPN, живут в отдельном пространстве. Настройки → Защита.
Обфускация трафика — соединение сложнее распознать: отпечаток браузера, разбитый первый пакет, отключённый QUIC. Включите то, что нужно вашей сети, в Настройки → Обфускация трафика.
Приватность by design — без аккаунтов, без телеметрии, без трекинга. URL подписки хранится только на устройстве.
Ключевые возможности
Свой сервер на любое правило
Выберите правило — по домену, приложению, стране или IP — и отправьте его через конкретный сервер из любой подписки. Без ограничения по количеству одновременно.
Подключение в одно касание
Сервер выбирается за вас — первым идёт тот, что уже работал в этой сети. На телефонах через туннель идёт всё, на компьютерах — приложения, которые используют системный прокси.
Пускайте приложения, сайты, диапазоны IP, целые страны или свои списки мимо туннеля — банк и Госуслуги остаются на вашем реальном подключении.
Умное переключение
Если сервер перестал отвечать, приложение переносит вас на рабочий — сначала той же страны. Без фоновых пингов и без переключений ради пары миллисекунд.
Серверы по сетям
Выберите один сервер для Wi-Fi, другой — для мобильного интернета. Телефон сменил сеть — InHive сам переключит сервер.
Ссылки на подписки
Добавьте подписку одним нажатием по ссылке. Зашифрованные ссылки от провайдера — inhive://sub с PIN-кодом.
QR между устройствами
Покажите подписку QR-кодом и отсканируйте телефоном (Android, iOS). На Mac — считайте со скриншота.
Поддерживаемые протоколы (19)
VLESS
Reality, XHTTP, XTLS-Vision, WebSocket, gRPC
VMess
Классический V2Ray
Trojan
Классический TLS-прокси
ShadowTLS
Реальный TLS-handshake с публичным хостом
AnyTLS
TLS-in-TLS мультиплексированный транспорт
Shadowsocks
AEAD-шифры, лёгкий и быстрый
NaiveProxy
Chromium TLS-стек (naive+https, naive+quic)
Hysteria
QUIC v1 (legacy, для совместимости)
Hysteria2
QUIC, высокая пропускная способность
TUIC
QUIC, congestion control
WireGuard
Современный UDP-туннель
AmneziaWG
WireGuard с junk-пакетами и фрагментацией
Mieru
Антифингерпринт-транспорт
DNSTT
DNS-туннелирование
UTProto
Наш FakeTLS-транспорт с wire-mimicry в стиле MTProto
SSH
SSH-туннелирование
OLCRTC
Туннель через WebRTC-комнаты видеозвонков
SOCKS
SOCKS5 outbound
HTTP
HTTP CONNECT, только внутри JSON- или Clash-конфига
VLESS
Reality, XHTTP, XTLS-Vision, WebSocket, gRPC
VMess
Классический V2Ray
Trojan
Классический TLS-прокси
ShadowTLS
Реальный TLS-handshake с публичным хостом
AnyTLS
TLS-in-TLS мультиплексированный транспорт
Shadowsocks
AEAD-шифры, лёгкий и быстрый
NaiveProxy
Chromium TLS-стек (naive+https, naive+quic)
Hysteria
QUIC v1 (legacy, для совместимости)
Hysteria2
QUIC, высокая пропускная способность
TUIC
QUIC, congestion control
WireGuard
Современный UDP-туннель
AmneziaWG
WireGuard с junk-пакетами и фрагментацией
Mieru
Антифингерпринт-транспорт
DNSTT
DNS-туннелирование
UTProto
Наш FakeTLS-транспорт с wire-mimicry в стиле MTProto
SSH
SSH-туннелирование
OLCRTC
Туннель через WebRTC-комнаты видеозвонков
SOCKS
SOCKS5 outbound
HTTP
HTTP CONNECT, только внутри JSON- или Clash-конфига
VLESS
Reality, XHTTP, XTLS-Vision, WebSocket, gRPC
VMess
Классический V2Ray
Trojan
Классический TLS-прокси
ShadowTLS
Реальный TLS-handshake с публичным хостом
AnyTLS
TLS-in-TLS мультиплексированный транспорт
Shadowsocks
AEAD-шифры, лёгкий и быстрый
NaiveProxy
Chromium TLS-стек (naive+https, naive+quic)
Hysteria
QUIC v1 (legacy, для совместимости)
Hysteria2
QUIC, высокая пропускная способность
TUIC
QUIC, congestion control
WireGuard
Современный UDP-туннель
AmneziaWG
WireGuard с junk-пакетами и фрагментацией
Mieru
Антифингерпринт-транспорт
DNSTT
DNS-туннелирование
UTProto
Наш FakeTLS-транспорт с wire-mimicry в стиле MTProto
SSH
SSH-туннелирование
OLCRTC
Туннель через WebRTC-комнаты видеозвонков
SOCKS
SOCKS5 outbound
HTTP
HTTP CONNECT, только внутри JSON- или Clash-конфига
Файлы конфигурации: JSON sing-box или Xray, .conf WireGuard/AmneziaWG, vpn:// AmneziaVPN — InHive берёт из них серверы, маршрутизация и DNS остаются по вашим настройкам
Приватность
InHive не собирает персональных данных. Приложение — это клиент-утилита, мы не предоставляем VPN-серверы. Вы сами отвечаете за соблюдение законов своей юрисдикции.
Universal APK (works on any phone), ~310 MB. Requires Android 7.0 (API 24) or later.
Smaller download for most modern phones: InHive-arm64-v8a.apk, ~110 MB. Builds for older 32-bit phones (armeabi-v7a) and x86_64 are on the release page.
Sideload: open the APK from your downloads folder. Android will ask permission for your browser to install apps — allow once.
Universal APK (подходит любому телефону), ~310 МБ. Требуется Android 7.0 (API 24) и новее.
Поменьше для большинства современных телефонов: InHive-arm64-v8a.apk, ~110 МБ. Сборки для старых 32-битных телефонов (armeabi-v7a) и x86_64 — на странице релиза.
Установка: откройте APK из папки загрузок. Android попросит разрешить браузеру устанавливать приложения — разрешите один раз.
Требуется Windows 10 (build 1809) и новее, x86_64.
Установщик создаёт ярлык в меню «Пуск» и регистрирует деинсталлятор.
При первом запуске Windows покажет SmartScreen — нажмите Подробнее → Выполнить в любом случае. Платный сертификат для подписи установщика пока не подключён.
iOS
Закрытая TestFlight-бета — запросите инвайт у @InHive_support_bot. Подача в App Store в очереди.
Требуется iOS 15.0 и новее.
Универсальный бинарь (iPhone, iPad, Apple Silicon Mac через Designed for iPad).
macOS
Скоро. На Mac с Apple Silicon работает iOS-сборка как iPad-приложение (см. iOS выше).
Linux
Планируется. Flutter Linux-сборка с интеграцией через systemd.
This Privacy Policy describes how the InHive application (the "App") for iOS, Android, Windows and macOS processes user data. We follow the principle of data minimization: the App collects only what is strictly necessary for it to function.
The document is written in plain language. If you have questions, please contact support@inhive.ru.
2. Who We Are
The App is developed and maintained by Twilgate Labs.
Contact email: support@inhive.ru
GitHub: https://github.com/TwilgateLabs
3. Scope
This Policy applies exclusively to the behavior of the InHive mobile and desktop app (iOS / Android / Windows / macOS).
This Policy does not cover:
Third-party services or servers the App connects to via a subscription URL supplied by the user;
Websites accessed through the VPN tunnel;
Any external service that is not part of the App.
4. Data the App Processes
4.1. Subscription URL
The user pastes a subscription URL into the App. This URL is obtained externally, outside of the App. The URL is stored locally on the user's device in the operating system's secure storage (Keychain on iOS/macOS, EncryptedSharedPreferences on Android, DPAPI on Windows). We do not receive this URL on our servers, because the App has no servers operated by us for this purpose.
4.2. Device Hardware ID (HWID)
The App generates an anonymous device identifier (HWID) and sends it only to the host specified in the subscription URL when requesting configuration. This is required by the subscription provider to validate the license (device-count limits). HWID contains no personal information and is not transmitted to us.
4.3. Connection State and Settings
VPN connection state, the selected server from the subscription, and user preferences (interface language, theme, kill switch on/off) are stored locally only on the device. They never leave the device.
4.4. Crash Logs
The App does not use third-party crash reporting SDKs (no Firebase Crashlytics, Sentry, Bugsnag, etc.). When the App crashes, no information is sent to us automatically.
4.5. Analytics
The App contains no analytics. No Google Analytics, no Firebase Analytics, no Facebook Pixel, no AppsFlyer, no Adjust, no third-party trackers of any kind. We do not know when or how often you use the App.
5. Data We Do NOT Collect
To be clear, the App does not collect or send us:
Browsing history, DNS queries, traffic content;
User IP addresses (we operate no servers to receive such data in the context of the App);
Geolocation or GPS coordinates;
Contacts, photos, files, camera or microphone access;
Name, email, phone number, date of birth;
Advertising identifiers (IDFA on iOS, AAID on Android);
List of installed applications;
Accelerometer, gyroscope, biometric data.
6. Third Parties
The App does not share data with third parties, because it does not collect data that could be shared. The App has no integrations with advertising networks, analytics platforms, or social networks.
The only network request the App initiates outside the device is the configuration request to the host specified in the subscription URL (see Sections 4.1–4.2). That host is chosen by the user, not by us.
7. Data Retention
All data processed by the App is stored on the user's device and exists until the App is uninstalled. When the App is uninstalled, the operating system removes all its local data, including the subscription URL and user preferences.
We operate no servers that would store user data in the context of the App.
8. Children's Privacy
InHive does not collect personally identifiable information from anyone — neither children nor adults. Consequently, no personally identifiable information is collected from children under 13.
9. International Data Transfers
Because the App does not transmit user data to our servers, international data transfers do not occur within the App in the sense of any applicable data-protection law (including GDPR Chapter V).
10. Your Rights
Where local data-protection law applies to you (for example GDPR for EU residents, UK GDPR for UK residents, CCPA for California residents), you have the right to:
Access — request what data of yours is being processed;
Rectification — request correction of inaccurate data;
Erasure ("right to be forgotten") — request deletion of your data;
Restriction of processing;
Data portability — receive your data in a machine-readable format;
Object to processing;
Lodge a complaint with your local data-protection authority.
To exercise a right, send a request to support@inhive.ru. We respond within 30 days.
Practical note: because the App stores data locally on your device, exercising most of these rights amounts to uninstalling the App. That is sufficient to fully erase all data the App processes.
11. Security
Local data is protected by the operating system's standard mechanisms:
iOS / macOS — Keychain Services with device-bound encryption;
Android — EncryptedSharedPreferences (AES-256, keys held in Android Keystore);
Windows — Data Protection API (DPAPI), tied to the user account.
Traffic between the device and the server specified in the subscription is encrypted by the VPN protocol (TLS 1.3, ChaCha20-Poly1305, AES-256-GCM).
12. Changes to This Policy
We may update this Policy. Material changes are published on this page with a new effective date. Prior versions are kept available for reference on the same page.
We aim to respond within 7 business days; for data-subject-rights requests (Section 10) within 30 days.
Last updated: 25 September 2026
Политика конфиденциальности InHive
Дата вступления в силу: 25 сентября 2026 г.
Версия: 1.1
1. Введение
Настоящая Политика конфиденциальности описывает, как приложение InHive (далее — «Приложение») для iOS, Android, Windows и macOS обрабатывает данные пользователей. Мы придерживаемся принципа минимизации данных: Приложение собирает только то, что строго необходимо для его работы.
Документ написан простым языком. Если у вас остались вопросы — напишите на support@inhive.ru.
2. Кто мы
Приложение разрабатывает и поддерживает Twilgate Labs.
Контактный email: support@inhive.ru
GitHub: https://github.com/TwilgateLabs
3. Область действия
Эта Политика распространяется исключительно на поведение мобильного и десктопного Приложения InHive (iOS / Android / Windows / macOS).
Политика не распространяется на:
Сторонние сервисы или серверы, к которым Приложение подключается по указанному пользователем URL подписки;
Сайты, открываемые через VPN-туннель;
Любые внешние сервисы, не являющиеся частью Приложения.
4. Какие данные обрабатывает Приложение
4.1. URL подписки (subscription URL)
Пользователь самостоятельно вставляет в Приложение URL подписки, полученный извне. Этот URL хранится локально на устройстве пользователя в защищённом хранилище операционной системы (Keychain на iOS/macOS, EncryptedSharedPreferences на Android, DPAPI на Windows). Мы не передаём этот URL на наши серверы, потому что у Приложения нет наших серверов для приёма таких данных.
4.2. Аппаратный идентификатор устройства (Hardware ID, HWID)
Приложение генерирует анонимный идентификатор устройства (HWID) и отправляет его только на хост, указанный в URL подписки, при запросе конфигурации. Это необходимо провайдеру подписки для проверки лицензии (ограничение количества устройств). HWID не содержит персональных данных и не передаётся нам.
4.3. Состояние подключения и настройки
Состояние VPN-соединения, выбранный сервер из подписки, пользовательские настройки (язык интерфейса, тема оформления, kill switch on/off) хранятся только локально на устройстве. Они не покидают устройство.
4.4. Журналы сбоев (crash logs)
Приложение не использует сторонние SDK для сбора crash-отчётов (нет Firebase Crashlytics, Sentry, Bugsnag и т. п.). При сбое Приложения никакая информация о сбое не отправляется нам автоматически.
4.5. Аналитика
Приложение не содержит систем аналитики. Нет Google Analytics, Firebase Analytics, Facebook Pixel, AppsFlyer, Adjust или любых других трекеров. Мы не знаем, когда и как часто вы используете Приложение.
5. Какие данные мы НЕ собираем
Мы хотим, чтобы это было совершенно ясно. Приложение не собирает и не передаёт нам:
Историю посещений сайтов, DNS-запросы, содержимое трафика;
IP-адреса пользователей (у нас нет серверов для приёма таких данных в контексте Приложения);
Геолокацию, координаты GPS;
Контакты, фотографии, файлы, доступ к камере или микрофону;
Имя, email, номер телефона, дату рождения;
Рекламные идентификаторы (IDFA на iOS, AAID на Android);
Историю установленных приложений;
Данные акселерометра, гироскопа, биометрии.
6. Третьи стороны
Приложение не передаёт данные третьим сторонам, потому что не собирает данные, которые можно было бы передать. У Приложения нет интеграций с рекламными сетями, аналитическими платформами или социальными сетями.
Единственный сетевой запрос за пределы устройства, инициируемый Приложением, — это запрос конфигурации к хосту из URL подписки (см. п. 4.1–4.2). Этот хост определяется пользователем, а не нами.
7. Хранение данных
Все данные, обрабатываемые Приложением, хранятся на устройстве пользователя и существуют до момента удаления Приложения. При удалении Приложения операционная система удаляет все его локальные данные, включая URL подписки и пользовательские настройки.
Серверов, на которых мы хранили бы пользовательские данные в рамках Приложения, у нас нет.
8. Конфиденциальность детей
InHive не собирает персонально идентифицируемую информацию ни от кого — ни от детей, ни от взрослых. Следовательно, никакая информация, идентифицирующая личность, не собирается у детей младше 13 лет.
9. Международные передачи данных
Поскольку Приложение не передаёт пользовательские данные на наши серверы, международные передачи данных в рамках Приложения не осуществляются — в том смысле, в котором это понятие определено любым применимым законодательством о защите данных (включая Главу V GDPR).
10. Ваши права
Если к вам применимо местное законодательство о защите данных (например, GDPR для жителей ЕС, UK GDPR для Великобритании, CCPA для Калифорнии), у вас есть право:
Право на доступ — запросить, какие ваши данные обрабатываются;
Право на исправление — потребовать исправления неточных данных;
Право на удаление («право быть забытым») — потребовать удаления ваших данных;
Право на ограничение обработки;
Право на переносимость данных — получить свои данные в машиночитаемом формате;
Право на возражение против обработки;
Право подать жалобу в местный надзорный орган по защите данных.
Чтобы воспользоваться правом, отправьте запрос на support@inhive.ru. Мы ответим в течение 30 дней.
Практическое замечание: поскольку Приложение хранит данные локально на вашем устройстве, реализация большинства этих прав сводится к удалению Приложения с устройства. Этого достаточно для полного удаления всех данных, которые Приложение обрабатывает.
11. Безопасность
Локальные данные защищены штатными средствами операционной системы:
iOS / macOS — Keychain Services с device-bound шифрованием;
Android — EncryptedSharedPreferences (AES-256, ключи в Android Keystore);
Windows — Data Protection API (DPAPI), привязанное к учётной записи пользователя.
Трафик между устройством и сервером, указанным в подписке, шифруется средствами VPN-протокола (TLS 1.3, ChaCha20-Poly1305, AES-256-GCM).
12. Изменения политики
Мы можем обновлять эту Политику. Существенные изменения публикуются на этой странице сайта с новой датой вступления в силу.
Мы стараемся ответить в течение 7 рабочих дней; для запросов, связанных с правами субъекта данных (раздел 10), — в течение 30 дней.
Дата последнего обновления: 25 сентября 2026 г.
InHive Terms of Service
Effective date: 25 September 2026
Version: 1.1
1. Acceptance of Terms
By installing or using the InHive application (the "App") on iOS, Android, Windows, or macOS, you agree to these Terms of Service (the "Terms"). If you do not agree with any part of these Terms, do not use the App.
These Terms are supplemented by the Privacy Policy, which is incorporated by reference.
2. Description of Service
InHive is a free universal VPN client. The App itself:
Does not provide VPN servers;
Does not sell anything through the App and contains no in-app commerce;
Connects to servers whose configuration is described in a subscription URL;
Encrypts network traffic between the user's device and the server using modern VPN protocols (VLESS, Reality, Trojan, NaiveProxy, Hysteria2).
The user obtains the subscription URL independently from an external source and pastes it into the App.
Descriptions, guides and documentation on the website refer to the current (latest released) version of the App; earlier versions may have different screens and settings.
3. License Grant
The developer grants you a limited, non-exclusive, non-transferable, revocable license to use the App for personal, non-commercial purposes on devices that you own or control.
The App is proprietary software. The source code is not published. The license does not grant you the right to:
Decompile, disassemble, or otherwise attempt to extract the source code (except as expressly permitted by law);
Use the App for commercial resale;
Remove or alter copyright notices;
Create derivative works based on the App.
4. User Responsibilities
By using the App you agree to:
Comply with the laws of your jurisdiction;
Not use the App for unlawful activity;
Be solely responsible for the content of traffic passing through the VPN tunnel;
Use up-to-date versions of the App to maintain security.
5. Prohibited Uses
You must not use the App for:
Activity that violates applicable law;
Distribution of malware;
Attacks on third-party network infrastructure;
Infringement of intellectual property rights;
Activity that violates the terms of services accessed via the VPN tunnel.
6. Third-Party Content and Services
Subscription URLs and servers the App connects to are provided by third parties (subscription providers) unrelated to the App developer. The developer:
Does not control and is not responsible for the operation, policies, or terms of such third-party services;
Does not guarantee availability, speed, or quality of connection to servers specified in a subscription;
Recommends that the user independently verify the trustworthiness and reputation of the subscription provider before using its URL.
7. No Warranty
The App is provided "AS IS" without warranty of any kind, express or implied, including but not limited to:
Warranty of fitness for a particular purpose;
Warranty of uninterrupted operation;
Warranty of error-free operation;
Warranty of compatibility with specific devices or operating system versions.
To the extent permitted by applicable law, the developer disclaims all warranties, express or implied.
8. Limitation of Liability
To the maximum extent permitted by applicable law, the developer is not liable for:
Indirect, incidental, punitive, or consequential damages;
Lost profits, lost data, loss of reputation;
Any damages exceeding the amount paid by the user for the App (which, for a free App, is zero).
This limitation does not apply where it conflicts with mandatory provisions of applicable law — in particular, nothing in these Terms limits liability for intent or gross negligence to the extent such limitation is prohibited by the law applicable to you.
9. Intellectual Property
All rights to the App, its source code, design, trademarks, documentation, and other elements belong to the developer. Use of the App does not transfer any intellectual property rights to the user, except the license described in Section 3.
Third-party libraries used in the App are governed by their own licenses (a full list is available on request at support@inhive.ru).
10. Termination
You may stop using the App at any time by uninstalling it from your device. Upon uninstall, local data is wiped by the operating system.
The developer may unilaterally discontinue distribution of the App, updates, or support without prior notice.
11. Changes to These Terms
The developer may update these Terms. Material changes are published on this page with a new effective date. Continued use of the App after publication of the updated Terms constitutes acceptance.
12. Governing Law and Dispute Resolution
These Terms are governed by the law of the developer's principal place of establishment, unless mandatory consumer-protection rules of the user's country of residence apply. In that case, those mandatory rules take precedence over these Terms to the extent of the conflict.
Disputes arising from these Terms or the use of the App are resolved through good-faith negotiation first; if that fails, in the courts having jurisdiction under the applicable law referenced above.
Дата вступления в силу: 25 сентября 2026 г.
Версия: 1.1
1. Принятие условий
Устанавливая или используя приложение InHive (далее — «Приложение») для iOS, Android, Windows или macOS, вы соглашаетесь с настоящими Условиями использования (далее — «Условия»). Если вы не согласны с какой-либо частью Условий, не используйте Приложение.
InHive — это бесплатный универсальный VPN-клиент. Приложение само по себе:
Не предоставляет VPN-серверы;
Не продаёт через себя никаких товаров и не содержит встроенной коммерции;
Подключается к серверам, конфигурация которых описана в URL подписки;
Шифрует сетевой трафик между устройством пользователя и сервером средствами современных VPN-протоколов (VLESS, Reality, Trojan, NaiveProxy, Hysteria2).
URL подписки пользователь получает самостоятельно из внешнего источника и вставляет в Приложение.
Описания, инструкции и документация на сайте относятся к актуальной (последней выпущенной) версии Приложения; в более ранних версиях экраны и настройки могут отличаться.
3. Лицензия на использование
Разработчик предоставляет вам ограниченную, неисключительную, непередаваемую, отзывную лицензию на использование Приложения в личных, некоммерческих целях на устройствах, которые принадлежат вам или находятся под вашим контролем.
Приложение является проприетарным программным обеспечением. Исходный код Приложения не публикуется. Лицензия не предоставляет права:
Декомпилировать, дизассемблировать или иным образом пытаться извлечь исходный код Приложения (за исключением случаев, прямо разрешённых законом);
Использовать Приложение для коммерческой перепродажи;
Удалять или изменять уведомления об авторских правах;
Создавать производные работы на основе Приложения.
4. Обязанности пользователя
Используя Приложение, вы обязуетесь:
Соблюдать законодательство юрисдикции, в которой вы находитесь;
Не использовать Приложение для незаконной деятельности;
Самостоятельно нести ответственность за содержание трафика, проходящего через VPN-туннель;
Использовать актуальные версии Приложения для обеспечения безопасности.
5. Запрещённое использование
Запрещается использовать Приложение для:
Деятельности, нарушающей применимое законодательство;
Распространения вредоносного программного обеспечения;
Атак на сетевую инфраструктуру третьих лиц;
Нарушения прав интеллектуальной собственности;
Действий, нарушающих условия использования сервисов, к которым осуществляется доступ через VPN-туннель.
6. Сторонний контент и сервисы
URL подписки и серверы, к которым подключается Приложение, предоставляются третьими лицами (провайдерами подписок), не связанными с разработчиком Приложения. Разработчик:
Не контролирует и не несёт ответственности за работоспособность, политику и условия использования таких сторонних сервисов;
Не гарантирует доступность, скорость или качество соединения с серверами, указанными в подписке;
Рекомендует пользователю самостоятельно проверять надёжность и репутацию провайдера подписки перед использованием его URL.
7. Отсутствие гарантий
Приложение предоставляется «КАК ЕСТЬ» (AS IS) без каких-либо явных или подразумеваемых гарантий, включая, но не ограничиваясь:
Гарантии соответствия конкретным целям;
Гарантии бесперебойной работы;
Гарантии отсутствия ошибок;
Гарантии совместимости с конкретными устройствами или версиями операционных систем.
В пределах, разрешённых применимым законодательством, разработчик отказывается от всех гарантий, явных или подразумеваемых.
8. Ограничение ответственности
В максимальной степени, разрешённой применимым законодательством, разработчик не несёт ответственности за:
Косвенные, случайные, штрафные или последующие убытки;
Упущенную выгоду, потерю данных, потерю репутации;
Любые убытки, превышающие сумму, уплаченную пользователем за Приложение (которая для бесплатного Приложения равна нулю).
Это ограничение не применяется в случаях, когда оно противоречит обязательным нормам применимого законодательства — в частности, ничто в настоящих Условиях не ограничивает ответственность за умысел и грубую неосторожность в той мере, в которой такое ограничение запрещено законодательством, применимым к вам.
9. Интеллектуальная собственность
Все права на Приложение, его исходный код, дизайн, торговые марки, документацию и иные элементы принадлежат разработчику. Использование Приложения не передаёт пользователю никаких прав интеллектуальной собственности, кроме лицензии, описанной в Разделе 3.
Сторонние библиотеки, используемые в Приложении, регулируются их собственными лицензиями (полный список доступен по запросу на support@inhive.ru).
10. Прекращение использования
Вы можете в любой момент прекратить использование Приложения, удалив его с устройства. После удаления Приложения локальные данные стираются операционной системой.
Разработчик может прекратить распространение Приложения, обновлений или поддержки в одностороннем порядке без предварительного уведомления.
11. Изменения Условий
Разработчик может обновлять настоящие Условия. Существенные изменения публикуются на этой странице сайта с новой датой вступления в силу. Продолжение использования Приложения после публикации обновлённых Условий означает согласие с ними.
12. Применимое право и разрешение споров
Настоящие Условия регулируются законодательством места основной деятельности разработчика, если иное не предусмотрено императивными нормами потребительской защиты вашей страны проживания. В таком случае эти императивные нормы имеют приоритет над настоящими Условиями в части противоречия.
Споры, возникающие из настоящих Условий или в связи с использованием Приложения, сначала разрешаются путём добросовестных переговоров; при недостижении соглашения — в судах, обладающих юрисдикцией согласно применимому праву, указанному выше.
InHive is a free cross-platform VPN client. You bring your own VPN server through a subscription link or pasted config, and the app connects you to it.
The app speaks 19 proxy protocols, including VLESS with Reality, Hysteria2, NaiveProxy, TUIC, Trojan, WireGuard, AmneziaWG and our own UTProto.
What InHive is not
InHive does not run VPN servers. Your subscription comes from whoever provides it — a friend, a paid service, or your own setup. The app keeps your subscription link on the device and never sends it to analytics.
Platforms
Windows and Android — available now.
iOS — in TestFlight (also runs on Apple Silicon Macs).
macOS (native) and Linux — in development.
Что такое InHive?
InHive — бесплатный кроссплатформенный VPN-клиент. Вы приносите свой VPN-сервер через ссылку-подписку или вставленный конфиг, а приложение к нему подключается.
Приложение работает с 19 прокси-протоколами: VLESS с Reality, Hysteria2, NaiveProxy, TUIC, Trojan, WireGuard, AmneziaWG и наш собственный UTProto.
Чем InHive не является
Мы не держим VPN-серверы. Подписку даёт тот, кто её предоставляет — друг, платный сервис или ваша собственная установка. Ссылка подписки остаётся на устройстве и не отправляется в аналитику.
Платформы
Windows и Android — доступны сейчас.
iOS — в TestFlight (запускается и на Mac с Apple Silicon).
macOS (нативная сборка) и Linux — в разработке.
How to download InHive
Get InHive from official channels only. Each platform has its own way:
On Windows
Download InHive-setup.exe from the GitHub releases page and run it. The installer adds the app and a shortcut; the first VPN-mode connection asks for administrator rights — that is for the network adapter.
On Android
Download InHive.apk from the releases page, open the file and tap Install. If the phone asks about unknown sources, allow it for this file.
Google Play release is coming.
On iOS
InHive is in closed TestFlight beta. To get an invite, message @InHive_support_bot. App Store submission is pending — see news for updates.
On macOS
In development. Mac App Store release is planned alongside the iOS public release.
On Linux
Planned. No public build yet.
Stay safe
Only download from the official GitHub releases or links on the InHive website. Builds from other sources may be tampered with.
Как скачать InHive
Скачивайте InHive только из официальных каналов. Для каждой платформы свой путь.
На Windows
Скачайте InHive-setup.exe со страницы релизов на GitHub и запустите. Установщик поставит приложение и ярлык; при первом подключении в режиме VPN Windows попросит права администратора — это нужно для сетевого адаптера.
На Android
Скачайте InHive.apk со страницы релизов, откройте файл и нажмите «Установить». Если телефон спросит про установку из неизвестных источников — разрешите для этого файла.
Релиз в Google Play скоро.
На iOS
Закрытая бета через TestFlight. Чтобы получить инвайт — напишите @InHive_support_bot. Подача в App Store — в очереди, следите за новостями.
На macOS
В разработке. Релиз в Mac App Store запланирован вместе с публичным iOS.
На Linux
Запланировано. Публичной сборки пока нет.
Безопасность
Скачивайте только с официального GitHub releases или ссылок с сайта InHive. Сборки из других источников могут быть подменены.
Adding a subscription
A subscription is a link that returns a list of servers. Add one and you're ready to connect.
Add it from the clipboard
Copy the subscription link.
Tap + on the Home page.
Choose From clipboard. The app adds the subscription and loads its servers.
Other options in the + menu
Manually — paste or type the link, set a name if you want, and tap Add.
Import from file — pick a .conf file (WireGuard, AmneziaWG), a JSON config or a list of links. The servers go to your own configs.
Server builder — create one server by hand: pick a protocol and fill in the fields.
Scan QR (Android, iOS) — point the camera at a QR code.
QR from file (Android, iOS, macOS) — pick a picture that contains a QR code.
AmneziaVPN vpn:// links and .vpn files work too.
Open a link
Tap an inhive://import?sub=… link in your browser or messenger. The subscription is added right away. An encrypted inhive://sub link asks for a PIN first.
What happens next
The subscription link stays on your device and goes only to the subscription server. The app refreshes the server list on the schedule your provider sends. If the provider doesn't send one, automatic refresh is off — refresh by hand, or set an interval on the subscription's page (long-press the subscription).
Как добавить подписку
Подписка — это ссылка, которая возвращает список серверов. Добавьте её, и можно подключаться.
Добавить из буфера обмена
Скопируйте ссылку подписки.
Нажмите + на главном экране.
Выберите Из буфера обмена. Приложение добавит подписку и загрузит серверы.
Другие пункты меню +
Вручную — вставьте или введите ссылку, при желании задайте имя и нажмите Добавить.
Импорт из файла — выберите файл .conf (WireGuard, AmneziaWG), JSON-конфиг или список ссылок. Серверы лягут в «Свои конфиги».
Конструктор сервера — соберите один сервер вручную: выберите протокол и заполните поля.
Сканировать QR (Android, iOS) — наведите камеру на QR-код.
QR из файла (Android, iOS, macOS) — выберите картинку с QR-кодом.
Ссылки AmneziaVPN vpn:// и файлы .vpn тоже подходят.
Открыть ссылку
Нажмите на ссылку вида inhive://import?sub=… в браузере или мессенджере. Подписка добавится сразу. Зашифрованная ссылка inhive://sub сначала спросит PIN.
Что дальше
Ссылка подписки хранится на устройстве и уходит только на сервер подписки. Приложение обновляет список серверов по расписанию, которое присылает провайдер. Если провайдер его не присылает, автообновление выключено — обновляйте вручную или задайте интервал на странице подписки (долгое нажатие на подписку).
Import from a file and AmneziaVPN
Got a config file instead of a link? Tap + → Import from file and pick it: a WireGuard or AmneziaWG .conf, a JSON config, or a text file with links. AmneziaVPN vpn:// links and .vpn files work too — their Xray, WireGuard, AmneziaWG and Shadowsocks configs become regular servers in your own configs. Protocols the app can't run yet, such as OpenVPN, are declined with a message.
Импорт из файла и AmneziaVPN
Вместо ссылки дали файл? Нажмите + → Импорт из файла и выберите его: .conf WireGuard или AmneziaWG, JSON-конфиг или текстовый файл со ссылками. Ссылки AmneziaVPN vpn:// и файлы .vpn тоже подходят — их конфиги Xray, WireGuard, AmneziaWG и Shadowsocks становятся обычными серверами в «Своих конфигах». Протоколы, которые приложение пока не умеет, например OpenVPN, отклоняются с сообщением.
Settings recommended by your provider
Some subscription providers can send along a set of recommended app settings — traffic disguise, DNS, network mode — tuned for their servers, and a list of addresses that should open directly, without the VPN. You always see what's being suggested before anything changes.
When you'll see it
The first time you add or refresh a subscription that includes recommended settings, a dialog lists them by name — for example "Traffic disguise: on", "DNS: 1.1.1.1". Nothing is applied yet.
Applying or skipping
Tap Apply to apply every listed setting and rule.
Tap Servers only to keep your current settings — the subscription still works normally, only the recommendations are ignored.
Addresses that open directly
If the provider suggests sites that should skip the VPN — a bank, for example — the dialog lists them under Routing. After you tap Apply, those sites open from your real IP address. The rules work only while you use this subscription, disappear when you delete it, and your own rules always win. You'll find them in Split routing under From the subscription provider, where you can remove them.
You can change your mind later in Settings; accepting a preset doesn't lock those settings in place.
The dialog appears again only if the provider updates its recommendation. Day-to-day subscription refreshes don't re-ask you.
Is it safe?
The provider can only suggest settings — connection tuning like traffic disguise, DNS, and network mode — and addresses that open directly. It cannot install anything, change what servers you connect to on its own, or read data from your device. It's the same trust you already place in a subscription when you add it: the provider controls the servers you connect through either way.
If a suggested value is invalid, the app ignores that one setting and applies the rest — nothing about a bad suggestion can break your setup outright. Rejected suggestions are logged in the Logs tab (Expert mode) if you want to see why.
Некоторые провайдеры подписок присылают вместе с серверами набор рекомендованных настроек приложения — маскировку трафика, DNS, сетевой режим — подобранных под их серверы, и список адресов, которые должны открываться напрямую, без VPN. Вы всегда видите, что предлагается, до того как что-либо меняется.
Когда это увидите
При первом добавлении или обновлении подписки, в которой есть рекомендованные настройки, появляется диалог со списком — например «Маскировка трафика: включить», «DNS: 1.1.1.1». Пока ничего не применено.
Применить или пропустить
Нажмите Применить, чтобы применить все настройки и правила из списка.
Нажмите Только серверы, чтобы оставить свои настройки — подписка будет работать как обычно, пропущены будут только рекомендации.
Адреса, которые открываются напрямую
Если провайдер предлагает сайты, которые должны идти мимо VPN, — например банк, — диалог показывает их в разделе Маршрутизация. После «Применить» эти сайты открываются с вашего настоящего IP-адреса. Правила действуют, только пока вы пользуетесь этой подпиской, удаляются вместе с ней, а ваши собственные правила всегда важнее. Они видны в «Разделении трафика» в блоке От поставщика подписки — там их можно убрать.
Изменить решение можно позже в Настройках — принятие пресета не закрепляет эти настройки намертво.
Диалог появится снова только если провайдер обновит рекомендации. Обычные обновления подписки повторно не спрашивают.
Это безопасно?
Провайдер может только предложить настройки — маскировку трафика, DNS, сетевой режим — и адреса, которые откроются напрямую. Он не может ничего установить, самостоятельно сменить сервер, к которому вы подключаетесь, или прочитать данные с вашего устройства. Это то же доверие, которое вы и так оказываете подписке, когда добавляете её, — провайдер и так контролирует серверы, через которые вы подключаетесь.
Если предложенное значение некорректно, приложение проигнорирует именно его и применит остальные — одна плохая рекомендация не может сломать всю настройку. Отклонённые предложения видно во вкладке «Логи» (экспертный режим), если хочется понять причину.
The big button on the Home page connects and disconnects.
Tap once — the app picks a server and starts the tunnel.
Tap again — disconnect.
How the auto-pick works
The app connects right away. It doesn't make you wait while every server is pinged: if a server already worked on this kind of network (Wi-Fi or mobile data), it goes first, and measuring happens in the background.
While you're connected, the app checks the current server when something changes — you open the app, the phone switches networks, or the connection comes back. If the server stopped responding, the app moves you to a working one, trying servers in the same country first. See Auto-failover and ping.
Choose a country
In the simple layout, tap the card at the bottom of the Home page to pick a location. The list shows which countries answer on the network you're on right now.
Pick a server yourself
Open Settings → UI mode and choose Expert. The full server list appears on the Home page, and you can tap any server.
Подключение в один тап
Большая кнопка на главном экране отвечает за подключение и отключение.
Один тап — приложение выбирает сервер и запускает туннель.
Повторный тап — отключение.
Как работает авто-выбор
Приложение подключается сразу и не заставляет ждать, пока пропингуются все серверы: если какой-то сервер уже работал в сети такого типа (Wi-Fi или мобильный интернет), он идёт первым, а замеры идут в фоне.
Пока вы подключены, приложение проверяет текущий сервер, когда что-то меняется: вы открыли приложение, телефон сменил сеть, связь вернулась. Если сервер перестал отвечать, приложение переносит вас на рабочий — сначала пробует серверы той же страны. См. Авто-переключение и пинг.
Выбрать страну
В простом режиме нажмите на карточку внизу главного экрана, чтобы выбрать локацию. Список показывает, какие страны отвечают в сети, где вы сейчас.
Выбрать сервер вручную
Откройте Настройки → Режим интерфейса и выберите Экспертный. На главном экране появится весь список серверов, и можно выбрать любой.
Choosing a server
Open Settings → UI mode and choose Expert to see the full server list with a ping reading for each one. Tap any server to switch to it. Tapping a server turns off Auto-select server, so the app stays where you put it.
Switching while connected
You don't need to disconnect first. The app swaps to the new server in place. A brief 1-2 second pause is normal.
What the list shows
Server name — set by your subscription provider.
Protocol badge — VLESS, Hysteria2, and so on.
Ping — live in milliseconds.
Lower ping usually means lower latency, but actual speed depends on the protocol and the quality of your connection.
Выбор сервера
Откройте Настройки → Режим интерфейса и выберите Экспертный — появится полный список серверов с пингом по каждому. Нажмите на сервер, чтобы переключиться. Тап по серверу выключает Авто выбор сервера, и приложение остаётся там, где вы его поставили.
Переключение во время подключения
Отключаться не нужно. Приложение меняет сервер на лету. Кратковременная пауза в 1-2 секунды — это нормально.
Что показано в списке
Имя сервера — задаётся провайдером подписки.
Бейдж протокола — VLESS, Hysteria2 и так далее.
Пинг — в миллисекундах, обновляется в реальном времени.
Меньший пинг обычно означает меньшую задержку, но реальная скорость зависит от протокола и качества вашего соединения.
Servers by network
Pick which server to use on Wi-Fi and which on mobile data. When your device moves between them, InHive switches servers by itself.
Set it up
Switch to Expert in Settings → UI mode.
Tap the network button in the top-left corner of the Home page.
Tap Own network (Wi-Fi and cable) or Cellular network, and pick a server — or leave App decides.
Picking a server on the Home page also updates the assignment for the network you're on, if one is set. Turn the whole thing off with Switch by network.
How the app tells networks apart
It looks at the kind of connection, not the Wi-Fi name, so it needs no location permission. Every Wi-Fi counts as one "own network".
Without any setup
Even if you assign nothing, the app remembers which server actually worked on each kind of network and tries it first next time. Your own assignment always wins.
Серверы по сетям
Выберите, какой сервер использовать в Wi-Fi, а какой — в мобильной сети. Когда устройство переходит из одной сети в другую, InHive сам переключает сервер.
Как настроить
Выберите «Экспертный» в Настройки → Режим интерфейса.
Нажмите кнопку сетей в левом верхнем углу главного экрана.
Нажмите Своя сеть (Wi-Fi и кабель) или Мобильная сеть и выберите сервер — или оставьте Выбирает приложение.
Выбор сервера на главном экране тоже обновляет назначение для текущей сети, если оно задано. Выключить всё целиком — переключатель Переключение по сети.
Как приложение различает сети
По типу подключения, а не по имени Wi-Fi, поэтому разрешение на геолокацию не нужно. Любой Wi-Fi считается одной «своей сетью».
Без настройки
Даже если ничего не назначать, приложение запоминает, какой сервер реально работал в сети каждого типа, и в следующий раз пробует его первым. Ваше собственное назначение всегда важнее.
Auto-failover and ping
If your server stops responding, InHive moves you to one that works. It doesn't swap servers just because another one pings a little faster.
Turn it on
In Expert mode, use the Auto-select server switch on the Home page. In the simple layout it is always on. Tapping a server in the list turns it off — the app then stays on the server you picked.
When the app checks
No timer runs in the background. The app checks only the current server, and only when something happens: you open the app, the phone moves between Wi-Fi and mobile data, or the network comes back. If the server answers, nothing changes.
What happens when the server is dead
One failed check proves nothing — while the phone hands over from Wi-Fi to mobile data, every check fails for a moment. The app waits for several failures in a row, then looks for a replacement. It tries servers in the same country first, one at a time, and stops at the first one that answers.
With Auto-select off
The app never switches on its own. If the server stops responding, the Home page shows an orange Server not responding instead of Connected. Pick another server, or wait — the status goes back to Connected once the server is back.
Авто-переключение и пинг
Если ваш сервер перестал отвечать, InHive переносит вас на рабочий. Менять сервер только потому, что другой пингуется чуть быстрее, приложение не будет.
Как включить
В экспертном режиме — переключатель Авто выбор сервера на главном экране. В простом режиме он всегда включён. Тап по серверу в списке его выключает — тогда приложение остаётся на выбранном вами сервере.
Когда приложение проверяет
Фонового таймера нет. Приложение проверяет только текущий сервер и только когда что-то происходит: вы открыли приложение, телефон перешёл между Wi-Fi и мобильным интернетом, вернулась сеть. Если сервер отвечает, ничего не меняется.
Если сервер умер
Одна неудачная проверка ничего не доказывает: пока телефон переключается с Wi-Fi на мобильную сеть, любая проверка на мгновение падает. Приложение ждёт нескольких неудач подряд и только тогда ищет замену. Сначала пробует серверы той же страны, по одному, и останавливается на первом, который ответил.
Если авто-выбор выключен
Приложение само ничего не переключает. Если сервер перестал отвечать, на главном экране вместо «Подключено» появится оранжевое Сервер не отвечает. Выберите другой сервер или подождите — когда сервер вернётся, статус сам станет «Подключено».
Launch at startup and auto-connect (Windows, macOS, Linux)
Turn on Settings → Auto-start, and InHive opens when your computer starts. Turn on Auto-connect under it, and the VPN comes up by itself with the selected server — the app waits for the network first. Opening the app by hand later doesn't touch the VPN. On Windows the first toggle asks for administrator permission once; Silent start keeps the window in the tray.
Автозапуск и автоподключение (Windows, macOS, Linux)
Включите Настройки → Автозапуск, и InHive будет открываться при старте компьютера. Включите под ним Автоподключение — VPN поднимется сам на выбранном сервере, приложение сначала дождётся сети. Если потом открыть приложение вручную, VPN оно не трогает. На Windows первое включение один раз попросит права администратора; Тихий запуск оставляет окно в трее.
Quick Settings tile (Android)
Add the InHive tile to your quick settings panel: pull down the notification shade, tap the pencil, and drag InHive into the active tiles. Then connect and disconnect without opening the app.
Since version 4.8.7 the tile shows the server name: while connected — the server your traffic goes through; while disconnected — the selected server. Long names are shortened to 20 characters.
Плитка быстрых настроек (Android)
Добавьте плитку InHive в панель быстрых настроек: опустите шторку, нажмите карандаш и перетащите InHive к активным плиткам. Подключаться и отключаться можно будет, не открывая приложение.
С версии 4.8.7 на плитке видно имя сервера: при подключении — сервер, через который идёт трафик, при отключении — выбранный сервер. Длинные имена сокращаются до 20 символов.
TUN mode vs Proxy mode
InHive can send your traffic through the VPN in two different ways: System mode and App mode. In the app they are the TUN / Proxy switch, shown in Expert mode (Settings → UI mode → Expert). They behave differently and have different requirements.
System mode (also called TUN)
The app creates a virtual network connection at the operating-system level and routes everything on your device through it. Every app on the device is covered automatically, even ones that ignore proxy settings (most games, some messengers).
This mode requires extra permission:
Windows — an admin prompt the first time you turn it on.
Android — the system dialog “Connection request: InHive wants to set up a VPN…”. One tap.
iOS — adding a VPN configuration in Settings. One tap, Face ID or passcode.
App mode (also called Proxy)
The app opens a local proxy on your computer at 127.0.0.1:12354 (change it in Settings → Proxy port). Apps that know how to use a proxy (browsers, some messengers, command-line tools) route through it. Apps that don't — keep using your regular internet.
On Windows, the app also writes your proxy settings into the system registry, so most browsers pick it up automatically.
This mode does not need admin / VPN permission. It's lighter and easier to revoke, but covers fewer apps.
Which is the default
System mode on Android and iOS. App mode on Windows, macOS and Linux.
The local proxy in System mode
The local proxy on port 12354 also runs in System mode. Programs set to use it, and devices you share your connection with, go through it. To let other devices on your network reach it, turn on Settings → Allow LAN access and point them at your device's address and the same port. A Local proxy and hotspot rule can send this traffic through a server of your choice — see the link below.
Sending specific traffic through a different server
You don't have to choose one server for everything. A routing rule can send a specific site, app, or IP range through its own server, in either mode. See Route any rule to its own server.
Режим TUN vs Proxy
InHive может пускать ваш трафик через VPN двумя разными способами — системный режим и режим приложений. В приложении это переключатель TUN / Proxy, он виден в экспертном режиме (Настройки → Режим интерфейса → Экспертный). Они работают по-разному и требуют разного.
Системный режим (он же TUN)
Приложение создаёт виртуальное сетевое подключение на уровне операционной системы и заворачивает всё, что выходит из устройства, в туннель. Все приложения покрываются автоматически, даже те, которые игнорируют настройки прокси (большинство игр, некоторые мессенджеры).
Этому режиму нужно дополнительное разрешение:
Windows — запрос администратора при первом включении.
Android — системный диалог «Запрос подключения: InHive хочет настроить VPN…». Один тап.
iOS — добавление VPN-конфигурации в Настройках. Один тап + Face ID или код-пароль.
Режим приложений (он же Proxy)
Приложение поднимает локальный прокси на 127.0.0.1:12354 (порт меняется в Настройки → Порт прокси). Приложения, которые умеют ходить через прокси (браузеры, некоторые мессенджеры, командные утилиты), идут через него. Те, которые не умеют — продолжают использовать обычный интернет.
На Windows приложение дополнительно записывает настройки прокси в системный реестр, и большинство браузеров подхватывают их сами.
Этому режиму не нужно разрешение администратора или VPN. Он легче и быстрее отключается, но покрывает меньше приложений.
Что выбрано по умолчанию
Системный режим на Android и iOS. Режим приложений на Windows, macOS и Linux.
Локальный прокси в системном режиме
Локальный прокси на порту 12354 работает и в системном режиме. Через него идут программы, настроенные на этот прокси, и устройства, которым вы раздаёте интернет. Чтобы до него могли достучаться другие устройства в вашей сети, включите Настройки → Доступ из локальной сети и укажите на них адрес вашего устройства и тот же порт. Правило Локальный прокси и хотспот может отправить этот трафик через выбранный вами сервер — см. ссылку ниже.
Отправить часть трафика через другой сервер
Необязательно выбирать один сервер для всего. Правило маршрутизации может отправить конкретный сайт, приложение или диапазон IP через свой сервер — в любом из режимов. См. Свой сервер на каждое правило.
Route any rule to its own server
Any rule in traffic splitting — by domain, app, country, IP, or a custom list — can send its matching traffic through one specific server, picked from any of your subscriptions or your own configs. Each rule gets its own exit; there's no limit to how many you set up.
Use this to keep your banking app on one server, route a streaming service through a server in the right country, and send everything else through your default connection — all at once, all from one device.
How it works
Switch to Expert in Settings → UI mode, then tap the Split routing button on the Home page.
Add or edit a rule — match by domain, app, country, IP, or a custom list, same as any other rule.
Instead of Direct or Block, choose Choose config: pick a subscription, then a server from it (or one of your own configs).
Save. Traffic matching that rule now leaves through that server — whether you're in System mode or App mode.
What happens if the server changes or disappears
If your provider rotates the server's address, the rule follows the subscription's current copy automatically. If you delete the subscription, the rule keeps working with the server as it was when you picked it. If a picked server can't be used at all, the app skips that rule instead of failing to connect.
Rule servers don't show up in your main server list and are never picked automatically — they only carry the traffic you routed to them.
Local proxy and hotspot
One rule matches by where traffic comes in, not by where it goes: Local proxy and hotspot. It covers everything that enters through the local proxy port — a browser set to use it, or devices you share your connection with. Point it at a server, and that traffic leaves through that server. It works while System mode is on; in App mode all traffic already enters through that port.
Example
Add your work chat app as a rule, choose a server from your work subscription for it, and everything else on your device keeps using your regular server. Both go through the tunnel at the same time.
Любое правило в разделе разделения трафика — по домену, приложению, стране, IP или собственному списку — можно отправить через конкретный сервер: из любой вашей подписки или из своих конфигов. У каждого правила свой выход, и таких правил можно завести сколько угодно.
Используйте это, чтобы держать банковское приложение на одном сервере, пустить стриминг через сервер в нужной стране, а всё остальное — через сервер по умолчанию. Всё одновременно, с одного устройства.
Как это работает
Выберите «Экспертный» в Настройки → Режим интерфейса, затем нажмите кнопку Разделение трафика на главном экране.
Добавьте или отредактируйте правило — по домену, приложению, стране, IP или своему списку, как и любое другое правило.
Вместо «Напрямую» или «Заблокировать» выберите Выбрать конфиг: сначала подписку, потом сервер из неё (или один из своих конфигов).
Сохраните. Трафик, попавший под правило, теперь уходит через этот сервер — и в системном режиме, и в режиме приложений.
Что будет, если сервер сменится или исчезнет
Если провайдер меняет адрес сервера, правило само подхватывает свежую версию из подписки. Если вы удалите подписку, правило продолжит работать с сервером таким, каким он был на момент выбора. Если выбранный сервер собрать не удаётся, приложение просто пропускает это правило, а не отказывается подключаться вовсе.
Серверы из правил не появляются в общем списке серверов и никогда не выбираются автоматически — они несут только тот трафик, который вы на них направили.
Локальный прокси и хотспот
Одно правило срабатывает по тому, откуда пришёл трафик, а не куда он идёт: Локальный прокси и хотспот. Под него попадает всё, что заходит через порт локального прокси, — браузер, настроенный на этот прокси, или устройства, которым вы раздаёте интернет. Назначьте ему сервер, и этот трафик уйдёт через него. Работает, пока включён системный режим; в режиме приложений весь трафик и так заходит через этот порт.
Пример
Добавьте рабочий чат как правило, выберите для него сервер из рабочей подписки — всё остальное на устройстве продолжит идти через сервер по умолчанию. Оба потока идут через туннель одновременно.
Split tunnel keeps part of your traffic outside the VPN. That traffic uses your regular connection and your real IP — handy for banking and government sites that block VPNs.
What a rule can match
Apps — pick installed apps from a list. Works on Android, Windows, macOS and Linux (not on iOS).
Domains — for example bank.example.com. Tap ? next to a domain rule to see which other addresses the site really uses, and add them in one step.
Keywords — any address containing the word: google covers google.com, googlevideo.com and so on.
IP addresses and ranges — like 149.154.167.0/24.
Countries — every address of a country, from ready-made lists: Russia, China, Iran, Turkey, Egypt, Belarus, Kazakhstan. The lists refresh daily.
Your own lists — add a list by link or from a file, then apply it the same way as a country.
Switch to Expert in Settings → UI mode, then tap the Split routing button on the Home page.
Rules from your provider
A provider can suggest addresses that should open directly. You see them before anything applies; they work while you use that subscription, and your own rules always win. See Settings recommended by your provider.
Раздельное туннелирование
Раздельное туннелирование держит часть трафика вне VPN. Этот трафик идёт через обычное подключение и с вашего реального IP — удобно для банков и госсайтов, которые блокируют VPN.
По чему срабатывает правило
Приложения — выбор установленных приложений из списка. Работает на Android, Windows, macOS и Linux (на iOS нет).
Домены — например bank.example.com. Нажмите ? рядом с доменным правилом, чтобы увидеть, на какие ещё адреса реально ходит сайт, и добавить их одним действием.
Ключевые слова — любой адрес, содержащий слово: google накроет google.com, googlevideo.com и так далее.
IP / подсети — например 149.154.167.0/24.
Страны — все адреса страны по готовым спискам: Россия, Китай, Иран, Турция, Египет, Беларусь, Казахстан. Списки обновляются раз в сутки.
Мои списки — добавьте свой список по ссылке или файлом и применяйте его так же, как страну.
Выберите «Экспертный» в Настройки → Режим интерфейса, затем нажмите кнопку Разделение трафика на главном экране.
Правила от провайдера
Провайдер может предложить адреса, которые должны открываться напрямую. Вы видите их до того, как что-то применится; они действуют, пока вы пользуетесь этой подпиской, а ваши собственные правила всегда важнее. См. Настройки от провайдера.
Traffic obfuscation
InHive has a few settings that make your VPN connection harder for networks to spot and slow down. Most are off by default — turn on what your network needs.
Where to find them
Switch to Expert in Settings → UI mode, then open Settings → Traffic obfuscation. The settings apply to the whole app, not to one subscription.
What's inside
uTLS fingerprint — makes the start of each connection look like a real browser or app (Chrome, Firefox, Safari and others). Off by default: the app then uses whatever your subscription specifies for each server.
TLS Fragment — splits the first packet of a connection into small pieces, so a filter that reads only that packet can't see the site name. Off by default.
Adaptive padding (experimental) — mixes random filler into the traffic inside the tunnel. It helps against someone watching your own device, not against inspection on the network. Uses more data and battery. Off by default.
Reject QUIC (UDP:443) — makes browsers use regular HTTPS over TCP instead of QUIC. Helps on networks that slow down UDP. Off by default.
Block BitTorrent / P2P — stops torrent traffic from going through the VPN. On by default.
В InHive есть несколько настроек, которые мешают сетям распознать и притормозить VPN-соединение. Большинство выключено по умолчанию — включайте то, что нужно вашей сети.
Где найти
Выберите «Экспертный» в Настройки → Режим интерфейса, затем откройте Настройки → Обфускация трафика. Настройки общие для всего приложения, а не для отдельной подписки.
Что внутри
uTLS fingerprint — начало каждого соединения выглядит как у настоящего браузера или приложения (Chrome, Firefox, Safari и другие). По умолчанию выключено: тогда для каждого сервера берётся то, что указано в подписке.
TLS Fragment — разбивает первый пакет соединения на маленькие куски, чтобы фильтр, который читает только этот пакет, не увидел имя сайта. По умолчанию выключено.
Adaptive padding (экспериментально) — подмешивает случайные данные в трафик внутри туннеля. Помогает против наблюдения на самом устройстве, а не против проверки трафика в сети. Расходует больше трафика и батареи. По умолчанию выключено.
Reject QUIC (UDP:443) — браузеры идут по обычному HTTPS поверх TCP вместо QUIC. Помогает в сетях, которые притормаживают UDP. По умолчанию выключено.
Заблокировать BitTorrent / P2P — торрент-трафик не идёт через VPN. По умолчанию включено.
Часть этих настроек может предложить и провайдер вместе с подпиской — см. Настройки от провайдера.
Kill switch (Windows, macOS, Linux)
Turn on Settings → Kill Switch (Expert) to block the internet when the VPN drops, so nothing leaks from your real IP. On macOS and Linux it works in System mode (TUN) and asks for the administrator password when you turn it on or off. macOS and Linux support is new — tell us if it misbehaves.
Kill Switch (Windows, macOS, Linux)
Включите Настройки → Kill Switch (экспертный режим), и при обрыве VPN интернет заблокируется — с вашего реального IP ничего не утечёт. На macOS и Linux работает в системном режиме (TUN) и спрашивает пароль администратора при включении и выключении. Поддержка macOS и Linux новая — напишите, если что-то не так.
Multi-hop
Multi-hop sends your traffic through two servers in a row: an entry server, then an exit server. Sites see only the exit. Turn it on in Settings → Multi-hop (Expert; you need at least two servers), then pick the entry and the exit on the Home page. It adds latency, so use it when privacy matters more than speed.
Multi-hop
Multi-hop пускает трафик через два сервера подряд: сервер входа, затем сервер выхода. Сайты видят только выход. Включите в Настройки → Multi-hop (экспертный режим, нужно минимум два сервера), затем выберите вход и выход на главном экране. Задержка растёт, поэтому включайте, когда приватность важнее скорости.
Cannot connect
Walk through these in order — most issues match the first or second.
Check the subscription
Open the subscription's page (long-press the subscription). If Expiry is in the past or the server list is empty, the subscription was revoked or the link is wrong. Ask your provider for a fresh one.
If the app says the server returned a web page instead of a subscription, the provider's panel doesn't recognise InHive. On the subscription's page, open Client mimicry and pick the client your provider supports (for example Happ or sing-box), then refresh.
Try a different server
An orange Server not responding on the Home page means the tunnel is up but this server doesn't pass traffic. Pick another server from the list. If every server fails, your provider is probably down — wait or contact them.
Work around a firewall
A corporate or country-level firewall can block specific protocols or ports. Switch to a server on a different protocol — try Hysteria2 if VLESS Reality fails, or the other way around.
Check for a proxy conflict (Windows)
Another VPN client or antivirus can overwrite the system proxy. Turn off other VPN apps before connecting.
If the local proxy port is taken, connecting stops with a message that names the program holding it — for example Port 127.0.0.1:12354 is taken by hiddify.exe. Close that program, or change the port in Settings → Proxy port.
Check your clock
Reality and modern connection setups need your device clock within 10 minutes of UTC. Turn on automatic time sync in your OS.
Read the error
Switch to Expert in Settings → UI mode and open the Logs tab in the side menu. It shows the exact connection error, which usually points straight at the cause.
Send a report
On the Logs tab, tap Diagnostics for a short snapshot of the app's state, or use Export diagnostics for a full file. The snapshot always hides server addresses, links and passwords. For the full file, turn on Hide sensitive data before you send it to your provider's support.
Не получается подключиться
Пройдитесь по списку по порядку — чаще всего проблема в первом или втором пункте.
Проверьте подписку
Откройте страницу подписки (долгое нажатие на подписку). Если Срок в прошлом или список серверов пуст, подписку отозвали или ссылка неверная. Попросите у провайдера новую.
Если приложение пишет, что сервер вернул веб-страницу вместо подписки, панель провайдера не узнаёт InHive. На странице подписки откройте Мимикрия клиента, выберите клиент, который поддерживает ваш провайдер (например Happ или sing-box), и обновите подписку.
Попробуйте другой сервер
Оранжевое Сервер не отвечает на главном экране значит, что туннель поднят, но этот сервер не пропускает трафик. Выберите другой сервер из списка. Если падают все, провайдер скорее всего лежит — подождите или напишите ему.
Обойдите файрвол
Корпоративный или государственный файрвол может блокировать конкретные протоколы или порты. Переключитесь на сервер с другим протоколом — попробуйте Hysteria2 если падает VLESS Reality, или наоборот.
Проверьте конфликт прокси (Windows)
Другой VPN-клиент или антивирус может перезаписать системный прокси. Отключите остальные VPN-приложения перед подключением.
Если порт локального прокси занят, подключение остановится с сообщением, где названа программа, которая его держит, — например Port 127.0.0.1:12354 is taken by hiddify.exe. Закройте эту программу или смените порт в Настройки → Порт прокси.
Проверьте время
Reality и современные методы установки соединения требуют расхождения часов не более 10 минут от UTC. Включите автосинхронизацию времени в ОС.
Посмотрите ошибку
Выберите «Экспертный» в Настройки → Режим интерфейса и откройте вкладку Логи в боковом меню. Там видна точная ошибка соединения — обычно она прямо указывает на причину.
Отправьте отчёт
На вкладке «Логи» нажмите Диагностика — получится короткий снимок состояния приложения, или Экспорт диагностики — полный файл. Снимок всегда скрывает адреса серверов, ссылки и пароли. Для полного файла включите Скрыть чувствительные данные, прежде чем отправлять его в поддержку провайдера.
Slow speeds
The server works but the speed is poor. Try these in order.
Switch to another server
The closest server isn't always the fastest. Pick a couple of options from the list and compare.
Check if UDP is blocked
Hysteria2, TUIC, and WireGuard need open UDP. Some mobile carriers and corporate networks block UDP, which drops throughput close to zero. Switch to a TCP-based protocol — VLESS, Trojan, or NaiveProxy. If only browsers are slow, try Settings → Traffic obfuscation → Reject QUIC: browsers then fall back to TCP.
Check your signal (mobile)
Weak WiFi or cellular signal caps your raw speed. A VPN can't go faster than the network underneath it.
Adjust MTU
If pages load partway and large downloads hang, your MTU may be wrong for the network. Switch to Expert in Settings → UI mode, set Settings → Advanced → TUN MTU to 1280-1380 and try again.
Apps pause before loading
If Telegram and other apps take a few seconds to start loading and your server has no IPv6, turn on Settings → IPv4 only. Apps then skip IPv6 right away.
Server overload
Free or shared servers slow down at peak hours. Try again late at night.
Measure exact speed
In Expert mode, long-press the ping button above the server list and choose Speed test. It measures every server in the list, so you can compare them.
Низкая скорость
Сервер работает, но скорость низкая. Пройдитесь по списку по порядку.
Поменяйте сервер
Ближайший — не всегда самый быстрый. Попробуйте пару серверов из списка и сравните.
Проверьте, не блокируется ли UDP
Hysteria2, TUIC и WireGuard работают по UDP. Некоторые мобильные операторы и корпоративные сети режут UDP — скорость падает почти до нуля. Переключитесь на TCP-протокол: VLESS, Trojan или NaiveProxy. Если тормозят только браузеры, включите Настройки → Обфускация трафика → Reject QUIC: браузеры перейдут на TCP.
Проверьте сигнал (мобильный)
Слабый WiFi или сотовый сигнал ограничивает физический канал. VPN не может быть быстрее сети под ним.
Подкрутите MTU
Если страницы загружаются частично, а большие файлы виснут, MTU не подходит для вашей сети. Выберите «Экспертный» в Настройки → Режим интерфейса, задайте Настройки → Расширенные → TUN MTU 1280-1380 и проверьте.
Приложения задумываются перед загрузкой
Если Telegram и другие приложения несколько секунд не начинают загрузку, а ваш сервер не умеет IPv6, включите Настройки → Только IPv4. Приложения сразу перестанут пробовать IPv6.
Перегрузка сервера
Бесплатные и общие серверы тормозят в пиковые часы. Попробуйте ночью.
Измерьте реальную скорость
В экспертном режиме долго нажмите на кнопку пинга над списком серверов и выберите Тест скорости. Он замерит все серверы списка — их можно сравнить.
VPN permission denied
System mode (TUN) needs the operating system to grant InHive a VPN permission. The prompt looks different on each platform.
On Android
You'll see "Connection request: InHive wants to set up a VPN connection that allows it to monitor network traffic." Tap OK.
You only need to grant this once per install. If you revoke it later in Settings → Apps → VPN, you'll see the dialog again next time.
On iOS
The system asks to add a VPN configuration in Settings → General → VPN & Device Management. Tap Allow and confirm with Face ID, Touch ID, or your passcode. One-time.
On Windows
A UAC prompt appears the first time you start system mode in a session. Approve it to continue.
If you denied by accident
Revoke and re-grant the permission in your system VPN settings, or switch to App mode in InHive — App mode doesn't need a VPN permission at all.
VPN-разрешение отклонено
Системный режим (TUN) требует, чтобы операционная система выдала InHive разрешение на VPN. Запрос выглядит по-разному на разных платформах.
На Android
Появится диалог «Запрос подключения: InHive хочет настроить VPN, который сможет отслеживать сетевой трафик». Нажмите OK.
Запрашивается один раз на установку. Если позже отозвать разрешение в Настройки → Приложения → VPN, диалог появится снова.
На iOS
Система попросит добавить VPN-конфигурацию в Настройки → Основные → VPN и управление устройством. Нажмите Разрешить и подтвердите Face ID, Touch ID или код-паролем. Один раз.
На Windows
При первом запуске системного режима в сессии появится запрос UAC. Подтвердите, чтобы продолжить.
Если случайно отказали
Отзовите и выдайте разрешение заново через системные настройки VPN — или переключитесь на режим приложений в настройках InHive. Ему VPN-разрешение не нужно.
What data we collect
InHive has no accounts, no analytics and no tracking. What leaves your device is what a subscription needs to work, and it goes to the server that hands out your subscription — your provider. If your subscription comes from InHive's own servers, that provider is us.
What the app sends with each subscription request
Every time the app downloads or refreshes a subscription, the request carries:
Device ID (X-Hwid, also inside the User-Agent) — a random ID the app creates on first launch. Providers use it to count your devices and limit how many can share one subscription. It isn't derived from your hardware, phone number or advertising ID, and reinstalling the app creates a new one.
Device model (X-Device-Model) — for example iPhone 14 Pro or Samsung SM-S911B. On Windows it is the model the PC maker reports, not the name you gave your computer. Linux sends no model.
Operating system and its version (X-Device-Os, X-Ver-Os) — for example Android and 14, or Windows and 11. Linux sends only the system name.
App version and platform — in the User-Agent, for example InHive/4.8.6 (android; …).
These are the headers subscription panels expect, so your provider can show you which devices use your subscription. Client mimicry changes only the User-Agent; the other headers are still sent.
Update checks
To find a new version, the app asks GitHub for the latest release. That request carries only InHive-App — no device ID.
What we never collect
Browsing history
DNS queries
The content of your traffic
Contact lists
Advertising IDs
Location
The app sends your subscription link only to the subscription server itself. For other requests the app makes, see No-logs policy.
Какие данные мы собираем
В InHive нет аккаунтов, аналитики и трекинга. С устройства уходит то, без чего подписка не работает, и уходит это на сервер, который выдаёт вашу подписку, — вашему провайдеру. Если подписка с серверов InHive, этот провайдер — мы.
Что приложение отправляет с каждым запросом подписки
Каждый раз, когда приложение скачивает или обновляет подписку, в запросе есть:
ID устройства (X-Hwid, он же внутри User-Agent) — случайный идентификатор, который приложение создаёт при первом запуске. Провайдеры по нему считают ваши устройства и ограничивают, сколько их может пользоваться одной подпиской. Он не выводится из железа, номера телефона или рекламного ID, а при переустановке приложения создаётся новый.
Модель устройства (X-Device-Model) — например iPhone 14 Pro или Samsung SM-S911B. На Windows это модель, которую сообщает производитель ПК, а не имя, которое вы дали компьютеру. Linux модель не отправляет.
Операционная система и её версия (X-Device-Os, X-Ver-Os) — например Android и 14 или Windows и 11. Linux отправляет только название системы.
Версия приложения и платформа — в User-Agent, например InHive/4.8.6 (android; …).
Это заголовки, которые ждут панели подписок: по ним провайдер может показать вам, какие устройства пользуются подпиской. Мимикрия клиента меняет только User-Agent, остальные заголовки уходят всё равно.
Проверка обновлений
Чтобы узнать о новой версии, приложение спрашивает у GitHub последний релиз. В этом запросе только InHive-App — без ID устройства.
Что мы никогда не собираем
Историю посещений
DNS-запросы
Содержимое вашего трафика
Контакты
Рекламные идентификаторы
Геолокацию
Ссылку подписки приложение отправляет только на сам сервер подписки. Какие ещё запросы делает приложение — см. Политика отсутствия логов.
No-logs policy
The app doesn't report your connections anywhere. No InHive server sees where you connect, when, or for how long — that stays on your device.
Service requests
Besides your subscription and your VPN servers, the app contacts a few addresses for its own needs. None of them carry your subscription link or your browsing.
Update check (not on iOS) — GitHub, after you connect, a few hours apart.
Country rules and blocklists — if you use country rules in split tunnel or turn on Block ads and threats, their lists come from GitHub and refresh daily.
Subscription update masking — only when you turn it on: a signed list of fallback servers from inhive.ru/api/bootstrap.json or its GitHub and jsDelivr copies.
Secure environment (Android) — only when you tap refresh: the list of apps known to fingerprint your device, from inhive.ru/api/v1/risk_apps.json.
Debug logs are local
Switch to Expert in Settings → UI mode and open the Logs tab to see connection errors. Logs stay on your device. A diagnostics file exists only when you export it yourself; turn on Hide sensitive data in the export to leave out server addresses, links and passwords.
DNS queries
The app doesn't log your DNS queries. By default, lookups through the VPN go to Quad9 over encrypted DNS (DNS-over-HTTPS), and subscription addresses are also looked up over encrypted DNS before download. Change the resolver in Settings → DNS. What a resolver logs is up to its own policy.
One thing to know
The VPN server you connect to is a separate party. Its log policy is set by whoever runs it, not by InHive.
Политика отсутствия логов
Приложение никуда не сообщает о ваших подключениях. Нет сервера InHive, который видит, куда вы подключаетесь, когда и как долго, — это остаётся на вашем устройстве.
Служебные запросы
Кроме подписки и VPN-серверов, приложение обращается к нескольким адресам для своих нужд. Ни в одном из этих запросов нет ссылки подписки и того, что вы открываете.
Проверка обновлений (кроме iOS) — GitHub, после подключения, с перерывом в несколько часов.
Правила по странам и блоклисты — если вы используете страны в раздельном туннелировании или включили Блокировку рекламы и угроз, их списки скачиваются с GitHub и обновляются раз в сутки.
Маскировка обновления подписок — только когда вы её включили: подписанный список запасных серверов с inhive.ru/api/bootstrap.json или его копий на GitHub и jsDelivr.
Защищённая среда (Android) — только по кнопке обновления: список приложений, которые снимают отпечаток устройства, с inhive.ru/api/v1/risk_apps.json.
Debug-логи только локально
Выберите «Экспертный» в Настройки → Режим интерфейса и откройте вкладку Логи — там ошибки соединения. Логи остаются на устройстве. Файл диагностики появляется, только если вы сами его экспортируете; включите при экспорте Скрыть чувствительные данные, чтобы в нём не было адресов серверов, ссылок и паролей.
DNS-запросы
Приложение не логирует ваши DNS-запросы. По умолчанию запросы через VPN идут на Quad9 по зашифрованному DNS (DNS-over-HTTPS), а адреса подписок тоже резолвятся через зашифрованный DNS перед скачиванием. Резолвер меняется в Настройки → DNS. Что логирует резолвер, определяет его собственная политика.
Что стоит знать
VPN-сервер, к которому вы подключаетесь, — отдельная сторона. Его политика логирования зависит от того, кто его держит, а не от InHive.
Developer Documentation
This documentation describes InHive 4.8.7, the latest release. Older versions may have different screens and settings.
A subscription URL is an HTTPS endpoint that returns a list of server URIs. Recommended pattern: https://provider.example.com/{subscription_id} where subscription_id is an opaque token (hex, base32, UUID — any URL-safe string). Keep the token as the last path segment: the client keys the fallback-endpoint cache by it (see Multi-endpoint fallback).
The response body is one of:
Plain text — newline-separated list of server URIs, one per line. Trailing whitespace ignored.
Base64-encoded — standard base64 (with or without padding) of the plaintext list above. The client auto-detects which format and decodes if needed.
Other formats — Clash YAML, a sing-box or Xray JSON config, SIP008 JSON. From a JSON config the client takes the servers only; routing, DNS and inbounds always come from the app's own settings.
HTTP status must be 200. Content-Type is not strict — clients ignore it. A 200 with an HTML page is reported to the user as "the server returned a web page instead of a subscription", not as an empty list. HTTPS strongly recommended. The app accepts plain http:// for any host, but then the device headers and the server list travel unencrypted.
Optional response headers carry profile metadata (see Subscription headers).
Формат и кодирование URL подписки
URL подписки — это HTTPS-эндпоинт, возвращающий список URI серверов. Рекомендуемый формат: https://provider.example.com/{subscription_id}, где subscription_id — непрозрачный токен (hex, base32, UUID — любая URL-safe строка). Держите токен последним сегментом пути: по нему клиент хранит кэш запасных адресов (см. Множественные эндпоинты подписки).
Тело ответа в одном из двух форматов:
Plain text — список URI серверов через перевод строки, по одному на строку. Концевые пробелы игнорируются.
Base64 — стандартный base64 (с padding или без) от plaintext-списка выше. Клиент сам определяет формат и декодирует при необходимости.
Другие форматы — Clash YAML, JSON-конфиг sing-box или Xray, SIP008 JSON. Из JSON-конфига клиент берёт только серверы; маршрутизация, DNS и inbounds всегда из настроек приложения.
HTTP-статус обязан быть 200. Content-Type не строгий — клиент игнорирует. Ответ 200 с HTML-страницей показывается пользователю как «сервер вернул веб-страницу вместо подписки», а не как пустой список. HTTPS настоятельно рекомендуется. Приложение принимает plain http:// для любого хоста, но тогда заголовки устройства и список серверов идут в открытом виде.
Необязательные заголовки ответа несут метаданные профиля (см. Заголовки подписки).
Supported URI schemes
The client parses links for 18 protocols (24 scheme prefixes). Each line of the subscription body is one URI. The table lists the common formats; the rest are listed below it.
Also recognised: hysteria:// (Hysteria v1), anytls://, shadowtls://, socks:// (and socks4, socks4a, socks5, socks5h), utproto://, olcrtc://. AmneziaVPN vpn:// exports are unpacked into their inner configs (Xray, WireGuard, AmneziaWG, Shadowsocks). psiphon:// is parsed but cannot connect in current builds. Plain HTTP proxies work only inside a JSON or Clash config — http(s):// lines are subscription URLs.
Fragment (#NAME) is URL-encoded UTF-8 — supports emoji and Cyrillic. Unknown schemes are silently skipped.
Поддерживаемые URI-схемы
Клиент разбирает ссылки 18 протоколов (24 префикса схем). Каждая строка тела подписки — один URI. В таблице — распространённые форматы, остальные перечислены под ней.
Также распознаются: hysteria:// (Hysteria v1), anytls://, shadowtls://, socks:// (и socks4, socks4a, socks5, socks5h), utproto://, olcrtc://. Экспорт AmneziaVPN vpn:// распаковывается во вложенные конфиги (Xray, WireGuard, AmneziaWG, Shadowsocks). psiphon:// разбирается, но в текущих сборках подключиться не может. Обычный HTTP-прокси работает только внутри JSON- или Clash-конфига — строки http(s):// считаются адресами подписок.
Фрагмент (#NAME) — URL-encoded UTF-8, поддерживает emoji и кириллицу. Незнакомые схемы молча пропускаются.
Subscription response headers
The client reads optional headers from the subscription HTTP response. All headers are case-insensitive.
Header
Meaning
Profile-Title
Display name for the profile in the app. Supports base64: prefix for non-ASCII names.
Profile-Update-Interval
Auto-refresh interval in hours. Fractions round up; the value is clamped to 1–168. Only values above 0 are used — 0 is ignored, not treated as "off". Without this header a new subscription is not refreshed automatically. A user-set interval is never overwritten.
Subscription-Userinfo
Quota and expiry: upload=N; download=N; total=N; expire=UNIX. Bytes for traffic, Unix timestamp for expiry.
Profile-Web-Page-URL
URL to the user dashboard on the provider site.
Support-URL
Contact URL for user support.
Announce
Message shown in the app. Supports base64: prefix. Aliases: profile-description, x-message, x-announcement.
Subscription-Alt-Endpoints
Comma-separated fallback URLs, https:// only. Used when the primary URL fails (see Multi-endpoint fallback).
X-InHive-Provider-Settings
Recommended client settings and direct rules (see Provider presets).
Клиент читает необязательные заголовки из HTTP-ответа подписки. Регистр заголовков не важен.
Заголовок
Назначение
Profile-Title
Отображаемое имя профиля. Поддерживает префикс base64: для не-ASCII.
Profile-Update-Interval
Интервал автообновления в часах. Дробные округляются вверх, значение ограничивается 1–168. Учитываются только значения больше 0 — 0 игнорируется, а не значит «выключить». Без этого заголовка новая подписка автоматически не обновляется. Интервал, заданный пользователем, заголовок не перезаписывает.
Subscription-Userinfo
Квота и срок: upload=N; download=N; total=N; expire=UNIX. Байты для трафика, Unix-timestamp для срока.
Profile-Web-Page-URL
URL личного кабинета на сайте провайдера.
Support-URL
Контакт поддержки.
Announce
Сообщение, показываемое в приложении. Поддерживает base64:. Алиасы: profile-description, x-message, x-announcement.
Subscription-Alt-Endpoints
Запасные URL через запятую, только https://. Используются, когда основной URL не отвечает (см. Множественные эндпоинты подписки).
X-InHive-Provider-Settings
Рекомендованные настройки клиента и правила «напрямую» (см. Пресеты провайдера).
The client parses this list (only https:// entries are accepted — HTTP downgrade is rejected) and stores it on the device, keyed by the last path segment of the subscription URL: for https://sub.example.com/u/TOKEN the key is TOKEN. Put a unique token there — two subscriptions ending in the same segment share one list, and a URL with an empty path gets no fallback.
On subsequent fetches, if the primary URL fails (network error, DNS failure, timeout, non-200 status), the client iterates through the cached alternatives in order. The first successful response is used. Each successful fetch of the primary URL replaces the stored list; a successful response without the header clears it.
Use case: provider hosts the subscription on multiple regions or providers; one CDN region gets blocked or goes down, the client transparently moves to a working one.
Множественные эндпоинты подписки
InHive поддерживает открытый механизм fallback для доставки подписок. Провайдер добавляет заголовок в ответ:
Клиент парсит список (принимаются только https://-записи — HTTP-downgrade отклоняется) и сохраняет на устройстве с ключом — последним сегментом пути URL подписки: для https://sub.example.com/u/TOKEN ключ — TOKEN. Кладите туда уникальный токен: две подписки с одинаковым последним сегментом делят один список, а у URL с пустым путём fallback нет.
При следующих fetch'ах, если primary URL падает (сетевая ошибка, DNS failure, timeout, не-200), клиент перебирает кэшированные альтернативы по порядку. Используется первый успешный ответ. Каждый успешный fetch основного URL заменяет сохранённый список; успешный ответ без заголовка его очищает.
Use case: провайдер хостит подписку на нескольких регионах или провайдерах; один CDN-регион блокируется или падает — клиент прозрачно уходит на рабочий.
Provider presets
A subscription panel can ship recommended client settings alongside the server list. Works in InHive 4.7.35 and newer. A subscription without the header is served exactly as before.
Transport
One HTTP response header on the subscription GET:
X-InHive-Provider-Settings: base64(JSON)
Header name is case-insensitive.
Value: base64 of UTF-8 JSON (standard or URL-safe alphabet, padding optional, base64: prefix allowed). Plain JSON is accepted too, but header values must be ASCII, so base64 is the safe choice.
Pseudo-headers in the subscription body (#key: value) are not parsed. The header is the only channel.
name — shown in the consent dialog (default Unknown Provider).
preset_version — integer, required in practice. The dialog is shown only when it is greater than the last version the client processed for this subscription. Accept and decline are stored the same way; a decline is not asked again. Bump it to deliver a change; do not bump it on every request.
settings — the keys below. Unknown keys are ignored silently; an omitted key means "do not change".
route_rules — addresses that should open directly, without the VPN. Applied since 4.8.0; see Routing rules below.
use_doh_for_subscriptions — bool: resolve the subscription host over DoH before TLS (default on).
Booleans also accept "true"/"false"/"1"/"0"/"yes"/"no"/"on"/"off"; integers accept "1500"; string values are lower-cased. Each field is validated on its own: a wrong type or a value outside the list drops that field only, the rest is applied, and the reason is written to the client's Logs tab ([preset] rejected field — …). If the whole header fails to parse, the server list still loads.
Routing rules
Since 4.8.0 the client applies route_rules with one limit: only rules that send traffic direct, past the VPN. Typical use — a bank or government site that refuses VPN addresses.
Matchers: domain_suffix, domain_keyword, ip_cidr — lists of strings; a rule needs at least one valid matcher. Domains up to 253 characters, keywords up to 64, no spaces or control characters.
outbound — omit it or set "direct". Any other value (for example "proxy") drops the whole rule, with the reason in the Logs tab.
label — optional, up to 64 characters.
Limits: up to 64 rules (the rest are dropped) and up to 128 values per list. An invalid value is dropped on its own.
The consent dialog lists the rules as addresses that will open directly. They go through the same preset_version gate as the settings.
Scope: the rules work only while this subscription is the active one, show up in the user's Split routing page under "From the subscription provider", and are removed with the subscription. The user's own rules win on conflict.
Never overridden
VPN mode (TUN / proxy), kill switch, per-app split tunneling, the subscription URL, local proxy credentials and Clash API secret, listening ports, the user's own routing rules (provider rules are added next to them, see above). These are the user's or the client's, and will not be added on request.
Consent
On the next refresh of the active subscription the app shows a dialog with the provider name and exactly the settings that passed validation. The user taps Apply or Servers only (skips both settings and rules); nothing is applied silently. After apply, the Logs tab shows [preset] "Acme VPN" v3 changed 2 settings for sub-1: fragment_enabled: false → true; ….
Check your side
curl -sI 'https://panel.example/sub/USER' | grep -i x-inhive-provider-settings — then decode the value with base64 -d | jq .. Checklist: header is present, JSON decodes, preset_version is stable between requests and higher than the previous one, only keys from the list above, string values from the allowed sets, tun_mtu in range, and a subscription without the header still works.
# 1. Make sure the header is actually sent
curl -sI 'https://panel.example/sub/USER' | grep -i x-inhive-provider-settings
# 2. See exactly what you serve
curl -sI 'https://panel.example/sub/USER' \
| grep -i x-inhive-provider-settings \
| sed 's/^[^:]*: *//' | tr -d '\r' | base64 -d | jq .
Signing (Ed25519) is not implemented; integrity comes from HTTPS to your panel. This page is the full contract; the same text is kept in the client repository as app/docs/provider-preset-spec.md.
Панель подписок может отдавать клиенту рекомендованные настройки вместе со списком серверов. Работает в InHive 4.7.35 и новее. Подписка без заголовка обслуживается ровно как раньше.
Транспорт
Один HTTP-заголовок ответа на GET подписки:
X-InHive-Provider-Settings: base64(JSON)
Регистр имени заголовка не важен.
Значение: base64 от UTF-8 JSON (стандартный или URL-safe алфавит, padding можно опустить, префикс base64: допускается). Сырой JSON тоже принимается, но значение заголовка обязано быть ASCII, поэтому base64 — безопасный вариант.
Псевдозаголовки в теле подписки (#key: value) не разбираются. Заголовок — единственный канал.
name — имя провайдера в окне согласия (по умолчанию Unknown Provider).
preset_version — целое, на практике обязательное. Окно показывается, только если оно больше последней версии, которую клиент обработал для этой подписки. «Применил» и «отказался» сохраняются одинаково, отказ не переспрашивается. Поднимите версию, чтобы доставить изменение; не поднимайте её при каждой отдаче.
use_doh_for_subscriptions — bool: резолвить хост подписки через DoH перед TLS (по умолчанию включено).
Булевы также принимают "true"/"false"/"1"/"0"/"yes"/"no"/"on"/"off"; целые — "1500"; строки приводятся к нижнему регистру. Каждое поле проверяется отдельно: неверный тип или значение вне списка отбрасывает только это поле, остальные применяются, причина пишется во вкладку «Логи» клиента ([preset] отклонено поле — …). Если заголовок целиком не разобрался, список серверов всё равно грузится.
Правила маршрутизации
С 4.8.0 клиент применяет route_rules с одним ограничением: только правила, которые отправляют трафик напрямую, мимо VPN. Типичный случай — банк или госсайт, который не пускает VPN-адреса.
Матчеры: domain_suffix, domain_keyword, ip_cidr — списки строк; в правиле нужен хотя бы один валидный матчер. Домены до 253 символов, ключевые слова до 64, без пробелов и управляющих символов.
outbound — не указывайте или "direct". Любое другое значение (например "proxy") отбрасывает правило целиком, причина пишется во вкладку «Логи».
label — необязательно, до 64 символов.
Лимиты: до 64 правил (остальные отбрасываются) и до 128 значений в списке. Неверное значение отбрасывается поштучно.
Окно согласия показывает правила как адреса, которые откроются напрямую. Они проходят тот же гейт preset_version, что и настройки.
Область действия: правила работают, только пока эта подписка активна, видны у пользователя в «Разделении трафика» в блоке «От поставщика подписки» и удаляются вместе с подпиской. При конфликте побеждает правило пользователя.
Никогда не переопределяется
Режим VPN (TUN / прокси), kill switch, per-app split tunneling, URL самой подписки, учётные данные локального прокси и Clash API secret, порты, собственные правила маршрутизации пользователя (правила провайдера добавляются рядом с ними, см. выше). Это зона пользователя или клиента, по запросу не добавляется.
Согласие
При следующем обновлении активной подписки приложение показывает окно с именем провайдера и ровно теми настройками, которые прошли проверку. Пользователь нажимает «Применить» или «Только серверы» (пропускает и настройки, и правила); тихого применения нет. После применения во вкладке «Логи» появляется [preset] "Acme VPN" v3 изменил 2 настроек для sub-1: fragment_enabled: false → true; ….
Проверка на своей стороне
curl -sI 'https://panel.example/sub/USER' | grep -i x-inhive-provider-settings — затем раскодируйте значение через base64 -d | jq .. Чек-лист: заголовок уходит, JSON декодируется, preset_version не меняется от запроса к запросу и больше предыдущего, только ключи из списка выше, строковые значения из допустимых наборов, tun_mtu в диапазоне, подписка без заголовка по-прежнему работает.
# 1. Убедиться, что заголовок реально уходит
curl -sI 'https://panel.example/sub/USER' | grep -i x-inhive-provider-settings
# 2. Посмотреть, что именно вы отдаёте
curl -sI 'https://panel.example/sub/USER' \
| grep -i x-inhive-provider-settings \
| sed 's/^[^:]*: *//' | tr -d '\r' | base64 -d | jq .
Подпись (Ed25519) не реализована; целостность обеспечивает HTTPS до вашей панели. Эта страница — полный контракт; тот же текст хранится в репозитории клиента как app/docs/provider-preset-spec.md.
The app registers the inhive:// URL scheme on Android, iOS, and Windows. The import action adds the subscription from a URL parameter right away — there is no confirmation dialog.
Both query parameters are URL-encoded. sub is required; name defaults to InHive if absent.
Platform notes:
Android — intent-filter in AndroidManifest catches the scheme via action.VIEW + category.BROWSABLE. Works from any link (browser, messenger, QR scan).
iOS — registered via CFBundleURLSchemes in Info.plist. Works in Safari and any app that handles custom URL schemes.
Windows — cold-start only: clicking the link launches a new inhive.exe with the URL in argv. Runtime delivery to an already-running instance is not implemented yet.
Deeplink: inhive://import
Приложение регистрирует URL-схему inhive:// на Android, iOS и Windows. Действие import сразу добавляет подписку из параметров URL — без диалога подтверждения.
Оба параметра URL-encoded. sub обязателен; name по умолчанию InHive.
Особенности платформ:
Android — intent-filter в AndroidManifest ловит схему через action.VIEW + category.BROWSABLE. Работает из любой ссылки (браузер, мессенджер, QR-сканер).
iOS — зарегистрировано через CFBundleURLSchemes в Info.plist. Работает из Safari и любого приложения, поддерживающего custom URL schemes.
Windows — только cold-start: клик по ссылке запускает новый inhive.exe с URL в argv. Runtime-доставка в уже запущенный экземпляр пока не реализована.
Deeplink: inhive://sub (encrypted)
The encrypted variant of the import deeplink. The subscription URL is AES-GCM encrypted with a key derived from a user-supplied PIN.
Flow: opening the link shows a PIN dialog. Correct PIN decrypts the payload and adds the subscription. Wrong PIN shows an error and allows retry.
Use case: time-limited subscription distribution where the raw URL should not be visible in chat history, clipboard managers, or screenshots. The PIN is communicated through a separate channel (in person, voice call).
Deeplink: inhive://sub (шифрованный)
Шифрованный вариант import-deeplink. URL подписки зашифрован AES-GCM с ключом, выведенным из PIN-кода пользователя.
Flow: открытие ссылки показывает диалог ввода PIN. Правильный PIN расшифровывает payload и добавляет подписку. Неверный — показывает ошибку с возможностью повтора.
Use case: распространение подписок с ограниченным сроком, когда raw URL не должен быть виден в истории чата, менеджерах буфера обмена или скриншотах. PIN передаётся отдельным каналом (лично, голосом).
HWID licensing
The app generates a random UUID v4 on first launch and stores it in the app's own preferences (key inhive_device_id_v3). Every subscription fetch sends it twice:
in the X-Hwid header — the header Remnawave/Happ-style panels track devices by;
inside the native User-Agent: InHive/4.8.6 (windows; b7f2c1d8-3a4e-4f9b-9c2d-1e8a7b6c5d4f). If the user turns on Client mimicry for your subscription, the User-Agent is another client's and carries no ID — X-Hwid is still sent.
The same request also carries X-Device-Os, X-Device-Model and X-Ver-Os (see What data we collect).
Providers can bind a subscription to one or more device IDs, limit total device count, or revoke per device. The HWID is anonymous — not derived from MAC address, IMEI, advertising ID, or any platform-bound identifier. The OS deletes it with the app on every platform, so a reinstall produces a new ID.
The provider stores HWID-to-subscription mapping server-side. The client never receives or processes the mapping; it just sends its ID with each request.
After a device replacement or reinstall the app comes with a new ID and takes one more device slot. Give users a way to remove old devices — a dashboard or a bot command.
Лицензирование по HWID
Приложение генерирует случайный UUID v4 при первом запуске и хранит его в собственных настройках приложения (ключ inhive_device_id_v3). Каждый запрос подписки отправляет его дважды:
в заголовке X-Hwid — по нему ведут устройства панели в стиле Remnawave/Happ;
внутри родного User-Agent: InHive/4.8.6 (windows; b7f2c1d8-3a4e-4f9b-9c2d-1e8a7b6c5d4f). Если пользователь включил для вашей подписки мимикрию клиента, User-Agent будет чужим и без ID — X-Hwid уходит всё равно.
Провайдеры могут привязать подписку к одному или нескольким device ID, ограничить число устройств или отозвать по device. HWID анонимен — не выводится из MAC-адреса, IMEI, рекламного ID или любого платформенного идентификатора. ОС удаляет его вместе с приложением на всех платформах, поэтому после переустановки ID новый.
Mapping HWID-к-подписке хранится на стороне провайдера. Клиент его не получает и не обрабатывает; просто отправляет свой ID с каждым запросом.
После замены устройства или переустановки приложение приходит с новым ID и занимает ещё один слот. Дайте пользователям способ удалять старые устройства — личный кабинет или команду в боте.
User-Agent identification
By default every subscription fetch carries the native User-Agent:
version — the installed app version, read at runtime from the platform package metadata.
platform — windows, android, ios, ipad, macos, linux. On iOS the app asks the system: an iPad reports ipad, the iOS build running on an Apple Silicon Mac reports macos.
device_id — locally generated UUID v4, the same value as X-Hwid (see HWID licensing).
Parse it leniently: new platform tokens can appear.
Client mimicry
Some panels choose the format and the set of servers by User-Agent, and serve an unknown client a reduced list or an HTML page. The user can make the app fetch a subscription as another client: a global preset (Settings → DNS settings → Client mimicry) and, since 4.8.6, a per-subscription override on the subscription's page. Subscriptions on inhive.ru and its subdomains always get the native User-Agent. X-Hwid and the device headers are sent with every preset.
версия — установленная версия приложения, читается в рантайме из метаданных пакета платформы.
платформа — windows, android, ios, ipad, macos, linux. На iOS приложение спрашивает систему: iPad отдаёт ipad, iOS-сборка на Mac с Apple Silicon — macos.
device_id — локально сгенерированный UUID v4, то же значение, что в X-Hwid (см. Лицензирование по HWID).
Разбирайте его нестрого: могут появиться новые токены платформ.
Мимикрия клиента
Некоторые панели выбирают формат и набор серверов по User-Agent и отдают незнакомому клиенту урезанный список или HTML-страницу. Пользователь может скачивать подписку под видом другого клиента: глобальный пресет (Настройки → DNS настройки → Мимикрия клиента) и, с 4.8.6, пресет для отдельной подписки на её странице. Подписки на inhive.ru и его поддоменах всегда получают родной User-Agent. X-Hwid и заголовки устройства уходят при любом пресете.
Список risk-apps для «Защищённой среды»: InHive/risk_apps.
Определение страны: InHive/CountryDetector или InHive/<версия>.
Провайдеры могут по родному User-Agent ограничивать доступ по версии, направлять на обновление или формировать платформо-зависимые списки серверов.
Routing rules
The sing-box route section drives which traffic goes through the tunnel vs direct. The app builds it from the user's settings; with nothing configured, all traffic goes through the selected server. Rules come from:
User rules (Split routing) — domain_suffix, domain_keyword, ip_cidr, and apps (process name on Windows/macOS/Linux, package name on Android). Each has a target: direct, block, or a specific server ("Choose config").
Country rules — remote rule-sets bypass/<country>.srs from TwilgateLabs/inhive-rules (ru, cn, ir, tr, eg, by, kz), 24-hour update interval.
User lists — the user's own rule-sets, by URL or from a file.
Provider rules — direct rules accepted from the active subscription's preset (see Provider presets). Rules are ordered by specificity; on conflict the user's rule wins.
Local proxy and hotspot — matches traffic entering through the local proxy port (TUN mode only).
There are no default geosite-private / geosite-ru rules.
InHive ships with a set of remote rule-sets fetched from the TwilgateLabs/inhive-rules repo:
geosite-ads.srs — OISD Big + EasyList, ~440k domains
These are rebuilt every 6 hours via GitHub Actions and pulled by the client with a 24-hour update interval. Enable via the single Block ads and threats toggle in Settings.
Правила маршрутизации
Секция route в sing-box определяет, какой трафик идёт через туннель, а какой напрямую. Приложение собирает её из настроек пользователя; если ничего не настроено, весь трафик идёт через выбранный сервер. Правила берутся из:
Правил пользователя («Разделение трафика») — domain_suffix, domain_keyword, ip_cidr и приложения (имя процесса на Windows/macOS/Linux, имя пакета на Android). У каждого назначение: напрямую, блок или конкретный сервер («Выбрать конфиг»).
Правил по странам — remote rule-sets bypass/<страна>.srs из TwilgateLabs/inhive-rules (ru, cn, ir, tr, eg, by, kz), интервал обновления 24 часа.
Своих списков — rule-sets пользователя, по ссылке или из файла.
Правил провайдера — правила «напрямую», принятые из пресета активной подписки (см. Пресеты провайдера). Правила упорядочиваются по специфичности; при конфликте побеждает правило пользователя.
Локальный прокси и хотспот — трафик, зашедший через порт локального прокси (только в режиме TUN).
Правил geosite-private / geosite-ru по умолчанию нет.
InHive поставляется с набором remote rule-sets, скачиваемых из репо TwilgateLabs/inhive-rules:
geosite-ads.srs — OISD Big + EasyList, ~440k доменов
Пересобираются каждые 6 часов через GitHub Actions, клиент тянет с интервалом 24 часа. Включается одним переключателем Блокировка рекламы и угроз в настройках.
Android Isolation API
InHive includes an Android Device Policy Controller (DPC) that provisions a Work Profile and clones selected apps into it. The Work Profile gives each cloned app a separate sandbox: separate data, separate network state visibility.
The feature shipped in InHive 4.3.0. Implementation is clean-room under Apache 2.0 — no Shelter / GPLv3 dependency.
Default preset: 30 apps sourced from open research (April 2026) that perform aggressive device fingerprinting. The endpoint /api/v1/risk_apps.json returns the high-risk packages plus a wider list of Russian apps (see risk_apps.json). The list is updated periodically based on new research.
Requirements:
Android 8.0 (API 26) or higher
Device must allow secondary user profiles (most consumer devices do)
User initiates provisioning via Settings → Protection → Secure environment (visible in every UI mode)
Cloned apps run inside the Work Profile and the user signs into them separately. The original app remains in the main profile and is uninstalled by the user manually.
Android Isolation API
InHive включает Android Device Policy Controller (DPC), который создаёт Work Profile и клонирует выбранные приложения в него. Work Profile даёт каждому клонированному приложению отдельную песочницу: отдельные данные, отдельная видимость сетевого состояния.
Фича появилась в InHive 4.3.0. Реализация clean-room под Apache 2.0 — без зависимости от Shelter / GPLv3.
Дефолтный пресет: 30 приложений из открытого исследования (апрель 2026), которые выполняют агрессивный fingerprinting устройства. Эндпоинт /api/v1/risk_apps.json возвращает пакеты высокого риска и более широкий список российских приложений (см. risk_apps.json). Обновляется периодически на основе новых исследований.
Требования:
Android 8.0 (API 26) и выше
Устройство должно разрешать secondary user profiles (большинство потребительских устройств — да)
Пользователь запускает provisioning через Настройки → Защита → Защищённая среда (видно в любом режиме интерфейса)
Клонированные приложения работают внутри Work Profile, пользователь логинится в них отдельно. Оригинал остаётся в основном профиле и удаляется пользователем вручную.
Bootstrap subscription fetch
Status: disabled in the client. The toggle has been hidden and the code path switched off since May 2026 (the endpoint carousel did not pass the smoke test), so subscription refreshes always use the regular HTTPS path. The mechanism below is documented for the record; the planned replacement is a DNS-tunnel fallback channel.
A fallback path for subscription updates when the regular HTTPS fetch fails. When the user enables the Subscription update masking toggle, the app spins up a one-shot mini-core on the device with a curated list of fallback endpoints across multiple regions, mixing VLESS Reality, NaiveProxy, and other protocols.
The mini-core uses sing-box urltest to pick the fastest reachable endpoint, fetches the subscription through it, then stops. The main VPN tunnel is briefly paused during the fetch (5-10 seconds without internet) and resumed with the updated server list.
The endpoint list ships in https://inhive.ru/api/bootstrap.json (see Bootstrap API) — an AES-256-GCM encrypted payload with an Ed25519 signature and key versioning. Credentials rotate with each app release. Server-side rate limiting (10 req/min per IP, 2 MB content cap, GET-only) prevents abuse if credentials leak.
The toggle auto-disables after a successful fetch. Use it only when standard fetch fails repeatedly.
Bootstrap-получение подписки
Статус: в клиенте отключено. Переключатель скрыт, а сам путь выключен с мая 2026 (карусель эндпоинтов не прошла проверку), поэтому обновление подписки всегда идёт обычным HTTPS. Механизм ниже описан для истории; планируемая замена — резервный канал через DNS-туннель.
Резервный путь обновления подписки, когда стандартный HTTPS-fetch падает. При включении переключателя Маскировка обновления подписок приложение поднимает одноразовое мини-ядро на устройстве со списком запасных эндпоинтов в разных регионах, миксует VLESS Reality, NaiveProxy и другие протоколы.
Мини-ядро через sing-box urltest выбирает самый быстрый доступный эндпоинт, фетчит подписку через него и завершается. Основной VPN-туннель кратко приостанавливается на время fetch'а (5-10 секунд без интернета) и возобновляется с обновлённым списком серверов.
Список эндпоинтов поставляется в https://inhive.ru/api/bootstrap.json (см. Bootstrap API) — это AES-256-GCM зашифрованный payload с Ed25519-подписью и версионированием ключа. Креды ротируются с каждым релизом приложения. Server-side rate limit (10 req/min per IP, 2 MB cap на контент, только GET) защищает от abuse при утечке кредов.
Переключатель авто-выключается после успешного fetch. Используйте только при повторных падениях стандартного fetch.
Hotspot QR sharing
The app generates a QR code containing your subscription URL — useful for moving a subscription from desktop to phone without copying through cloud services.
How to share:
On the source device — long-press the subscription in the side menu to open its page, then tap Share via QR. A dialog appears with the QR code.
On the target device — tap + → Scan QR (Android, iOS) and point the camera at the screen, or QR from file (Android, iOS, macOS) with a screenshot of the code. The new subscription is added automatically. Windows can't read QR codes yet — paste the link instead.
The QR encodes a deeplink: inhive://import?sub=URL_ENCODED&name=NAME. It is generated locally on device and never uploaded.
Privacy: anyone who sees the screen can read the QR — treat it like reading the subscription URL aloud. Share in a private space, or use the encrypted-deeplink flow from your provider bot for higher security.
Передача через QR-код
Приложение генерирует QR-код с URL подписки — удобно переносить подписку с десктопа на телефон без облака.
Как поделиться:
На исходном устройстве — долгим нажатием на подписку в боковом меню откройте её страницу и нажмите Поделиться через QR. Появится диалог с QR-кодом.
На целевом устройстве — нажмите + → Сканировать QR (Android, iOS) и наведите камеру на экран или QR из файла (Android, iOS, macOS) со скриншотом кода. Подписка добавится автоматически. Windows пока не читает QR-коды — вставьте ссылку.
QR кодирует deeplink: inhive://import?sub=URL_ENCODED&name=NAME. Генерируется локально на устройстве и никуда не загружается.
Приватность: любой, кто видит экран, может прочитать QR — относитесь к этому как к чтению URL подписки вслух. Делитесь в приватной обстановке либо используйте шифрованный deeplink из бота вашего провайдера для большей безопасности.
App update manifest (/version.json)
Since 4.7.x (July 2026) the client does not poll /version.json. It resolves the latest release straight from GitHub: a HEAD request to https://github.com/TwilgateLabs/inhive/releases/latest without following redirects, the version comes from the Location header (…/releases/tag/vX.Y.Z), and the download is …/releases/latest/download/InHive.apk on Android or …/releases/latest/download/InHive-setup.exe on Windows. The check runs direct or, when connected, through the local proxy of the core, so it works both with and without the tunnel. Clients up to 4.8.6 query the older per-platform repositories (TwilgateLabs/inhive-android, TwilgateLabs/inhive-windows); GitHub redirects them to the same releases. macOS and Linux have no release builds yet, so no check is made there; iOS updates through the App Store / TestFlight and hides the button.
https://inhive.ru/version.json (the Flask host; app.inhive.net (mirror app.inhive.ru) is the static site and answers 404 there) is still served as an informational manifest for integrators (cacheable for 5 minutes, CORS *):
level is one of force, recommended, none. There is no min_supported_version: older clients are not blocked, the app shows a non-blocking banner when a newer version exists.
Манифест обновлений (/version.json)
С 4.7.x (июль 2026) клиент не опрашивает /version.json. Он узнаёт последний релиз напрямую с GitHub: HEAD-запрос на https://github.com/TwilgateLabs/inhive/releases/latest без перехода по редиректу, версия берётся из заголовка Location (…/releases/tag/vX.Y.Z), скачивание — …/releases/latest/download/InHive.apk на Android или …/releases/latest/download/InHive-setup.exe на Windows. Проверка идёт напрямую или, при подключении, через локальный прокси ядра, так что работает и с туннелем, и без. Клиенты до 4.8.6 включительно обращаются к старым платформенным репозиториям (TwilgateLabs/inhive-android, TwilgateLabs/inhive-windows); GitHub редиректит их на те же релизы. Для macOS и Linux релизных сборок пока нет, проверка там не делается; iOS обновляется через App Store / TestFlight, кнопка скрыта.
https://inhive.ru/version.json (хост Flask; app.inhive.net (зеркало app.inhive.ru) — статический сайт, там 404) по-прежнему отдаётся как справочный манифест для интеграторов (кэш 5 минут, CORS *):
level — одно из force, recommended, none. Поля min_supported_version нет: старые клиенты не блокируются, приложение показывает неблокирующий баннер, когда есть новая версия.
Risk apps preset (/api/v1/risk_apps.json)
JSON list of Android apps for the Secure environment (Isolation) feature. The app uses it to mark which installed apps to move into the Work Profile.
URL:https://inhive.ru/api/v1/risk_apps.json — Cache-Control: no-cache, CORS *.
high_risk.packages — package names of apps that perform aggressive device fingerprinting (currently 30, from open research, April 2026). Marked as high risk.
russian.packages — package names of other Russian apps (currently 174). Marked as medium risk.
russian.name_patterns — lowercase substrings matched against the app's visible name, for apps whose package name isn't listed (currently 386). A match is medium risk.
Package names are compared case-insensitively. There are no per-app categories or migration fields.
The client ships a bundled copy for first start, fetches this URL only when the user taps refresh, and keeps the last good copy on the device.
Пресет risk_apps (/api/v1/risk_apps.json)
JSON-список Android-приложений для фичи «Защищённая среда» (Isolation). По нему приложение отмечает, какие из установленных приложений перенести в Work Profile.
URL:https://inhive.ru/api/v1/risk_apps.json — Cache-Control: no-cache, CORS *.
high_risk.packages — имена пакетов приложений, которые агрессивно снимают отпечаток устройства (сейчас 30, по открытому исследованию, апрель 2026). Высокий риск.
russian.packages — имена пакетов остальных российских приложений (сейчас 174). Средний риск.
russian.name_patterns — подстроки в нижнем регистре, которые ищутся в видимом имени приложения, если его пакета нет в списках (сейчас 386). Совпадение — средний риск.
Имена пакетов сравниваются без учёта регистра. Категорий и полей миграции у приложений нет.
Клиент поставляется со встроенной копией для первого запуска, скачивает этот URL только по кнопке обновления и хранит последнюю удачную копию на устройстве.
Bootstrap endpoints (/api/v1/bootstrap.json)
JSON manifest with a rotating carousel of fallback endpoints used by the Bootstrap subscription-fetch feature. The payload is encrypted and signed; the client verifies on device.
Primary URL:https://inhive.ru/api/bootstrap.json (also available via GitHub raw and jsDelivr CDN as mirrors — useful when the primary domain is throttled by DPI).
Inner payload (after decryption) lists fallback endpoints across multiple geographies and protocols (Reality, NaiveProxy, etc.). The list is rotated by the server independently of app releases.
Local cache — the last successful fetch, used only when all three URLs fail (considered stale after 7 days, still used)
Embedded fallback baked into the application binary
Requests go direct, not through the VPN, with a short timeout each.
The AES key and Ed25519 public key are embedded in every release and rotated on release cadence. Clients carry the last few key versions so a fresh server payload can still be decrypted by users who haven't updated immediately.
Bootstrap-эндпоинты (/api/v1/bootstrap.json)
JSON-манифест с ротируемой каруселью запасных эндпоинтов для фичи Bootstrap-получения подписки. Payload зашифрован и подписан; клиент проверяет всё на устройстве.
Основной URL:https://inhive.ru/api/bootstrap.json (также доступен через GitHub raw и jsDelivr CDN как зеркала — полезно когда основной домен троттлится DPI).
Внутренний payload (после расшифровки) перечисляет запасные эндпоинты в разных географиях и протоколы (Reality, NaiveProxy и др.). Список ротируется сервером независимо от релизов приложения.
Локальный кэш — последний успешный fetch, только если все три URL не ответили (через 7 дней считается устаревшим, но используется)
Встроенный fallback в бинарь приложения
Запросы идут напрямую, мимо VPN, с коротким таймаутом на каждый.
AES-ключ и Ed25519 public key зашиты в каждый релиз и ротируются при релизах. Клиент хранит последние несколько версий ключей чтобы юзеры которые не обновились мгновенно всё равно могли расшифровать свежий payload с сервера.
Country flag detection
The server list shows a country flag next to each server. The app derives the country from the server name (the #NAME part of the URI) in three passes:
Flag emoji — if the name starts with a regional-indicator pair, that country is used. Example: #🇩🇪 Germany — Berlin → DE.
ISO prefix — if the name starts with a two-letter ISO code followed by a character that is neither a letter nor a digit: DE Berlin, US-1, NL|fast. UK is read as GB.
Keywords — otherwise the app looks for English and Russian country names and some city names anywhere in the name: United States, Германия, Нидерланды, Chicago and so on.
A flag emoji or ISO prefix is stripped from the displayed name. With no match the server shows a globe icon.
The country is not only decoration. It drives the location list in the simple layout, the country filter, and auto-select: when a server dies, a replacement in the same country is tried first. Servers without a detectable country are grouped under No country.
Recommendation for subscription providers: start each server name with the flag emoji or the ISO code. It works for every country, including ones missing from the keyword list.
Определение флагов стран
Список серверов показывает флаг страны рядом с каждым сервером. Страну приложение определяет по имени сервера (часть #NAME в URI) в три прохода:
Флаг-эмодзи — если имя начинается с пары regional indicator, берётся эта страна. Пример: #🇩🇪 Germany — Berlin → DE.
ISO-префикс — если имя начинается с двухбуквенного ISO-кода, за которым идёт символ, не буква и не цифра: DE Berlin, US-1, NL|fast. UK читается как GB.
Ключевые слова — иначе приложение ищет в имени английские и русские названия стран и некоторых городов: United States, Германия, Нидерланды, Chicago и так далее.
Флаг-эмодзи или ISO-префикс убирается из отображаемого имени. Если совпадений нет, у сервера иконка глобуса.
Страна — не только украшение. От неё зависят список локаций в простом режиме, фильтр по странам и авто-выбор: когда сервер умер, сначала пробуется замена в той же стране. Серверы без определимой страны собраны в пункте Без страны.
Рекомендация провайдерам подписок: начинайте имя каждого сервера с флага-эмодзи или ISO-кода. Это работает для любой страны, в том числе той, которой нет в списке ключевых слов.