System tunnel and local proxy at the same time — up to 3 IPs on one device. The only client that runs both modes side by side, each pointing to its own exit server. Combined with routing rules, your traffic goes out through three different IPs at once — your real IP, the system-tunnel exit, and the local-proxy exit.
21 modern proxy protocols — VLESS Reality, Hysteria2, NaiveProxy, TUIC, Trojan, ShadowTLS, AnyTLS, Shadowsocks, WireGuard, AmneziaWG, Mieru, DNSTT, SSH, UTProto (our own), and more. Broadest coverage among universal VPN clients.
Encrypted subscription links — share your subscription through PIN-protected inhive://sub links. The raw URL is never visible in chat history.
Backup subscription endpoints — your provider can publish backup URLs. If the main one is blocked, the app switches automatically. No other client does this.
Bootstrap update — refresh your subscription through a built-in fallback path when the main URL is filtered. Works even on hostile networks.
Android Isolation — built-in setup for Android Work Profile. Sandbox apps that don't like VPN in two taps.
Traffic disguise — make your traffic look like a normal browser visiting a normal website. Multiple tools, all enabled out of the box.
Privacy by design — no accounts, no telemetry, no tracking. Your subscription URL stays on your device.
Key features
Up to 3 IPs at once
Two different VPN servers — one for the system tunnel, one for the local proxy — plus your real IP for apps you put in bypass. All from one device.
One-tap Connect
The fastest server is picked for you. Everything on your device goes through the tunnel.
Bring your own subscription
Paste any URL — InHive understands every common subscription format and 14 different link types.
Split tunnel
Send specific apps, domains, or providers around the tunnel — keep banking and government apps on your real connection.
Smart failover
The app pings servers in the background and switches to a faster one if yours starts lagging. No manual reconnect.
Subscription links
Add a subscription with one click. Encrypted versions with PIN protection use inhive://sub.
Cross-device QR
Generate a QR code on one device and scan it on another to move your subscription over.
Subscription content: base64-encoded URI list (most common), plain text URI list, Clash YAML
Custom config: raw sing-box JSON (with enableRawConfig flag)
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.
Системный туннель и локальный прокси одновременно — до 3 IP на одно устройство. Единственный клиент, который запускает оба режима параллельно, и каждый идёт через свой VPN-сервер. Вместе с правилами маршрутизации трафик уходит через три разных IP сразу — ваш настоящий IP, exit системного туннеля и exit локального прокси.
21 современный протокол — VLESS Reality, Hysteria2, NaiveProxy, TUIC, Trojan, ShadowTLS, AnyTLS, Shadowsocks, WireGuard, AmneziaWG, Mieru, DNSTT, SSH, UTProto (наш собственный) и другие. Шире покрытие чем у конкурентов.
Шифрованные ссылки подписок — делитесь подпиской через PIN-защищённые ссылки inhive://sub. Исходный URL никогда не виден в истории чата.
Резервные адреса подписки — провайдер может опубликовать запасные URL. Если основной заблокирован — приложение само переключится. Ни у кого больше такого нет.
Bootstrap-обновление — обновление подписки через встроенный обходной канал, когда основной URL фильтруется. Работает даже на враждебных сетях.
Android Isolation — встроенная настройка Android Work Profile. Изоляция приложений, которые не любят VPN, в два тапа.
Маскировка трафика — ваш трафик выглядит как обычный браузер, открывающий обычный сайт. Несколько техник, все включены из коробки.
Приватность by design — без аккаунтов, без телеметрии, без трекинга. URL подписки хранится только на устройстве.
Ключевые возможности
До 3 IP на одно устройство
Два разных VPN-сервера — один для системного туннеля, другой для локального прокси — плюс ваш реальный IP для приложений в обходе. Всё с одного устройства.
Подключение в одно касание
Самый быстрый сервер выбирается автоматически. Весь трафик с устройства уходит через туннель.
Своя подписка
Вставьте любую ссылку — InHive понимает все распространённые форматы подписок и 14 типов ссылок.
Split tunnel
Отправляйте конкретные приложения, домены или провайдеров мимо туннеля — банк и Госуслуги остаются на вашем реальном подключении.
Умное переключение
Приложение пингует серверы в фоне и переключается на более быстрый, если ваш тормозит. Без ручного реконнекта.
Ссылки на подписки
Добавьте подписку в один клик. Зашифрованные версии с защитой PIN используют inhive://sub.
QR между устройствами
Сгенерируйте QR на одном устройстве и отсканируйте на другом, чтобы перенести подписку.
Поддерживаемые протоколы (21)
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-туннелирование
SOCKS
SOCKS5 outbound
HTTP
HTTP CONNECT outbound
Tor
Tor onion-маршрутизация
Tailscale
Tailscale mesh (на базе WireGuard)
Psiphon
Обфусцированный транспорт Psiphon
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-туннелирование
SOCKS
SOCKS5 outbound
HTTP
HTTP CONNECT outbound
Tor
Tor onion-маршрутизация
Tailscale
Tailscale mesh (на базе WireGuard)
Psiphon
Обфусцированный транспорт Psiphon
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-туннелирование
SOCKS
SOCKS5 outbound
HTTP
HTTP CONNECT outbound
Tor
Tor onion-маршрутизация
Tailscale
Tailscale mesh (на базе WireGuard)
Psiphon
Обфусцированный транспорт Psiphon
Форматы подписки
Вставьте любое из:
URI-схемы:vless://, vmess://, trojan://, ss://, naive+https://, naive+quic://, hysteria2:// (или hy2://), tuic://, wireguard:// (или wg://), awg://, mieru://, dnstt://, utproto://, ssh://
Кастомный конфиг: сырой sing-box JSON (с флагом enableRawConfig)
Приватность
InHive не собирает персональных данных. Приложение — это клиент-утилита, мы не предоставляем VPN-серверы. Вы сами отвечаете за соблюдение законов своей юрисдикции.
Требуется 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).
Планируется. Flutter Linux-сборка с интеграцией через systemd.
Что нового
Полный changelog для каждой версии — на странице релиза в соответствующем зеркале.
InHive Privacy Policy
Effective date: 11 May 2026
Version: 1.0
1. Introduction
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 https://inhive.ru/privacy 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: 11 May 2026
Политика конфиденциальности InHive
Дата вступления в силу: 11 мая 2026 г.
Версия: 1.0
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. Изменения политики
Мы можем обновлять эту Политику. Существенные изменения публикуются на странице https://inhive.ru/privacy с новой датой вступления в силу. Для предыдущих версий доступна история на той же странице.
Мы стараемся ответить в течение 7 рабочих дней; для запросов, связанных с правами субъекта данных (раздел 10), — в течение 30 дней.
Дата последнего обновления: 11 мая 2026 г.
InHive Terms of Service
Effective date: 11 May 2026
Version: 1.0
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.
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 https://inhive.ru/terms 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.
Дата вступления в силу: 11 мая 2026 г.
Версия: 1.0
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. Изменения Условий
Разработчик может обновлять настоящие Условия. Существенные изменения публикуются на странице https://inhive.ru/terms с новой датой вступления в силу. Продолжение использования Приложения после публикации обновлённых Условий означает согласие с ними.
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 21 modern proxy protocols, including VLESS with Reality, Hysteria2, NaiveProxy, TUIC, Trojan, WireGuard, and our own.
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.
macOS — in development.
Что такое InHive?
InHive — бесплатный кроссплатформенный VPN-клиент. Вы приносите свой VPN-сервер через ссылку-подписку или вставленный конфиг, а приложение к нему подключается.
Приложение работает с 21 современными прокси-протоколами: VLESS c Reality, Hysteria2, NaiveProxy, TUIC, Trojan, WireGuard и наш собственный.
Чем InHive не является
Мы не держим VPN-серверы. Подписку даёт тот, кто её предоставляет — друг, платный сервис или ваша собственная установка. Ссылка подписки остаётся на устройстве и не отправляется в аналитику.
Платформы
Windows и Android — доступны сейчас.
iOS — в TestFlight.
macOS — в разработке.
How to download InHive
Get InHive from official channels only. Each platform has its own way:
On Windows
Download inhive-windows-x64.zip from GitHub releases.
Unzip it anywhere.
Run inhive.exe. No installer needed.
On Android
Download the universal APK from GitHub releases.
Open it from your file manager and tap Install.
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-windows-x64.zip с GitHub releases.
Распакуйте архив в любое место.
Запустите inhive.exe. Установщик не нужен.
На Android
Скачайте универсальный APK с GitHub releases.
Откройте файл через файловый менеджер и нажмите Установить.
Релиз в 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 manually
Tap + on the Home page.
Paste the subscription link. Set a custom name if you want.
Tap Add. The app fetches the servers and shows them in the list.
Other ways
Scan a QR code (Android, iOS) — tap the camera button in the add-subscription dialog.
Open a deep link — tap an inhive://import?sub=URL link from your browser or messenger. The dialog opens with the link already filled in.
What happens next
The subscription link stays on your device. The app refreshes the server list periodically — once a day by default. You can change the interval per profile.
Как добавить подписку
Подписка — это ссылка, которая возвращает список серверов. Добавьте её, и можно подключаться.
Добавить вручную
Нажмите + на главном экране.
Вставьте ссылку подписки. При желании задайте имя.
Нажмите Добавить. Приложение скачает серверы и покажет в списке.
Другие способы
Сканировать QR-код (Android, iOS) — кнопка камеры в диалоге добавления.
Открыть deep link — нажмите на ссылку вида inhive://import?sub=URL в браузере или мессенджере. Диалог откроется с уже подставленной ссылкой.
Что дальше
Ссылка подписки хранится только на устройстве. Приложение обновляет список серверов периодически — раз в сутки по умолчанию. Интервал настраивается отдельно для каждого профиля.
One-tap Connect
The big button on the Home page handles connect and disconnect.
Tap once — the app picks the fastest server from your subscription by ping and starts the tunnel.
Tap again — disconnect.
How the auto-pick works
Before connecting, the app pings every server in your subscription and picks the snappiest one. If that server fails to set up the connection, the app falls back to the next-fastest one on its own.
Pick a server yourself
Turn on Advanced mode in Settings. The full server list becomes tappable, and you can choose any server directly.
Подключение в один тап
Большая кнопка на главном экране отвечает за подключение и отключение.
Один тап — приложение выбирает самый быстрый сервер из подписки по пингу и запускает туннель.
Повторный тап — отключение.
Как работает авто-выбор
Перед подключением приложение пингует все серверы подписки и выбирает самый отзывчивый. Если установить соединение с ним не удалось, приложение само переходит к следующему по скорости.
Выбрать сервер вручную
Включите Расширенный режим в настройках. Весь список серверов станет кликабельным, и вы сможете выбрать любой.
Choosing a server
Turn on Advanced mode in Settings to see the full server list with a ping reading for each one. Tap any server to switch to 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 и так далее.
Пинг — в миллисекундах, обновляется в реальном времени.
Меньший пинг обычно означает меньшую задержку, но реальная скорость зависит от протокола и качества вашего соединения.
Auto-failover and ping
InHive keeps an eye on your active server and switches to a faster one if it slows down.
How the check works
Every few seconds the app pings the active server against https://www.gstatic.com/generate_204. If response time slips past your tolerance (50 ms by default), the app picks a faster server.
Switching is seamless
Existing TCP connections finish on the old server while new ones start on the new server. You don't see a reconnect dialog and nothing drops on your screen.
Tune it
Open Settings → Auto-select to change tolerance and check interval. Set tolerance to 0 to turn auto-switching off — the app then stays on the server you picked.
Авто-переключение и пинг
InHive следит за активным сервером и переключается на более быстрый, если текущий начал тормозить.
Как работает проверка
Каждые несколько секунд приложение пингует активный сервер через https://www.gstatic.com/generate_204. Если время отклика выходит за допуск (по умолчанию 50 мс), приложение выбирает сервер пошустрее.
Переключение незаметное
Текущие TCP-соединения дорабатываются на старом сервере, новые открываются уже на новом. Никаких диалогов о переподключении, ничего не падает.
Настройка
Откройте Настройки → Авто-выбор, чтобы изменить допуск и интервал проверки. Допуск 0 отключает авто-переключение — приложение остаётся на выбранном вами сервере.
TUN mode vs Proxy mode
InHive can send your traffic through the VPN in two different ways, called System mode and App mode. 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:12334. 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.
Use both at the same time
You can run both modes together, each pointing to a different VPN server. Combined with routing rules, that gives you up to three different IPs on one device. See Three IPs from one device.
Режим TUN vs Proxy
InHive может пускать ваш трафик через VPN двумя разными способами — системный режим и режим приложений. Они работают по-разному и требуют разного.
Системный режим (он же TUN)
Приложение создаёт виртуальное сетевое подключение на уровне операционной системы и заворачивает всё, что выходит из устройства, в туннель. Все приложения покрываются автоматически, даже те, которые игнорируют настройки прокси (большинство игр, некоторые мессенджеры).
Этому режиму нужно дополнительное разрешение:
Windows — запрос администратора при первом включении.
Android — системный диалог «Запрос подключения: InHive хочет настроить VPN…». Один тап.
iOS — добавление VPN-конфигурации в Настройках. Один тап + Face ID или код-пароль.
Режим приложений (он же Proxy)
Приложение поднимает локальный прокси на 127.0.0.1:12334. Приложения, которые умеют ходить через прокси (браузеры, некоторые мессенджеры, командные утилиты), идут через него. Те, которые не умеют — продолжают использовать обычный интернет.
На Windows приложение дополнительно записывает настройки прокси в системный реестр, и большинство браузеров подхватывают их сами.
Этому режиму не нужно разрешение администратора или VPN. Он легче и быстрее отключается, но покрывает меньше приложений.
Что выбрано по умолчанию
Системный режим на Android и iOS. Режим приложений на Windows.
Оба режима одновременно
Можно запустить оба режима параллельно, и каждый будет идти через свой VPN-сервер. Вместе с правилами маршрутизации это даёт до трёх разных IP с одного устройства. См. Три IP с одного устройства.
Three IPs from one device (TUN + Proxy)
InHive can run the system tunnel and a local proxy at the same time, each through its own VPN server. Combined with routing rules, your traffic flows through up to three different IPs on one device:
Your real IP — apps you put in bypass go through your normal internet connection.
System-tunnel server IP — everything else on the device goes through this server.
Local-proxy server IP — apps that connect to 127.0.0.1:12334 (browsers, manual proxy clients) go through this server.
Turning on dual mode
On the Home screen there's a + button between the TUN and Proxy tabs. Tap it. The button turns gold and dual mode is on. The first time, you'll see a short onboarding dialog.
Dual mode is off by default. New profiles in Advanced mode start with it disabled.
Picking a server for each mode
Once dual mode is on, the server list has two tabs: TUN and Proxy. Pick a server on each tab separately.
Open the TUN tab and tap server A. A is now where your system traffic goes.
Open the Proxy tab and tap server B. B is now where your local-proxy traffic goes.
The active tab is highlighted gold; the other is dimmed.
Routing rules — which app goes where
Routing rules live in Settings → Split Routing. This screen only shows up in Advanced mode (turn it on in Settings first).
You can match traffic by three things:
By app — Android lets you pick installed apps from a list. On Windows and macOS, the app is matched by its process name (for example chrome.exe). iOS doesn't support per-app rules — Apple doesn't expose that to VPN apps.
By domain — domain suffix like example.com. Subdomains are included automatically.
By IP or IP range — single addresses (8.8.8.8) or ranges (192.0.2.0/24).
By default, anything matched by a rule goes around the tunnel — your real IP. To send specific apps through the local-proxy server instead, pick them under the Proxy tab. Apps under TUN go through the system-tunnel server, apps under Proxy go through the local-proxy server, anything matched by a bypass rule goes through your real connection.
Platform support
Android — full support. Per-app, domain, and IP rules.
Windows / macOS — full support. Per-process, domain, and IP rules.
iOS — dual mode works. Per-app rules unavailable (Apple restriction). Domain and IP rules work.
Common scenarios
Banking app stays on real IP, everything else through VPN. Turn on dual mode. In Split Routing → Apps, add your banking app to bypass. It now uses your real IP; everything else goes through the system tunnel.
Different VPN for browser and for the rest. Pick server A on the TUN tab (general traffic). Pick server B on the Proxy tab. Your browser, set to use the local proxy, will go through B; everything else goes through A.
Region split. Pick a server in region A on the Proxy tab and a server in region B on TUN. Tell your browser to use 127.0.0.1:12334 when you need region-A IP; the rest of the device stays on region B.
One thing to know: you can save routing rules while dual mode is off, but they only take effect when dual is on. Both modes need to be active for the app to split between them.
Три IP с одного устройства (TUN + Proxy)
InHive может одновременно запускать системный туннель и локальный прокси, каждый — через свой VPN-сервер. Вместе с правилами маршрутизации трафик с одного устройства уходит через три разных IP:
Ваш реальный IP — приложения в обходе ходят через ваше обычное интернет-подключение.
IP сервера системного туннеля — всё остальное на устройстве идёт через этот сервер.
IP сервера локального прокси — приложения, которые ходят через 127.0.0.1:12334 (браузеры, ручные клиенты с настройкой прокси), идут через этот сервер.
Включение двойного режима
На главном экране между вкладками TUN и Proxy есть кнопка +. Нажмите её — кнопка станет золотой, двойной режим включён. При первом включении появится короткий onboarding-диалог.
По умолчанию двойной режим выключен. Новые профили в Расширенном режиме стартуют с выключенным.
Выбор сервера для каждого режима
После включения двойного режима в списке серверов появляются две вкладки: TUN и Proxy. На каждой выбирается сервер отдельно.
Откройте вкладку TUN и нажмите на сервер A. Теперь A — это куда идёт ваш системный трафик.
Откройте вкладку Proxy и нажмите на сервер B. Теперь B — это куда идёт трафик локального прокси.
Активная вкладка подсвечена золотом, другая — приглушена.
Правила маршрутизации — какое приложение куда
Правила маршрутизации находятся в Настройки → Split Routing. Экран появляется только в Расширенном режиме (включите его в настройках сначала).
Совпадения можно ловить по трём вещам:
По приложению — на Android выбираете установленные приложения из списка. На Windows и macOS приложение ловится по имени процесса (например chrome.exe). iOS правила по приложениям не поддерживает — Apple не даёт VPN-приложениям такой контроль.
По домену — суффикс домена, например example.com. Поддомены подхватываются автоматически.
По IP или диапазону IP — отдельные адреса (8.8.8.8) или диапазоны (192.0.2.0/24).
По умолчанию всё что совпало с правилом идёт в обход туннеля — то есть через ваш реальный IP. Чтобы конкретные приложения шли через сервер локального прокси, добавьте их во вкладку Proxy. Приложения во вкладке TUN идут через сервер системного туннеля, во вкладке Proxy — через сервер локального прокси, всё что в bypass — через ваше реальное подключение.
Поддержка платформ
Android — полная поддержка. Правила по приложению, домену, IP.
Windows / macOS — полная поддержка. Правила по процессу, домену, IP.
iOS — двойной режим работает. Правила по приложению недоступны (ограничение Apple). По домену и IP — работают.
Типичные сценарии
Банковское приложение на реальном IP, остальное через VPN. Включите двойной режим. В Split Routing → Приложения добавьте банк в bypass. Банк ходит через ваш реальный IP; всё остальное — через системный туннель.
Один VPN для браузера, другой — для остального. На вкладке TUN выберите сервер A (общий трафик). На вкладке Proxy выберите сервер B. Браузер, настроенный на локальный прокси, пойдёт через B; остальное — через A.
Региональное разделение. Выберите сервер в регионе А на вкладке Proxy и сервер в регионе Б на TUN. Настройте браузер на 127.0.0.1:12334 когда нужен IP региона А; остальное на устройстве остаётся через сервер региона Б.
Что важно знать: правила маршрутизации можно сохранять и при выключенном двойном режиме, но они применяются только когда двойной режим включён. Оба режима должны быть активны чтобы приложение могло распределять между ними.
Split tunnel
Split tunnel keeps part of your traffic outside the VPN. The excluded traffic goes through your regular internet connection and uses your real IP.
Three ways to exclude
By domain — list domain names like bank.example.com or gov.example.com. Useful for sites that block VPN traffic.
By app (Android only) — pick installed apps from a list. Their traffic skips the tunnel.
By provider — pre-built rule lists for major regional internet providers, updated weekly. Useful when you want local services to stay on your local IP.
Set it up in Settings → Split tunnel.
Раздельное туннелирование
Раздельное туннелирование держит часть трафика вне VPN. Исключённый трафик идёт через обычное интернет-подключение и использует ваш реальный IP.
Три способа исключить
По домену — список доменов, например bank.example.com или gov.example.com. Полезно для сайтов, которые блокируют VPN.
По приложению (только Android) — выбор установленных приложений из списка. Их трафик пройдёт мимо туннеля.
По провайдеру — готовые списки правил для крупных региональных интернет-провайдеров, обновляются раз в неделю. Удобно, когда локальные сервисы должны оставаться на вашем локальном IP.
Настраивается в Настройки → Раздельное туннелирование.
Traffic obfuscation
InHive ships several traffic disguise settings that make your VPN connection harder for networks to spot and block.
What's inside
Browser-like fingerprint — your connection looks like a real browser (Chrome, Firefox, Safari, or Edge) instead of a VPN client.
Encrypted Client Hello (ECH) — hides the destination site name during the connection setup.
Connection-setup fragmentation — splits the first packet into pieces so deep-inspection tools can't read it in one go.
Mixed-case domain name — randomises letter case in the destination name (ExAmPlE.cOm) to bypass simple keyword filters.
Stream multiplexing — packs several connections inside one to look like normal web traffic.
Where to set it
Open Settings → Traffic obfuscation. Each profile has its own settings. The defaults are sensible — change them only if you know what you're doing.
Маскировка трафика
В InHive есть несколько настроек маскировки трафика, которые усложняют сетям обнаружение и блокировку VPN-соединения.
Что внутри
Браузероподобный отпечаток — соединение выглядит как настоящий браузер (Chrome, Firefox, Safari или Edge), а не VPN-клиент.
Encrypted Client Hello (ECH) — скрывает имя сайта во время установки соединения.
Фрагментация установки соединения — разбивает первый пакет на части, чтобы инструменты глубокой инспекции не могли прочитать его целиком.
Смешанный регистр доменного имени — случайный регистр букв в имени назначения (ExAmPlE.cOm) для обхода простых фильтров по ключевым словам.
Мультиплексирование потоков — упаковка нескольких соединений в одно, чтобы выглядеть как обычный веб-трафик.
Где настраивается
Откройте Настройки → Маскировка трафика. Каждый профиль настраивается отдельно. Значения по умолчанию разумные — меняйте, только если понимаете последствия.
Cannot connect
Walk through these in order — most issues match the first or second.
Check the subscription
Open the subscription details page. 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.
Try a different server
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.
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
Open Settings → Logs to see the exact connection-setup error. It usually points straight at the cause.
Не получается подключиться
Пройдитесь по списку по порядку — чаще всего проблема в первом или втором пункте.
Проверьте подписку
Откройте детали подписки. Если Срок в прошлом или список серверов пуст, подписку отозвали или ссылка неверная. Попросите у провайдера новую.
Попробуйте другой сервер
Выберите другой сервер из списка. Если падают все, провайдер скорее всего лежит — подождите или напишите ему.
Обойдите файрвол
Корпоративный или государственный файрвол может блокировать конкретные протоколы или порты. Переключитесь на сервер с другим протоколом — попробуйте Hysteria2 если падает VLESS Reality, или наоборот.
Проверьте конфликт прокси (Windows)
Другой VPN-клиент или антивирус может перезаписать системный прокси. Отключите остальные VPN-приложения перед подключением.
Проверьте время
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.
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. Lower MTU in Settings → TUN to 1280-1380 and try again.
Server overload
Free or shared servers slow down at peak hours. Try again late at night.
Measure exact speed
Tap the speedometer icon on the Home screen to run a real speed test through the active server.
Низкая скорость
Сервер работает, но скорость низкая. Пройдитесь по списку по порядку.
Поменяйте сервер
Ближайший — не всегда самый быстрый. Попробуйте пару серверов из списка и сравните.
Проверьте, не блокируется ли UDP
Hysteria2, TUIC и WireGuard работают по UDP. Некоторые мобильные операторы и корпоративные сети режут UDP — скорость падает почти до нуля. Переключитесь на TCP-протокол: VLESS, Trojan или NaiveProxy.
Проверьте сигнал (мобильный)
Слабый WiFi или сотовый сигнал ограничивает физический канал. VPN не может быть быстрее сети под ним.
Подкрутите MTU
Если страницы загружаются частично, а большие файлы виснут, MTU не подходит для вашей сети. Снизьте MTU в Настройки → TUN до 1280-1380 и проверьте.
Перегрузка сервера
Бесплатные и общие серверы тормозят в пиковые часы. Попробуйте ночью.
Измерьте реальную скорость
Нажмите на иконку спидометра на главном экране, чтобы запустить настоящий тест скорости через активный сервер.
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
The app collects the minimum it needs to work — nothing more.
What we collect
Device hardware ID (HWID) — a random ID generated on your device. The app sends it when fetching your subscription so providers can bind the subscription to your device and limit device counts. Anonymous, not tied to any personal data.
App version and platform — sent when the app fetches your subscription or checks for updates.
What we never collect
Browsing history
DNS queries
The content of your traffic
Contact lists
Advertising IDs
Location
Your subscription link stays on the device. We never see it.
Какие данные мы собираем
Приложение собирает минимум, нужный для работы, и больше ничего.
Что мы собираем
Hardware ID (HWID) — случайный идентификатор, сгенерированный на вашем устройстве. Приложение отправляет его при запросе подписки, чтобы провайдеры могли привязать подписку к устройству и ограничить количество устройств. Анонимен, не связан с персональными данными.
Версия приложения и платформа — отправляются при запросе подписки и проверке обновлений.
Что мы никогда не собираем
Историю посещений
DNS-запросы
Содержимое вашего трафика
Контакты
Рекламные идентификаторы
Геолокацию
Ссылка подписки остаётся на устройстве. Мы её не видим.
No-logs policy
InHive has no server backend, so there are no server-side logs of your connections. Where you connected, when, and for how long stays on your device.
Debug logs are local
Open Settings → Logs to see connection errors and per-server stats. We keep them so you can troubleshoot — they're never uploaded by default. Clear them anytime with one tap.
DNS queries
The app doesn't log your DNS queries. If you turn on DNS-over-HTTPS (DoH) in Settings, queries go to the resolver you choose — Quad9 by default. What that 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 нет серверной части, поэтому нет и серверных логов соединений. Куда вы подключались, когда и как долго — остаётся на вашем устройстве.
Debug-логи только локально
Откройте Настройки → Логи, чтобы посмотреть ошибки соединения и статистику по серверам. Логи нужны вам для диагностики — по умолчанию никуда не отправляются. Очищаются одним тапом.
DNS-запросы
Приложение не логирует ваши DNS-запросы. Если включить DNS-over-HTTPS (DoH) в настройках, запросы идут на выбранный вами резолвер — по умолчанию Quad9. Что логирует резолвер, определяет его собственная политика.
Что стоит знать
VPN-сервер, к которому вы подключаетесь — отдельная сторона. Его политика логирования зависит от того, кто его держит, а не от InHive.
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).
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.
HTTP status must be 200. Content-Type is not strict — clients ignore it. HTTPS strongly recommended; the app refuses to fetch from plain HTTP except for IP-literal URLs.
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-списка выше. Клиент сам определяет формат и декодирует при необходимости.
HTTP-статус обязан быть 200. Content-Type не строгий — клиент игнорирует. HTTPS настоятельно рекомендуется; приложение отказывается фетчить с plain HTTP кроме IP-literal URL.
Необязательные заголовки ответа несут метаданные профиля (см. Заголовки подписки).
Supported URI schemes
The client parses 21 protocol URIs. Each line of the subscription body is one URI.
The client parses this list (only https:// entries are accepted — HTTP downgrade is rejected) and stores it in SharedPreferences keyed by subscription ID.
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. The list refreshes whenever any fetch succeeds.
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.
Множественные эндпоинты подписки
The clientввёл open-standard механизм fallback для доставки подписок. Провайдер добавляет заголовок в ответ:
Клиент парсит список (принимаются только https://-записи — HTTP-downgrade отклоняется) и сохраняет в SharedPreferences по subscription ID.
При следующих fetch'ах, если primary URL падает (сетевая ошибка, DNS failure, timeout, не-200), клиент перебирает кэшированные альтернативы по порядку. Используется первый успешный ответ. Список обновляется при каждом успешном fetch.
Use case: провайдер хостит подписку на нескольких регионах или провайдерах; один CDN-регион блокируется или падает — клиент прозрачно уходит на рабочий.
Provider presets
The provider preset system (currently in proposal stage, not yet released) extends the subscription contract so a provider can ship recommended client settings alongside servers. The provider sends a JSON payload in custom headers:
X-InHive-Provider-Name: My Provider X-InHive-Provider-Settings: BASE64(JSON) X-InHive-Provider-Settings-Sig: ED25519_SIG (optional)
The JSON payload lists recommended values for fragment, MUX, uTLS fingerprint, ECH, TUN stack, DNS resolver, and routing rules (domain suffix, IP CIDR, geosite → direct/proxy).
On first import the app shows a dialog listing the recommended settings. The user can accept (settings applied with a per-field marker showing the source provider) or skip (subscription added with default settings, recommendations ignored).
Restricted: provider cannot push kill-switch, per-app split rules, custom server credentials, or the subscription URL itself. The whitelist is enforced client-side.
Specification status: proposal phase. Final schema TBD.
Пресеты провайдера
Система provider preset (на стадии proposal, ещё не выпущена) расширяет контракт подписки — провайдер может отдавать рекомендованные настройки клиента вместе с серверами. Провайдер шлёт JSON в кастомных заголовках:
X-InHive-Provider-Name: My Provider X-InHive-Provider-Settings: BASE64(JSON) X-InHive-Provider-Settings-Sig: ED25519_SIG (опционально)
JSON содержит рекомендованные значения для fragment, MUX, uTLS fingerprint, ECH, TUN stack, DNS-резолвера и правил маршрутизации (domain suffix, IP CIDR, geosite → direct/proxy).
При первом импорте приложение показывает диалог с перечнем рекомендаций. Пользователь принимает (настройки применяются с маркером источника по каждому полю) или отказывается (подписка добавляется со значениями по умолчанию, рекомендации игнорируются).
Ограничения: провайдер не может push'ить kill-switch, per-app split-правила, кастомные креды серверов или сам URL подписки. Whitelist проверяется на клиенте.
Статус спецификации: proposal. Финальная схема ещё не зафиксирована.
Deeplink: inhive://import
The app registers the inhive:// URL scheme on Android, iOS, and Windows. The import action prefills the add-subscription dialog from a URL parameter.
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 prefills the add-subscription dialog. 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 stable per-install UUID on first launch and stores it in SharedPreferences (key device_id). This UUID is sent with every subscription fetch as part of the User-Agent header:
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. It is a random UUID, regenerated on app reinstall.
The provider stores HWID-to-subscription mapping server-side. The client never receives or processes the mapping; it just sends its UUID with each request.
To rotate HWID (e.g. after device replacement), reinstall the app and re-add the subscription. Providers can also expose a dashboard where users manage active devices.
Лицензирование по HWID
Приложение генерирует стабильный per-install UUID при первом запуске и сохраняет в SharedPreferences (ключ device_id). UUID отправляется с каждым запросом подписки как часть заголовка User-Agent:
Провайдеры могут привязать подписку к одному или нескольким device ID, ограничить число устройств или отозвать по device. HWID анонимен — не выводится из MAC-адреса, IMEI, рекламного ID или любого платформенного идентификатора. Это рандомный UUID, перегенерируется при переустановке приложения.
Mapping HWID-к-подписке хранится на стороне провайдера. Клиент его не получает и не обрабатывает; просто отправляет свой UUID с каждым запросом.
Чтобы сменить HWID (например, после замены устройства) — переустановите приложение и добавьте подписку заново. Провайдеры могут также предоставить личный кабинет для управления активными устройствами.
User-Agent identification
Every subscription fetch and update-check carries a structured User-Agent header:
version — semver from pubspec.yaml, also stored in kAppVersion constant.
platform — one of windows, android, ios, macos, linux.
device_uuid — locally generated UUIDv4 (see HWID licensing).
Providers can use this to gate access by app version (block legacy clients), redirect to update prompts, or tune per-platform server lists when a protocol behaves differently across platforms.
The User-Agent format is stable. We do not change it without bumping the major version.
Идентификация через User-Agent
Каждый fetch подписки и проверка обновлений несут структурированный заголовок User-Agent:
версия — semver из pubspec.yaml, также хранится в константе kAppVersion.
платформа — одно из: windows, android, ios, macos, linux.
device_uuid — локально сгенерированный UUIDv4 (см. лицензирование по HWID).
Провайдеры могут использовать это для контроля доступа по версии (блокировать устаревшие клиенты), направлять на обновление или формировать платформо-зависимые списки серверов, когда поведение протокола отличается на разных платформах.
Формат User-Agent стабилен. Мы не меняем его без bump'а major-версии.
Raw sing-box JSON
If a subscription returns a full sing-box JSON document instead of the URI list, the client uses it verbatim — but only if the enableRawConfig flag is set in the StartRequest passed to the core.
Behaviour:
enableRawConfig: false (default) — the core rebuilds the config through its InhiveOptions pipeline, mapping recognised URI parts to internal tags. Inbounds, DNS, routing are normalised to app defaults.
enableRawConfig: true — the core treats configContent as the final sing-box config. No rewriting, no tag injection. The provider has full control of inbounds, routing, DNS, experimental sections.
Use case: complex routing setups (per-process rules, custom rule-sets, experimental clash_api) that don't fit the URI scheme. Note: enabling raw mode disables automatic URI conversion done by ray2sing — the client config builder is bypassed entirely.
Required when shipping a sing-box JSON via subscription: set Content-Type: application/json in the response, and ensure the JSON is parseable by sing-box 1.13.0+.
Сырой sing-box JSON
Если подписка возвращает полный sing-box JSON-документ вместо списка URI — клиент использует его как есть, но только если флаг enableRawConfig установлен в StartRequest, передаваемом в ядро.
Поведение:
enableRawConfig: false (по умолчанию) — ядро перестраивает конфиг через свой пайплайн InhiveOptions, маппит распознанные части URI на внутренние теги. Inbounds, DNS, routing нормализуются под дефолты приложения.
enableRawConfig: true — ядро использует configContent как финальный sing-box конфиг. Никакой перезаписи, никаких добавляемых тегов. Провайдер контролирует inbounds, routing, DNS, experimental-секции.
Use case: сложные routing-setup'ы (per-process правила, кастомные rule-sets, experimental clash_api), не вписывающиеся в URI-схему. Учтите: включение raw-режима отключает автоматическую URI-конвертацию через ray2sing — билдер клиентского конфига обходится полностью.
Требования при отдаче sing-box JSON через подписку: Content-Type: application/json в ответе и валидный JSON для sing-box 1.13.0+.
Routing rules
The sing-box route section drives which traffic goes through the tunnel vs direct. InHive's default config includes:
Geosite rules — match by domain category (geosite-private, geosite-ru, etc.) using .srs rule-set files.
GeoIP rules — match by destination IP CIDR ranges.
Domain-suffix rules — explicit lists like {"domain_suffix": ["mycompany.com"], "outbound": "direct"}.
Process-name rules (TUN mode) — by app binary name (chrome.exe, com.android.chrome).
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 определяет, какой трафик идёт через туннель, а какой напрямую. Стандартный конфиг InHive включает:
Geosite-правила — match по категории домена (geosite-private, geosite-ru и т.д.) через файлы .srs.
GeoIP-правила — match по диапазонам CIDR назначения.
Domain-suffix правила — явные списки вида {"domain_suffix": ["mycompany.com"], "outbound": "direct"}.
Process-name правила (TUN-режим) — по имени бинарника (chrome.exe, com.android.chrome).
InHive поставляется с набором remote rule-sets, скачиваемых из репо TwilgateLabs/inhive-rules:
geosite-ads.srs — OISD Big + EasyList, ~440k доменов
Пересобираются каждые 6 часов через GitHub Actions, клиент тянет с интервалом 24 часа. Включается одним переключателем Блокировка рекламы и угроз в настройках.
Traffic obfuscation parameters
Settings exposed under Settings → Traffic obfuscation, mapped to sing-box outbound options:
Setting
Effect
forceMixedCaseSni
Randomise TLS SNI letter case (ExAmPlE.cOm). Defeats simple SNI substring matching.
Значения по умолчанию консервативные: фрагментация выкл, MUX выкл, fingerprint chrome, ECH выкл. Тюньте под профиль, когда требует сеть.
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 was added in The current version (v4.2.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 preset endpoint /api/v1/risk_apps.json returns the current package list with category, risk levels, and migration warnings. 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 → Isolation
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 даёт каждому клонированному приложению отдельную песочницу: отдельные данные, отдельная видимость сетевого состояния.
Фича добавлена в версии 4.2.0 (v4.2.0). Реализация clean-room под Apache 2.0 — без зависимости от Shelter / GPLv3.
Дефолтный пресет: 30 приложений из открытого исследования (апрель 2026), которые выполняют агрессивный fingerprinting устройства. Эндпоинт /api/v1/risk_apps.json возвращает текущий список пакетов с категорией, риск-уровнями и предупреждениями миграции. Обновляется периодически на основе новых исследований.
Требования:
Android 8.0 (API 26) и выше
Устройство должно разрешать secondary user profiles (большинство потребительских устройств — да)
Пользователь запускает provisioning через Настройки → Изоляция
Клонированные приложения работают внутри Work Profile, пользователь логинится в них отдельно. Оригинал остаётся в основном профиле и удаляется пользователем вручную.
Cloudflare WARP integration
InHive ships a built-in Cloudflare WARP source as an optional fallback profile. WARP credentials provision automatically using the standard WireGuard-based registration flow — no user account, no separate signup. A tile appears in the app sidebar once enabled.
Use case: a quick reachable profile when your primary subscription is offline or you want a clean exit IP for low-stakes browsing.
Important caveat: WARP IPs are blocked on some mobile carriers in restrictive regions at the carrier level. If you connect from such a mobile network, WARP will fail to handshake. WARP works fine on home Wi-Fi and most desktop ISPs.
WARP is configured as a regular profile in InHive — disable it in Settings if you don't want the option visible.
Интеграция Cloudflare WARP
InHive поставляется со встроенным источником Cloudflare WARP как опциональным fallback-профилем. Креды WARP получаются автоматически через стандартный WireGuard-based registration flow — без аккаунта, без отдельной регистрации. Плитка появляется в боковой панели после включения.
Use case: быстрый рабочий профиль, когда основная подписка недоступна или нужен чистый exit IP для безобидного браузинга.
Важная оговорка: IP-адреса WARP блокируются у некоторых мобильных операторов в restrictive-регионах на уровне самого оператора. С такой мобильной сети WARP не пройдёт установку соединения. На домашнем Wi-Fi и у большинства десктопных провайдеров — работает штатно.
WARP настраивается как обычный профиль в InHive — отключите его в настройках, если не хотите видеть.
Bootstrap subscription fetch
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 /api/v1/bootstrap.json — 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-получение подписки
Резервный путь обновления подписки, когда стандартный HTTPS-fetch падает. При включении переключателя Маскировка обновления подписок приложение поднимает одноразовое мини-ядро на устройстве со списком запасных эндпоинтов в разных регионах, миксует VLESS Reality, NaiveProxy и другие протоколы.
Мини-ядро через sing-box urltest выбирает самый быстрый доступный эндпоинт, фетчит подписку через него и завершается. Основной VPN-туннель кратко приостанавливается на время fetch'а (5-10 секунд без интернета) и возобновляется с обновлённым списком серверов.
Список эндпоинтов поставляется в /api/v1/bootstrap.json — это 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 — open the subscription details page (long-press the subscription avatar in the sidebar), tap Actions → Share via QR. A dialog appears with the QR code.
On the target device — open the add-subscription dialog, tap Scan QR, and point the camera at the screen. The new subscription is added automatically.
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 подписки — удобно переносить подписку с десктопа на телефон без облака.
Как поделиться:
На исходном устройстве — откройте детали подписки (long-press на аватар подписки в сайдбаре), нажмите Действия → Поделиться через QR. Появится диалог с QR-кодом.
На целевом устройстве — откройте диалог добавления подписки, нажмите Сканировать QR и наведите камеру на экран. Подписка добавится автоматически.
QR кодирует deeplink: inhive://import?sub=URL_ENCODED&name=NAME. Генерируется локально на устройстве и никуда не загружается.
Приватность: любой, кто видит экран, может прочитать QR — относитесь к этому как к чтению URL подписки вслух. Делитесь в приватной обстановке либо используйте шифрованный deeplink из бота вашего провайдера для большей безопасности.
App update manifest (/version.json)
The app polls a public manifest at https://app.inhive.ru/version.json on each launch to check for updates. The fetch goes through direct HTTP (not through VPN) so it works even when the tunnel is down.
If latest_version > installed version, the app shows a non-blocking banner with the changelog link. If installed version < min_supported_version, the banner is blocking — older clients may be incompatible with newer subscription contracts.
Манифест обновлений (/version.json)
Приложение опрашивает публичный манифест по адресу https://app.inhive.ru/version.json при каждом запуске для проверки обновлений. Запрос идёт напрямую (не через VPN), поэтому работает даже когда туннель опущен.
Если latest_version > установленной версии — приложение показывает не блокирующий баннер со ссылкой на changelog. Если установленная версия < min_supported_version — баннер блокирующий: старые клиенты могут быть несовместимы с новыми контрактами подписки.
Risk apps preset (/api/v1/risk_apps.json)
JSON manifest of Android package names known to perform aggressive device fingerprinting. Consumed by the Isolation feature to populate the default selection of apps to clone into a Work Profile.
detection_risk — high / medium / low. Severity of the app's device fingerprinting.
migration_risk — high / medium / low. Inconvenience of moving the app to Work Profile (re-login, lost biometric setup, antifraud blocks).
category — bank, marketplace, telecom, social, etc.
Updated periodically as new research lands. The client caches the manifest with a 24-hour TTL.
Пресет risk_apps (/api/v1/risk_apps.json)
JSON-манифест Android-пакетов, известных агрессивным fingerprinting'ом устройства. Используется фичей Isolation для формирования дефолтного списка приложений на клонирование в Work Profile.
detection_risk — high / medium / low. Серьёзность fingerprinting'а приложения.
migration_risk — high / medium / low. Неудобства переноса приложения в Work Profile (re-логин, потеря привязки биометрии, antifraud-блоки).
category — bank, marketplace, telecom, social и т.д.
Обновляется по мере появления новых исследований. Клиент кэширует манифест с TTL 24 часа.
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://app.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.
Embedded fallback baked into the application binary
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://app.inhive.ru/api/bootstrap.json (также доступен через GitHub raw и jsDelivr CDN как зеркала — полезно когда основной домен троттлится DPI).
Внутренний payload (после расшифровки) перечисляет запасные эндпоинты в разных географиях и протоколы (Reality, NaiveProxy и др.). Список ротируется сервером независимо от релизов приложения.
AES-ключ и Ed25519 public key зашиты в каждый релиз и ротируются при релизах. Клиент хранит последние несколько версий ключей чтобы юзеры которые не обновились мгновенно всё равно могли расшифровать свежий payload с сервера.
Country flag detection
The server list UI shows a country flag next to each server. The app derives the flag in two passes:
Emoji extraction — if the server name fragment (#NAME part of the URI) starts with a regional indicator emoji pair, that emoji is used directly. Example: #🇩🇪 Germany — Berlin renders as 🇩🇪.
Keyword lookup — if no emoji, the app scans the name for English country names and ISO codes. Recognised entries include USA / United States → 🇺🇸, Germany → 🇩🇪, Netherlands → 🇳🇱, UK / United Kingdom → 🇬🇧, Japan → 🇯🇵, Brazil → 🇧🇷, etc. Fallback when no match: a globe icon 🌐.
Recommendation for subscription providers: prefix each server name with the regional indicator emoji. This skips the keyword pass entirely and renders correctly even for less common countries.
Affects display only. Internal protocol routing does not depend on the flag.
Определение флагов стран
UI списка серверов показывает флаг страны рядом с каждым сервером. Приложение определяет флаг в два прохода:
Извлечение emoji — если фрагмент имени сервера (#NAME часть URI) начинается с пары regional indicator emoji, она используется напрямую. Пример: #🇩🇪 Germany — Berlin отрендерится как 🇩🇪.
Поиск по ключевым словам — при отсутствии emoji приложение сканирует имя на английские названия стран и ISO-коды. Распознаются: USA / United States → 🇺🇸, Germany → 🇩🇪, Netherlands → 🇳🇱, UK / United Kingdom → 🇬🇧, Japan → 🇯🇵, Brazil → 🇧🇷 и т.д. Fallback при отсутствии совпадения: иконка глобуса 🌐.
Рекомендация провайдерам подписок: префиксовать каждое имя сервера regional indicator emoji. Это пропускает keyword-проход и корректно рендерится даже для редких стран.
Влияет только на отображение. Внутренняя маршрутизация от флага не зависит.