5 DAEMON=/usr/local/sbin/anytun
6 ANYTUNCONFIG=/usr/local/bin/anytun-config
7 CONTROLDAEMON=/usr/local/bin/anytun-controld
8 CONFIG_DIR=/usr/local/etc/anytun
10 VARCONTROL_DIR=/run/anytun-controld
12 test -x $DAEMON || exit 0
13 test -z $NAME && exit 1
16 if [ -f $CONFIG_DIR/$NAME/config ] ; then
18 test -f $CONFIG_DIR/$NAME/post-up.sh && POSTUP="-x $CONFIG_DIR/$NAME/post-up.sh"
19 CHROOTDIR=`grep '^chroot' < $CONFIG_DIR/$NAME/config | sed 's/chroot\s*//'`
20 if [ -n "$CHROOTDIR" ] ; then
21 test -d $CHROOTDIR || mkdir -p $CHROOTDIR
23 test -d $VARRUN_DIR || mkdir -p $VARRUN_DIR
24 DAEMONARG=`sed 's/#.*//' < $CONFIG_DIR/$NAME/config | grep -e '\w' | sed 's/^/--/' | tr '\n' ' '`
25 exec $DAEMON --write-pid $VARRUN_DIR/$NAME.pid $POSTUP $DAEMONOPTS $DAEMONARG
27 echo "no config found" >&2
33 if [ -d $CONFIG_DIR/$NAME/conf.d ] ; then
34 test -d $VARCONTROL_DIR || mkdir -p $VARCONTROL_DIR
35 chmod 700 $VARCONTROL_DIR
36 rm -f $VARCONTROL_DIR/$NAME 2>/dev/null
37 KDPRF=`sed 's/#.*//' < $CONFIG_DIR/$NAME/config | grep -e 'kd-prf' | sed 's/^/ --/' | xargs echo`
38 for CLIENTNAME in `ls $CONFIG_DIR/$NAME/conf.d`; do
39 echo -n " ($CLIENTNAME)"
40 DAEMONARG=`sed 's/#.*//' < $CONFIG_DIR/$NAME/conf.d/$CLIENTNAME | grep -e '\w' | sed 's/^/ --/' | xargs echo`
41 $ANYTUNCONFIG $DAEMONARG $CIPHER $AUTHALGO $KDPRF >> $VARCONTROL_DIR/$NAME
43 CONTROLHOST=`sed 's/#.*//' < $CONFIG_DIR/$NAME/config | grep -e 'control-host' | sed 's/^/ --/' | xargs echo`
44 exec $CONTROLDAEMON -f $VARCONTROL_DIR/$NAME $DAEMONOPTS $CONTROLHOST \
45 --write-pid $VARCONTROL_DIR/$NAME.pid