#!/bin/sh ULINUX_CONFIG_FILE=/etc/config/uLinux.conf QCLOUD_CONFIG_FILE=/etc/config/qid.conf QPKG_CONFIG_FILE=/etc/config/qpkg.conf export QNAP_QPKG=CloudLink QPKG_INSTALL_PATH=`/sbin/getcfg -f $QPKG_CONFIG_FILE $QNAP_QPKG Install_Path` SOCKET_ADD_PATH=$QPKG_INSTALL_PATH/tmp/p2p.sock LOGFILE_PATH=/tmp/.p2pagent.log QPKG_ENABLED=$(/sbin/getcfg $QNAP_QPKG Enable -d FALSE -f $QPKG_CONFIG_FILE) QID_STATUS=`/sbin/getcfg -f $QCLOUD_CONFIG_FILE "QNAP ID Service" STATUS -d ""` VLINK_STATUS=`/sbin/getcfg -f $QCLOUD_CONFIG_FILE "QNAP VLink Service" STATUS -d Disable` WEB_ACCESS_PORT=`/sbin/getcfg -f $ULINUX_CONFIG_FILE "System" "Web Access Port" -d "8080"` SECURE_WEB_ACCESS_PORT=`/sbin/getcfg -f $ULINUX_CONFIG_FILE "Stunnel" "Port" -d "443"` FORCE_SSL=`/sbin/getcfg -f $ULINUX_CONFIG_FILE "System" "Force SSL" -d "0"` CLOUDLINK_P2P_AGENT_PID_LIST=`/bin/ps | /bin/grep -e "p2pagent\s\+run-answer" | /bin/grep -v grep | /bin/awk '{print $1}'` function setup_env() { # create dirs /bin/mkdir -p `dirname $SOCKET_ADD_PATH` /bin/rm -f $SOCKET_ADD_PATH } case "$1" in start) if [ "$QPKG_ENABLED" == "TRUE" ] && [ "$VLINK_STATUS" == "Enable" ] && [ "$QID_STATUS" == "3" ]; then if [[ -n "$CLOUDLINK_P2P_AGENT_PID_LIST" ]]; then echo "p2pagent has been started, restarting..." /bin/kill -9 $CLOUDLINK_P2P_AGENT_PID_LIST > /dev/null 2>&1 /bin/rm -f $SOCKET_ADD_PATH fi # setup environment setup_env # start agent opt="--socket-addr $SOCKET_ADD_PATH --log-file $LOGFILE_PATH" if [ "$FORCE_SSL" != "0" ]; then opt+=" --enable-tls -R $SECURE_WEB_ACCESS_PORT" else opt+=" -R $WEB_ACCESS_PORT" fi /sbin/daemon_mgr p2pagent start "$QPKG_INSTALL_PATH/bin/p2pagent run-answer $opt >> $LOGFILE_PATH 2>&1 &" else $0 stop fi ;; stop) # kill cloudlink_p2p_agent process /sbin/daemon_mgr p2pagent stop "$QPKG_INSTALL_PATH/bin/p2pagent run-answer" if [[ -n "$CLOUDLINK_P2P_AGENT_PID_LIST" ]]; then /bin/kill $CLOUDLINK_P2P_AGENT_PID_LIST > /dev/null 2>&1 fi /bin/rm -f $SOCKET_ADD_PATH ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0