Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroute✓laravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

Android-клиент

Android app встраивает KnotRoute core через gomobile AAR. Отдельный desktop/daemon на телефоне не нужен.

Рекомендуемый путь:

  1. Получить QR/deep-link из KnotRoute Control.
  2. Открыть knotroute://join?... на устройстве.
  3. Проверить Network ID и список Beacon.
  4. Сохранить network profile.
  5. Запустить соединение.
  6. При необходимости HTTPS установить локальный CA через системный Android dialog.

Приложение поддерживает несколько профилей, например:

Production
Test
Home
Lab

У каждого профиля собственные Network ID, Beacon URLs и client settings.

.knot-сайт можно открыть прямо в приложении. WebView направляется в локальный KnotRoute HTTP proxy.

Приложение не использует VpnService, поэтому не претендует на системный VPN slot.

Android не позволяет приложению молча добавить пользовательский Root CA. KnotRoute вызывает штатный системный installation UI; действие подтверждает пользователь.

KnotRoute WebView не должен обходить TLS errors через proceed() — ошибка сертификата считается ошибкой подключения.

Control генерирует URI с onboarding-параметрами, например:

knotroute://join?network_id=kn_...&name=Production&beacon=https%3A%2F%2Fbeacon.example.net

В QR нет private key. Он передаёт bootstrap profile, а не identity пользователя.

Если профиль сохранён, но соединения нет, проверьте:

  • правильный Network ID;
  • доступность Beacon по HTTPS;
  • наличие Internet connectivity;
  • foreground service permission/notification;
  • системное время устройства;
  • logs/diagnostics внутри приложения.

Для проблем конкретно с .knot страницей смотрите troubleshooting клиентов.

Foreground service стартует отдельно от Activity и удерживает embedded KnotRoute core. В интерфейсе состояния следует читать так:

Запуск… core ещё создаётся/перезапускается
Подключено embedded node и HTTP proxy подняты
Ошибка core не стартовал; смотрите «Диагностика»

Статус Подключено означает готовность локального core, а не гарантирует, что уже найден remote peer. Для сетевой диагностики всё равно проверяйте Beacon/profile и доступность test service.

Начиная с современных target SDK Android применяет edge-to-edge layout. KnotRoute учитывает status/navigation bars и display cutout через WindowInsets, поэтому header и нижняя навигация не должны уходить под системные панели.

Если после обновления старый APK всё ещё рисуется под status bar, сначала убедитесь, что установлен именно новый build, а не предыдущий artifact.

После Сохранить и перезапустить приложение:

  1. сохраняет выбранный Network Profile;
  2. просит foreground service выполнить restart;
  3. останавливает старый embedded core;
  4. запускает новый core с обновлёнными Network ID/Beacon;
  5. повторно применяет WebView proxy, когда core действительно готов.

Это устраняет старую гонку, когда WebView создавался раньше core и оставался без proxy до полного перезапуска приложения.

Основные:

  • имя профиля;
  • Network ID;
  • Beacon URL.

Количество circuit hops спрятано в Дополнительные настройки. Оставляйте default, пока не диагностируете конкретную topology проблему.

Допустимо:

https://beacon.example.net
http://192.168.1.10:8080

Недопустимо:

http://beacon.example.net:7447
https://beacon.example.net/some/path

7447 — relay transport. Android-клиент теперь проверяет это до сохранения профиля.

Раздел показывает как минимум node address, локальный HTTP proxy и последнюю ошибку core. Эти данные удобно прикладывать к bug report, но не публикуйте private identity/CA key или contents app private storage.

Проверяйте в таком порядке:

  1. core имеет состояние «Подключено»;
  2. профиль содержит правильный Network ID;
  3. Beacon HTTP(S) URL доступен с телефона;
  4. сервис открывается с другого KnotRoute client;
  5. только после этого проверяйте CA/TLS для https://...knot.

Для изоляции TLS проблемы можно диагностировать plain HTTP .knot endpoint, если конкретный сервисный сценарий это допускает. Сам overlay traffic при этом остаётся защищён KnotRoute service session; browser HTTPS — отдельный локальный compatibility layer.

Исходник