Webview Kiosk

uk.nktnet.webviewkiosk
by Zapstore _@zapstore.dev

Turn your Android device into a locked-down web page in fullscreen mode.

Republished from GitHub / F-Droid by the Zapstore main account.

Webview Kiosk is a free and open-source Android application for secure, kiosk-style web browsing. It can function as digital signage, a kid-friendly restricted browser, an immersive web reader, an interactive sign-up form, a home assistant dashboard, or simply a wall clock. Designed for small businesses and device owners who are looking for a simple and standalone Kiosk solution. Key Features **Core / Standalone** - **Lock Task Mode (Pin):** prevent access to your device's home screen, apps and status bar - **Secure Settings:** configurations are protected by biometrics, device credentials or custom password - **URL Filtering:** use regular expressions to control web access through a URL blacklist and whitelist - **Export/Import:** backup and restore user settings in Base64 or JSON format - **Local files:** display images, audio, video, HTML or PDF (using Mozilla's PDF.js) in kiosk mode - **Default Launcher:** use as the home app and launch other apps in lock task mode (kiosk) - **JS Scripts:** supports NFC (Near Field Communication), Eruda console, Dark Reader and custom scripts - **Adblock:** blocks ads and trackers using rules from uBlock Origin, AdGuard, EasyList and HaGeZi **Remote Management / Enterprise** 1. MQTT (Message Queuing Telemetry Transport) - Monitor events, update settings, execute commands and build custom automations - Requires an MQTT broker (e.g. Mosquitto, EMQX, HiveMQ, or their HomeAssistant integrations) 2. UnifiedPush - Send commands and update settings via a decentralised push notification system - Requires a distributor application (e.g. sunup, ntfy, gCompat-UP) 3. Managed Configurations (App Restrictions) - For fully-managed (company-owned) devices, settings can be configured via an MDM/EMM provider - Advanced users with a device policy controller (e.g. Test DPC or OwnDroid) can also enforce configurations locally For more details, visit https://webviewkiosk.nktnet.uk Permissions - **INTERNET**: for general web browsing - **ACCESS_NETWORK_STATE**: to refresh web pages when network connectivity is restored - **ACCESS_LOCAL_NETWORK**: (optional, Android 17+) for web apps that access the local network - **CAMERA**: (optional) for use with web apps that requires photo/video capture - **RECORD_AUDIO**: (optional) for use with web apps that requires audio capture - **MODIFY_AUDIO_SETTINGS**: for routing audio (microphone will not work without this) - **ACCESS_FINE_LOCATION**: (optional) for web apps that needs precise geolocation - **ACCESS_COARSE_LOCATION**: (optional) for web apps that needs approximate geolocation - **NFC**: for reading and writing NFC tags using the device's NFC hardware - **VIBRATE**: (optional) for navigator.vibrate(pattern) when enabled - **INSTALL_SHORTCUT**: for adding home screen launcher shortcuts on Android 7.1 and below - **QUERY_ALL_PACKAGES**: to find launchable apps, device owners and lock task packages - **POST_NOTIFICATIONS**: (optional) for lock task mode (kiosk) launches and MQTT - **FOREGROUND_SERVICE**: for persistent notification and management with lock task and MQTT - **FOREGROUND_SERVICE_SPECIAL_USE**: provides a return mechanism for opening apps in kiosk - **USE_BIOMETRIC**: replaces USE_FINGERPRINT from Android 9.0 onwards - **USE_FINGERPRINT**: use fingerprint hardware when accessing settings or unlocking kiosk - **WAKE_LOCK**: to optionally wake the screen when receiving MQTT commands - **WRITE_EXTERNAL_STORAGE**: for downloading files in Android 9.0 and below - **API (Dhizuku)**: to request shared device owner privileges Contact - https://github.com/nktnet1/webview-kiosk - support@webviewkiosk.nktnet.uk Alternatives - Fully Kiosk Browser Lockdown (feature-rich, but not a free kiosk solution) - Web Kiosk (by Screenlite) - FreeKiosk (by Rushb-fr) - Kite AOS (by andrew-malitchuk)

First release: Feb 25, 2026, 24 total releases.

Most recent release: Oct 28, 2026.

Website Repo

Appears in 0 app stacks.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Oct 28, 2026 0.26.25
    ## Changes - Reduced the risk of WebView startup freezes and ANRs on some Android devices. - Improved immersive mode reliability after swipes, opening notifications and switching apps. - Fixed stale Home Assistant MQTT entities remaining after downgrading the app. - Improved compatibility with older or faulty Android System WebView providers. - Fixed navigation when administrator restrictions change during startup or file imports. ---
    More…
    <details> <summary>Pull requests</summary> * fix(android): guard broadcast navigation and legacy WebView feature checks by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/336 * fix: immersive mode reliability by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/335 * fix(mqtt): clean up stale Home Assistant entities on downgrade by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/337 * fix(android): complete WebView startup before composition by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/338 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.24...v0.26.25
  • Oct 21, 2026 0.26.24
    ## Changes - Added Home Assistant MQTT discovery. - Added configurable inactivity reset actions. - Added refresh on screen wake. - Added main-page HTTP 5xx recovery (Android 6+). - Added "show loading progress bar" appearance setting. - Fixed progress updates from background frames. - Improved content-blocking cache performance. - Improved display of very long URLs.
    More…
    --- <details> <summary>Pull Requests</summary> * feat(adblock): improve cache performance by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/323 * fix: resolve Android Studio inspection warnings by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/324 * feat(web-lifecycle): add configurable inactivity reset actions by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/325 * feat(appearance): add loading progress bar visibility setting by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/328 * fix: prevent expensive text measurement for oversized WebView URLs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/329 * feat(mqtt): add Home Assistant discovery by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/326 * feat(web-lifecycle): add server-error recovery and wake refresh by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/330 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.23...v0.26.24
  • Oct 18, 2026 0.26.23
    ## Changes - Added native content blocking for ads and trackers (custom kotlin engine) - Supports uBlock Origin, AdGuard, EasyList and HaGeZi preset filters - Improved filter caching, WebView compatibility and loading behaviour --- <details> <summary>Pull requests</summary>
    More…
    ## What's Changed * feat: unified push debugger playground by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/315 * feat(docs): add MQTT WebSocket debugging playground by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/317 * feat(docs): quick links to tools in docs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/318 * feat: native content blocking by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/316 * style: add Kotlin formatter and enforce if/else braces by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/319 * fix: correct exporter defaults and IDE warnings by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/320 * feat: content blocking setting by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/321 * feat(adblock): add bounded uBlock scriptlet support by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/322 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.22...v0.26.23
  • Oct 13, 2026 0.26.22
    ## Changes - Improved MQTT, push notifications and remote command reliability. - Fixed back navigation and reduced WebView freezes. - Improved kiosk stability on older Android devices. - Improved PDF viewing, including protected documents. - Fixed file uploads and downloads. - Improved settings authentication, certificate handling and device-owner startup. ---
    More…
    <details> <summary>Pull requests</summary> ## What's Changed * fix: handle denied MQTT foreground service start by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/295 * fix: defer Compose focus until layout is placed (BringIntoViewRequester crash) by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/296 * fix: preserve upload callback when camera capture falls back by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/297 * fix: android 6.0 padding, theme + lock task mode, handle Dhizuku readiless wait by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/294 * fix: harden dialog rendering, clipboard access and Compose lifecycle by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/298 * fix: guard MQTT requests, WebView prompts and lock-task service by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/299 * fix: blob, mqtt and callback bugs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/300 * fix: notification concurrency, MQTT client reuse, cancellation, disconnect timeout, and settings refresh ordering by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/301 * fix: guard settings authentication and MQTT lifecycle races by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/302 * fix: additional mqtt, keyboad, navigation + history issues by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/303 * fix: additional bugs from static analysis by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/304 * test: add runtime verification for gradle + docs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/305 * test: add addional runtime verifications of features by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/306 * test: additional automated testing by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/309 * fix: preserve navigation back stack during predictive back by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/310 * fix: mitigate WebView startup and dialog text ANRs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/311 * fix: trust user certificates + clarify mutual TLS setting by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/312 * docs: remove testing matrix and align settings documentation by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/313 * feat: attach debug apk in release, improve qr version discovery by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/314 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.21...v0.26.22
  • Sep 23, 2026 0.26.21
    ## Changes - feat: allow local network access setting for android 17 (API 37+) #289 - fix: remove icon compat deprecation - fix: improve app shortcut bitmap handling - refactor: search engine, use okhttp for suggestion api --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.20...v0.26.21
  • Sep 19, 2026 0.26.20
    ## Changes - feat: add opt-in navigator.vibrate(pattern) support - feat: add per-site Mutual TLS client certificate support using Android KeyChain - feat: proxy local file over web asset loader (appassets.androidplatform.net) --- <details> <summary>Pull Requests</summary>
    More…
    ## What's Changed * feat: add opt-in navigator.vibrate(pattern) support by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/284 * feat: add mutual TLS (mTLS) by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/285 * fix: file stream async + error handling by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/286 * refactor: move vibration API setting to JS scripts by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/287 * feat: proxy local file over web asset loader by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/288 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.19...v0.26.20
  • Sep 10, 2026 0.26.19
    ## Changes * feat: add editing for uploaded text files * fix: stream PDF rendering for large files * fix: stream blob file downloads for large files * fix: improve WebView recovery after renderer crashes * fix: enhance NFC reliability and prevent NFC-related crashes * fix: performance for MQTT foreground service * fix: unified push error message mismatch for VAPID
    More…
    --- <details> <summary>Pull Requests</summary> ## What's Changed * fix: issue #272 - remove NFC intent filter by @avt613 in https://github.com/nktnet1/webview-kiosk/pull/273 * fix: out-of-memory error when downloading large blobs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/274 * fix: harden downloads, PDF handling and lifecycle cleanup by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/278 * fix(nfc): switch to foreground dispatch to avoid android.os.DeadObjectException crash by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/275 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.18...v0.26.19
  • Jul 22, 2026 0.26.18
    ## Changes - feat(mqtt): allow common ports to be selected via chips - fix: custom password - removal confirmation and blank description - fix: website bookmarks validation for empty URLs - fix: improve proguard rules - fix: app icon bitmap handling ---
    More…
    <details> <summary>Pull Requests</summary> * fix: app icon bitmap handling by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/266 * fix: improve proguard rules by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/267 * fix: custom password + website bookmarks by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/268 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.17...v0.26.18
  • Jul 17, 2026 0.26.17
    ## Changes - feat: support titles in bookmarks - feat: add confirmation for custom password save + show password checkbox - fix: allow https protocol with localhost scheme in URLs - fix: shortcut icon bitmap with fixed width and height --- <details closed>
    More…
    <summary>Pull Requests</summary> ## What's Changed * feat: add confirmation for custom password save + show password checkbox by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/263 * fix: allow https protocol with localhost scheme in URLs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/264 * feat: support titles in bookmarks by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/265 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.16...v0.26.17
  • Jul 10, 2026 0.26.16
    ## Changes - feat(web-lifecycle): refresh on network available setting - feat: open camera or voice recorder for HTML <input capture> - photo/video/audio uploads - fix: only apply ime padding for Android 11+ or 8 and below - fix(nfc): remove setScanActive(False) on screen off --- ## New Contributors
    More…
    * @gooseprogrammers made their first contribution in https://github.com/nktnet1/webview-kiosk/pull/257 <details> <summary>Pull requests</summary> ## What's Changed * fix(docs): manually patch staticMiddlewareFunction for base path by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/251 * docs: base patch patch for ai page-action components by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/252 * feat(docs): make legal pages searchable by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/253 * feat(docs): customised fumadocs sidebar separator by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/254 * docs: allow codeblocks to be indexed and searchable by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/255 * fix: NFC stops scanning when screen turned off by @avt613 in https://github.com/nktnet1/webview-kiosk/pull/256 * feat: open camera or voice recorder for HTML <input capture> - photo/video/audio uploads by @gooseprogrammers in https://github.com/nktnet1/webview-kiosk/pull/257 * feat(web-lifecycle): refresh on network available setting by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/258 * fix: only apply ime padding for Android 11+ or 8.1 and below by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/261 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.15...v0.26.16
  • Jun 26, 2026 0.26.15
    ## Changes - feat: allow creation of android launcher shortcuts for URLs - feat: support PDF rendering via Mozilla's PDF.js - feat: dark reader settings under js scripts - feat: add support for loading the eruda console under js scripts - fix(auth): bypass auth for window when launching activities - fix: refresh state on resume for nfc status - docs: add NFC to the list of permissions - deps: bump dhizuku api version to 2.6.0
    More…
    --- <details close> <summary>Pull requests</summary> * fix(docs): fumadocs search deprecation by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/242 * fix: refresh state on resume for nfc status by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/243 * fix(auth): bypass auth for window when launching activities by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/244 * feat: add support for loading the eruda console by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/245 * feat: dark reader settings under js scripts by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/246 * feat: support PDF rendering via Mozilla's PDF.js by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/247 * feat: allow creation of android launcher shortcuts for URLs by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/248 * docs: migrate NextJS to Tanstack Start by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/249 * docs: use remark plugin to replace constants in mdx to improve searchability by @nktnet1 in https://github.com/nktnet1/webview-kiosk/pull/250 </details> **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.14...v0.26.15
  • Jun 14, 2026 0.26.14
    # Changes - feat: NFC Support by @avt613 in https://github.com/nktnet1/webview-kiosk/pull/241 ## New Contributors * @avt613 made their first contribution in https://github.com/nktnet1/webview-kiosk/pull/241 --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.13...v0.26.14
  • May 22, 2026 0.26.12
    ## Changes - fix: immersive mode overwriting system bar theme and styles (below Android 10) - fix: pending state causing infinite auth loop (below Android 10) - fix: authentication manager with cipher secret - fix: uncontrolled data used in path expression for blog saveFile --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.11...v0.26.12
  • May 20, 2026 0.26.11
    ## Changes - fix: illegal state exception from BringIntoViewRequester (#238) - fix: user interaction illegal state exception with snapshots (#237) - fix: toast warning about lock_device command without privileges (#235) --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.10...v0.26.11
  • May 5, 2026 0.26.10
    ## Changes - fix: millisecond delays, await frame and default min size for elements that requests focus (#229) - fix: improve address bar text selection logic - fix: safely handle init mqtt foreground service (#227) --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.9...v0.26.10
  • Apr 30, 2026 0.26.9
    ## Changes - chore: bump gradle to 9.5, android compileSdk and targetSdk to 37, agp to 9.1.1 - fix: resolve crash when clearing history on empty stack (#226) - fix: url validation crash when failing to decode file url (#225) - fix: only send notifications for blob download if enabled in settings - fix: catch security exception for sending notification ---
    More…
    **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.8...v0.26.9
  • Apr 13, 2026 0.26.8
    ## Changes - feat: ability to download blob URLs (e.g. files from GitHub) - #220 --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.7...v0.26.8
  • Apr 10, 2026 0.26.7
    ## Changes - fix(unifiedpush): resolve crash for unknown command in payload --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.6...v0.26.7
  • Mar 26, 2026 0.26.6
    ## Changes - fix: crash on elapsed time in inactivity reset and screen dimming --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.5...v0.26.6
  • Mar 9, 2026 0.26.5
    ## Changes - feat: open link context menu when long-pressing images (#217) --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.4...v0.26.5
  • Mar 6, 2026 0.26.4
    ## Changes New setting: `Web Engine -> Allow File Download` (boolean, default false). When enabled, files can be downloaded from websites to the device's default download directory, e.g. - /storage/emulated/0/Download/ For Android 9.0 (SDK 28) and below, the `WRITE_EXTERNAL_STORAGE` permission is required.
    More…
    --- #216 **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.3...v0.26.4
  • Mar 2, 2026 0.26.3
    ## Changes - fix: handle system webview crash via onRenderProcessGone (#214) --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.2...v0.26.3
  • Feb 26, 2026 0.26.2
    ## Changes - fix(mqtt): restrict port & other integer fields to avoid crash - feat: qr code provisioning - installation method with device owner (#211) --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.1...v0.26.2
  • Feb 25, 2026 0.26.1
    ## Changes - fix(mqtt): wk/settings brightness not applying for foreground service (#209) --- **Full Changelog**: https://github.com/nktnet1/webview-kiosk/compare/v0.26.0...v0.26.1