#!/bin/sh ONVIF_CONFIG="/etc/onvif.conf" HTTPD_CONFIG="/etc/httpd_onvif.conf" WWW_PATH="/var/www" ONVIF_PORT=$(awk -F= '/^port=/{print $2}' ${ONVIF_CONFIG}) DAEMON="httpd" PIDFILE="/var/run/httpd_onvif.pid" DAEMON_ARGS="-p $ONVIF_PORT -h $WWW_PATH -c $HTTPD_CONFIG -f" start() { echo -n "Starting ONVIF HTTPD server: " fw_version="OpenIPC $(grep "OPENIPC_VERSION" /etc/os-release | cut -d= -f2 | tr -d '"')" network_interface=$(ip route | awk '/default/ {print $5}' | head -n1) network_macaddr=$(cat /sys/class/net/${network_interface}/address | sed 's/://g') soc=$(ipcinfo --chip-name) sed -i "s/^firmware_ver=.*/firmware_ver=$fw_version/" $ONVIF_CONFIG sed -i "s/^hardware_id=.*/hardware_id=$soc/" $ONVIF_CONFIG sed -i "s/^serial_num=.*/serial_num=$network_macaddr/" $ONVIF_CONFIG sed -i "s/^ifs=.*/ifs=$network_interface/" $ONVIF_CONFIG echo -e "A:*\n/cgi-bin*:*\n" > $HTTPD_CONFIG start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_ARGS if [ $? -eq 0 ]; then echo "OK" else echo "FAIL" fi } stop() { echo -n "Stopping ONVIF HTTPD server: " start-stop-daemon -K -q -p "$PIDFILE" if [ $? -eq 0 ]; then rm -f "$PIDFILE" echo "OK" else echo "FAIL" fi } case "$1" in start|stop) $1 ;; restart) stop sleep 3 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac