#!/bin/sh

USER="admin"
PREFIX="/usr/local/rutorrent"
PATH=$PREFIX/bin:$PREFIX/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/syno/sbin:/usr/syno/bin
DESC="rutorrent"
TORRENT_NAME=rtorrent
TORRENT_DAEMON=$PREFIX/bin/rtorrent
TORRENT_DAEMON_OPTS="-n -o import=$PREFIX/etc/rtorrent.conf"
TORRENT_PIDFILE=$PREFIX/var/run/rtorrent.pid
SCREEN="$PREFIX/bin/screen"
SCREEN_NAME="rtorrent"
HTTPD_NAME=httpd
HTTPD_DAEMON=$PREFIX/sbin/httpd
#HTTPD_DAEMON_OPTS="-f $PREFIX/etc/httpd/httpd.conf"
HTTPD_DAEMON_OPTS=""
HTTPD_PIDFILE=$PREFIX/var/run/httpd.pid
SCRIPTNAME=/var/packages/ruTorrent/scripts/start-stop-status
#SCRIPTNAME=/usr/local/bin/rutorrent-ctl
LOGFILE=$PREFIX/var/log/rutorrent.log

. $PREFIX/lib/lsb/init-functions

check_syntax() { $HTTPD_DAEMON -t $HTTPD_DAEMON_OPTS > /dev/null || exit $? ; }
torrent_start() { start-stop-daemon --start --background --oknodo --pidfile "$TORRENT_PIDFILE" --make-pidfile --chuid $USER --exec $SCREEN -- \
	-DmUS $SCREEN_NAME $TORRENT_DAEMON $TORRENT_DAEMON_OPTS ; }
torrent_stop() { start-stop-daemon --stop --retry 30 --oknodo --quiet --pidfile "$TORRENT_PIDFILE" --make-pidfile --exec $SCREEN ; }
httpd_start() { start-stop-daemon --start --oknodo --quiet --pidfile $HTTPD_PIDFILE --exec $HTTPD_DAEMON -- $HTTPD_DAEMON_OPTS ; }
httpd_stop() { start-stop-daemon --stop --retry 30 --oknodo --quiet --pidfile $HTTPD_PIDFILE --exec $HTTPD_DAEMON ; }

case "$1" in
  start|reload)
	echo -n "ServerName " >$PREFIX/etc/httpd/hostname.conf ; hostname >>$PREFIX/etc/httpd/hostname.conf ; check_syntax
	log_daemon_msg "Starting $DESC" $TORRENT_NAME ; if ! torrent_start ; then log_end_msg 1 ; else log_end_msg 0 ; fi
	log_daemon_msg "Starting $DESC" $HTTPD_NAME ; if ! httpd_start ; then log_end_msg 1 ; torrent_stop ; else log_end_msg 0 ;fi
	;;
  stop)
	log_daemon_msg "Stopping $DESC" $TORRENT_NAME ; if torrent_stop ; then log_end_msg 0 ; else log_end_msg 1 ; fi
	log_daemon_msg "Stopping $DESC" $HTTPD_NAME ; if httpd_stop ; then log_end_msg 0 ; else log_end_msg 1 ; fi
#	rm -f /volume1/rutorrent/.session/rtorrent.lock
	;;
  restart|force-reload)
	$0 stop ; sleep 1 ; $0 start || exit 1
	;;
  status)
	if status_of_proc -p "$TORRENT_PIDFILE" "$TORRENT_DAEMON" $TORRENT_NAME ; then if status_of_proc -p "$HTTPD_PIDFILE" "$HTTPD_DAEMON" \
	$HTTPD_NAME ; then exit 0 ; fi ; fi ; exit 1
	;;
  log)
	echo $LOGFILE ; exit 0
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status|log}" >&2
	exit 1
	;;
esac

exit 0
