Fork of roleoroleo’s ONVIF Simple Server, adapted for the Thingino firmware. Small, dependency‑light, and integrated with Thingino’s build, config, and logging stack.
- Security improvements: Migrated from unmaintained ezxml to actively maintained mxml
- JSON‑only modular config (no INI)
- /etc/onvif.json (main) + /etc/onvif.d/{profiles,ptz,relays,events}.json
- Optional onvif.json: "conf_dir" (defaults to /etc/onvif.d)
- Managed via jct where needed (init scripts)
- Syslog logging integration (0=fatal .. 5=trace). Loglevel from JSON or CLI
- Raw XML request/response mirroring to a file for SOAP troubleshooting
- Reorganized tree: src/, xml/, config/, docs/
- Thingino Buildroot package installs binaries, templates, JSON, init scripts
- Proper Buildroot integration with thingino-jct and mxml dependencies
- Production (Thingino Buildroot): Package: package/thingino-onvif, Build: make rebuild-thingino-onvif Dependencies: thingino-jct, thingino-mxml v4.0.4 (automatically managed)
- Local Development:
Use
./build.shscript (builds jct and mxml libraries locally) Usemake distcleanto remove all local artifacts and repositories Run./setup-hooks.shto install git hooks for automatic code formatting - Cross-Compilation:
./build.sh mipsel-linux-(toolchain must be in PATH) - See docs/BUILD.md for detailed build instructions and cross-compilation setup
- Templates are served uncompressed, relying on squashfs filesystem compression
- Main: /etc/onvif.json
- Modules: /etc/onvif.d/*.json (profiles, PTZ, relays, events)
- jct can update keys safely from init scripts
- See docs/CONFIGURATION.md for full schema and examples
- Logs: syslog (foreground prints to stderr)
- XML templates installed under /var/www/onvif/* from the xml/ directory
- Build & Setup: BUILD.md, BUILDROOT_INTEGRATION.md
- Migration: MIGRATION_SUMMARY.md, MXML_MIGRATION.md
- Configuration: CONFIGURATION.md, API.md
- Operations: DEPLOYMENT.md, TROUBLESHOOTING.md
- Development: CHANGELOG.md, README.md, GIT_HOOKS.md
- Upstream author: roleoroleo — https://github.com/roleoroleo/onvif_simple_server
- This is a derivative, Thingino‑specific fork. License: GPLv3