An open API service indexing awesome lists of open source software.

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.

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

[Get it on GitHub](https://github.com/nktnet1/webview-kiosk/releases)
[Get it on Obtainium](https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/nktnet1/webview-kiosk)
[Get it on Google Play](https://play.google.com/store/apps/details?id=com.nktnet.webview_kiosk)
[Get it on F-Droid](https://f-droid.org/packages/uk.nktnet.webviewkiosk)
[Get it on IzzyOnDroid](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


Phone Screenshot 1 
Phone Screenshot 2 
Phone Screenshot 3 
Phone Screenshot 4 
Phone Screenshot 5 
Phone Screenshot 6

## 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)