[![Donate with PayPal](https://img.shields.io/badge/Donate-Paypal-blue?logo=paypal)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2BAG5UDK2B6MJ¤cy_code=USD&source=url) [![Donate with Bitcoin](https://en.cryptobadges.io/badge/micro/32YBHDAnnDUWwjsscJQQ1Z92UWJgpsDF86)](https://en.cryptobadges.io/donate/32YBHDAnnDUWwjsscJQQ1Z92UWJgpsDF86) [![Donate with Ethereum](https://en.cryptobadges.io/badge/micro/0x86A5cB50158EFDbd1eCDa872290A7B58857B267a)](https://en.cryptobadges.io/donate/0x86A5cB50158EFDbd1eCDa872290A7B58857B267a) [![Donate with Bountysource](https://img.shields.io/badge/Donate-BountySource-brightgreen.svg)](https://www.bountysource.com/teams/zmninja/) ![](https://github.com/pliablepixels/zmNinja/blob/master/sample_images/zmn.png?raw=true "icon") [zmNinja website](http://pliablepixels.github.io) zmNinja is a multi platform (iOS, Android, Windows Desktop, Mac Desktop, Linux Desktop) client for ZoneMinder users. [ZoneMinder](http://www.zoneminder.com) is an incredible open source camera monitoring system and is used by many for home and commercial security monitoring. Get in on App Store Get it on Google Play Help ---- * Official documents [are here](https://zmninja.readthedocs.io/en/latest/index.html) * If you are looking for the Machine Learning powered [Event Server companion](https://github.com/pliablepixels/zmeventnotification), docs [are here](https://zmeventnotification.readthedocs.io/en/latest/index.html) * Post in the [ZoneMinder Mobile App forum](https://forums.zoneminder.com/viewforum.php?f=33) or find me on ZoneMinder's slack channel (you can join [here](https://join.slack.com/t/zoneminder-chat/shared_invite/enQtNTU0NDkxMDM5NDQwLTlhZDU2MGU4MmZmN2MxOTg1MmNmNmZjZGRmY2EzMThhNGQ0MWNmZTg1ZmYzNDQ4YjliMzVmYTQ3MDc5MTkzODE)) * If you believe you've discovered a bug, please create a [GitHub issue](https://github.com/pliablepixels/zmNinja/issues/) Before you ask for help ----------------------- * Make sure you have read the [FAQ](https://zmninja.readthedocs.io/en/latest/guides/FAQ.html) * Make sure you have [validated](https://zmninja.readthedocs.io/en/latest/guides/validating-api.html) that your APIs are working (if not, its a ZM issue, please post in ZM forums) * Please don't ask me for help with source compilation if you are not familiar with coding mobile apps - you should try and solve your own problems Video Demo ------------- Check out a video demo of zmNinja [here](https://youtu.be/prtA_mv68Ok) Mobile Platforms --------------------------- zmNinja is stable as of today and runs on a variety of Android and iOS platforms. See links above to get them on play store (Android) and app store (iOS) It also runs on the desktop (see below) Desktop Platforms ----------------- Please download binaries from [here](https://github.com/pliablepixels/zmNinja/releases). Key Features ------------- * Push Notifications Object detection/face recognition for alarms (Needs the [eventserver](https://github.com/pliablepixels/zmeventserver) to be set up) * Multiple languages (English, French, German, Spanish, Portugese, Dutch, and more) * H264 video support * live views of monitors * Montage view (with multiple montage profile settings/sizes) * Events history and list * Timeline view * Camera pan/tilt/zoom (needs to have ZM support it first) * 24hr review Key Limitations ---------------- * Client certificates are not supported * If you use self signed certificates, you will likely have to install them in your phone (especially Android) * If you use Basic Authentication, you'll have to go through additional setup (see FAQ) Thanks ------ To the Zonemider community in general, and the awesome Stack Overflow community. But specifically, [Andrew Bauer](https://github.com/knight-of-ni) (knight-of-ni) who egged me on to take up this project and [Isaac Connor](http://github.com/connortechnology/) who has been incredibly supportive in helping fix various ZM issues that affected zmNinja. Important Notes --------------- * zmNinja needs APIs enabled in ZoneMinder. See [this](https://zmninja.readthedocs.io/en/latest/guides/validating-api.html) for instructions on how to make sure your APIs are working. If they are not working, zmNinja **will not** work. Why did I develop zmNinja? ------------------------------ * I wanted to learn how to write a mobile app. It was (and is) fun. * I originally reached out to tinyCam to see if they were willing to do an app - did not get a response * I found zmView limited for my needs Screenshots: ------------ ![](https://github.com/pliablepixels/zmNinja/blob/master/sample_images/IMG_0757.PNG?raw=true) ![](https://github.com/pliablepixels/zmNinja/blob/master/sample_images/IMG_0758.PNG?raw=true) ![](https://github.com/pliablepixels/zmNinja/blob/master/sample_images/IMG_0759.PNG?raw=true) ![](https://github.com/pliablepixels/zmNinja/blob/master/sample_images/IMG_0760.PNG?raw=true) ![](https://github.com/pliablepixels/zmNinja/blob/master/sample_images/IMG_0761.PNG?raw=true) ![](https://github.com/pliablepixels/zmNinja/blob/master/sample_images/IMG_0762.PNG?raw=true)