#!/bin/bash # #iodine A IP over DNS tunnel # # chkconfig: 2345 90 10 # description: A IP over DNS tunnel ### BEGIN INIT INFO # Provides: iodine # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Short-Description: A IP over DNS tunnel # Description: A IP over DNS tunnel ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions DAEMON_NAME=iodine DAEMON_PROCESS=$DAEMON_NAME DAEMON_BINARY=$DAEMON_NAME LOCK_FILE=/var/lock/subsys/$DAEMON_NAME RETVAL=0 PID_FILE=/var/run/$DAEMON_NAME.pid [ -f /etc/sysconfig/$DAEMON_NAME ] && . /etc/sysconfig/$DAEMON_NAME start() { [ -f $LOCK_FILE ] && return # do not use -t, as killproc will be unable to kill the daemon COMMAND_LINE="$DAEMON_BINARY -u iodine -F $PID_FILE" [ -z "$TOPDOMAIN" ] && echo "TOPDOMAIN is not set in /etc/sysconfig/iodine" && return [ -n "$PASSWORD" ] && COMMAND_LINE="$COMMAND_LINE -P $PASSWORD" [ -n "$MAXFRAGSIZE" ] && COMMAND_LINE="$COMMAND_LINE -m $MAXFRAGSIZE" [ -n "$NAMESERVER" ] && COMMAND_LINE="$COMMAND_LINE $NAMESERVER" COMMAND_LINE="$COMMAND_LINE $TOPDOMAIN" gprintf "Starting %s: " "$DAEMON_NAME" daemon --pidfile=$PID_FILE $COMMAND_LINE RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCK_FILE } stop() { gprintf "Shutting down %s: " "$DAEMON_NAME" killproc -p $PID_FILE $DAEMON_PROCESS RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE } case "$1" in start) start ;; stop) stop ;; status) status -p $PID_FILE $DAEMON_PROCESS RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f $LOCK_FILE ]; then stop start fi ;; *) gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" "$0" RETVAL=1 esac exit $RETVAL