Connexion
UK

JumPHP runtime на Android: встановлення застосунку

На телефоні вебсторінка не може дістатися вашої власної мережі (домашній Wi-Fi, VPN, сервер, що приймає лише вашу адресу). JumPHP runtime для Android — невеликий застосунок, який робить це для застосунків JumPHP, відкритих у браузері, лише з вашого дозволу. Його немає в Google Play: файл .apk ви встановлюєте самі. Ця сторінка пояснює кожен прапорець, який просить поставити Android.

Android пише, що файл може бути небезпечним? Це не вірус

Браузер, Android або Google Play Protect можуть повідомити, що файл «може завдати шкоди пристрою», «рідко завантажується» або «походить із невідомого джерела». Це нормально й очікувано: так буває, коли застосунок не розповсюджується через Google Play і підписаний власним ключем. Що можна перевірити:

  • вихідний код відкритий: git.jumphp.net/jumphp/jumPhp (тека apps/runtime-android);
  • він слухає лише на самому телефоні (127.0.0.1), відповідає тільки сторінкам jumphp.net і підключається лише туди, де ви торкнулися «Завжди» або «Лише цього разу»;
  • він ніколи не читає ваші файли, контакти чи повідомлення й не записує того, що через нього проходить (лише журнал: сайт, застосунок, ціль, час, обсяг);
  • будь-який дозвіл можна відкликати, а застосунок видалити в будь-який момент;
  • відбиток (SHA-256) сертифіката підпису: D5:4C:E2:69:90:7A:FE:E5:0C:1F:E6:73:70:98:38:DD:15:16:29:CC:B0:35:4C:ED:FB:0F:98:F6:E6:5D:15:AE.

Встановлення крок за кроком

  1. Завантажте jumphp-runtime-android.apk зі сторінки релізів (найновіша runtime-android-v…). Chrome може запитати «Файл цього типу може завдати шкоди пристрою»: торкніться Зберегти (або Усе одно завантажити).
  2. Відкрийте завантажений файл. Android скаже «З міркувань безпеки телефону заборонено встановлювати невідомі застосунки з цього джерела»: торкніться Налаштування й увімкніть Дозволити з цього джерела (це для вашого браузера, наприклад Chrome). Якщо вікно не відкрилося: Налаштування → Застосунки → Особливий доступ → Встановлення невідомих застосунків → ваш браузер → Дозволити. Поверніться й торкніться Встановити.
  3. Якщо Google Play Protect показує «Заблоковано», «Застосунок заблоковано для захисту пристрою» або «Перевірити застосунок?»: торкніться Докладніше → Усе одно встановити (або Встановити без перевірки). На Xiaomi може з'явитися ще одне запитання безпеки: погодьтеся.
  4. Відкрийте JumPHP runtime. Дозвольте сповіщення, коли Android запитає (Android 13+): запитання («Дозволити цей застосунок?») надходять як сповіщення.
  5. Він запускається сам (Стан: УВІМК, сповіщення лишається). Торкніться Не засинати й для батареї виберіть Без оптимізації / Без обмежень, щоб Android його не зупиняв.
  6. На Xiaomi, Huawei, Oppo, Vivo, OnePlus, Samsung… торкніться також Запускати разом із телефоном (автозапуск) й увімкніть: інакше після перезавантаження телефон не запустить застосунок.
  7. На сторінці застосунку індикатор стане помаранчевим: торкніться Allow this app. Сповіщення запитає «Дозволити …?»: торкніться його й виберіть Завжди. Індикатор стане зеленим.

Чи потрібен режим розробника?

Ні. Параметри розробника й налагодження через USB не потрібні для встановлення .apk із браузера. Потрібен лише дозвіл «Встановлення невідомих застосунків» для браузера (крок 2). Потім його можна вимкнути.

Оновлення

Застосунок шукає нову версію кожні 6 годин (і під час відкриття). З'являються сповіщення та кнопка Встановити: Android перевіряє, що новий файл підписано тим самим ключем, ви підтверджуєте — і готово.

Проблеми

  • Застосунок не встановлено: на телефоні стара копія, підписана іншим ключем. Видаліть її й встановіть знову.
  • Зупиняється після перезавантаження: увімкніть автозапуск (крок 6) і налаштування батареї (крок 5).
  • Індикатор лишається червоним: відкрийте застосунок (Стан: УВІМК) і перезавантажте сторінку; або торкніться на сторінці Start / install the app.
  • Запитання не з'являється: дозвольте сповіщення застосунку (Налаштування → Застосунки → JumPHP runtime → Сповіщення).

На iPhone це неможливо (немає фонової служби з локальним портом): застосунок і далі підключається через сервер jumphp.net.

Див. також: JumPHP runtime.