High performance, cross platform ionic app for Home/Commerical Security Surveillance using ZoneMinder
Failed to load latest commit information.
.github lets see stalebot emoji Oct 19, 2018
deprecated #701 moved to electron-build Sep 9, 2018
docs nits Jul 22, 2018
electron_js package icon.png in app.asar Sep 30, 2018
hooks initial May 12, 2018
resources ios rebuild to make sure ads disabled doesn't affect anything Oct 19, 2018
sample_images logo Mar 23, 2017
scss updated to match new ionic sass/styling crap Nov 25, 2017
www #724 and general, filter out cake error leaks Oct 21, 2018
.bowerrc Initial commit Sep 20, 2017
.editorconfig Initial commit Sep 20, 2017
.github_changelog_generator ready to release 1.2.510 Dec 9, 2017
.gitignore save config for vscode Sep 10, 2018
.jscodehints stop brackets from hanging Oct 1, 2016
.jshintrc Updated jshintrc with options for sublime Oct 30, 2016
CHANGELOG.md version Sep 14, 2018
CODE_OF_CONDUCT.md added other files, also fixed xwalk Sep 21, 2017
GoogleService-Info.plist a few tweaks to do foo.... Oct 18, 2018
LICENSE added other files, also fixed xwalk Sep 21, 2017
README.md more text updates Aug 17, 2018
bower.json #636 introduce DB get/set checks May 31, 2018
build-auto.json various fixes for XCode 10 build process and iCloud Sep 22, 2018
build-extras.gradle updates for yet another build process break thanks to new google libr… Mar 14, 2018
build_android.sh completely remove xwalk Oct 8, 2018
build_ios.sh ios rebuild to make sure ads disabled doesn't affect anything Oct 19, 2018
checkperms.sh added other files, also fixed xwalk Sep 21, 2017
config.xml other cleanup Oct 18, 2018
google-services.json #562 next version of zmNinja will need new Event Server too Nov 25, 2017
gulpfile.js mega changes, including updates and X Sep 21, 2017
ionic.config.json minor config updates Nov 6, 2017
jsconfig.json wekwebview fixes Sep 23, 2018
make_changelog.sh pick up version from config if missing Sep 14, 2018
make_desktop.sh #704 initial code, need to check error cases Sep 12, 2018
make_tag.sh consistency Jun 30, 2018
package.json #724 cleanup and making sure we take recordingURL for playback Oct 20, 2018
prepare_desktop.sh nits Oct 8, 2018


Donate with Bitcoin Donate with Ethereum Donate with Bountysource

zmNinja website

zmNinja is a multi platform (iOS, Android, Windows Desktop, Mac Desktop, Linux Desktop) client for ZoneMinder users. ZoneMinder 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


  • zmNinja has instructional videos to help you with usage questions - I'll add more over time
  • There is a detailed FAQ. Please do read it - it has answers to many common questions
  • Post in the ZoneMinder Mobile App forum or find me on ZoneMinder's slack channel (you can join here)
  • If you believe you've discovered a bug, please create a GitHub issue

Before you ask for help

  • Make sure you have read the FAQ
  • Make sure you have validated 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

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 for Win 7, Linux or Mac from here. Please make sure you download the correct ZIP file (32/64 bit)

Key Features (just watch the video already)

  • Push Notifications for alarms (Needs the eventserver to be set up)
  • Multiple languages (English, French, German, Spanish, Portugese, Dutch, and more)
  • H264 video branch 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


To the zonemider community in general, and the awesome Stack Overflow community. But specifically, Andrew Bauer (knight-of-ni) who egged me on to take up this project and Isaac Connor who has been incredibly supportive in helping fix various ZM issues that affected zmNinja

Important Notes

  • zmNinja needs APIs enabled in ZoneMinder. If you are running ZM 1.29 or above, APIs should automatically be available. See this 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

Running from source

Please follow these instructions.