https://github.com/nktnet1/webview-kiosk
Turn your Android device into a locked-down web page in fullscreen mode.
https://github.com/nktnet1/webview-kiosk
android browser device-owner dhizuku digital-signage home-assistant kiosk launcher lock-task-mode mqtt pin screen-pinning unifiedpush webview
Last synced: 15 days ago
JSON representation
Turn your Android device into a locked-down web page in fullscreen mode.
- Host: GitHub
- URL: https://github.com/nktnet1/webview-kiosk
- Owner: nktnet1
- License: agpl-3.0
- Created: 2025-08-01T01:36:39.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-03-06T04:43:04.000Z (3 months ago)
- Last Synced: 2026-03-06T04:43:17.349Z (3 months ago)
- Topics: android, browser, device-owner, dhizuku, digital-signage, home-assistant, kiosk, launcher, lock-task-mode, mqtt, pin, screen-pinning, unifiedpush, webview
- Language: Kotlin
- Homepage: https://webviewkiosk.nktnet.uk
- Size: 7.72 MB
- Stars: 190
- Watchers: 5
- Forks: 29
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> [!WARNING]
>
> Google's new developer verification requirements for 2026-2027 will
> mean the end for side-loading and many alternate stores and projects
> such as F-Droid and New Pipe.
>
> For more information, please refer to the following sources:
>
> - F-Droid: https://f-droid.org/en/2025/10/28/sideloading.html
> - Keep Android Open: https://keepandroidopen.org
> - Video context: https://www.youtube.com/watch?v=wRvqdLsnsKY
# Webview Kiosk
> Docs: https://webviewkiosk.nktnet.uk
[
](https://github.com/nktnet1/webview-kiosk/releases)
[
](https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/nktnet1/webview-kiosk)
[
](https://play.google.com/store/apps/details?id=com.nktnet.webview_kiosk)
[
](https://f-droid.org/packages/uk.nktnet.webviewkiosk)
[
](https://apt.izzysoft.de/fdroid/index/apk/uk.nktnet.webviewkiosk)
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 an image, audio, video, or HTML file in kiosk mode from your device
- Default Launcher: use as the home app and launch other apps in lock task mode (kiosk)
### Remote Management / Enterprise
1. MQTT (Message Queuing Telemetry Transport)
- Monitor events, update settings, execute commands and build custom automations using the API
- 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 remotely configured via an MDM/EMM provider
- Advanced users using a device policy controller (e.g. Test DPC or OwnDroid) can also enforce configurations locally
## Permissions
- INTERNET: for general web browsing
- 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
- 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 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 (SDK 28) and below
- API (Dhizuku): to request shared device owner privileges
## Installation Notes
From [v0.17.0](https://github.com/nktnet1/webview-kiosk/releases/tag/v0.17.0),
Google Play's [automatic protection](https://support.google.com/googleplay/android-developer/answer/10183279)
has been intentionally disabled to allow installations from the Aurora Store.
From [v0.15.7](https://github.com/nktnet1/webview-kiosk/releases/tag/v0.15.7),
the package name for all installation sources except the Google Play Store has
changed from `com.nktnet.webview_kiosk` to `uk.nktnet.webviewkiosk`.
## Contact
- support@webviewkiosk.nktnet.uk
## License
This project is licensed under the GNU Affero General Public License v3.0 or later.
See the [LICENSE](./LICENSE) file for details.
## Screenshots
## Alternatives
- [Fully Kiosk Browser Lockdown](https://www.fully-kiosk.com) (feature-rich, but not a free kiosk solution)
- [Web Kiosk](https://github.com/screenlite/web-kiosk) (FOSS, developed by Screenlite)
- [FreeKiosk](https://github.com/RushB-fr/freekiosk) (FOSS, developed by Rushb-fr)