aboutsummaryrefslogtreecommitdiff
path: root/network/zerotier-one/rc.zerotier-one.new
blob: 5c1d00295ef5f99588069f08e23fd88619cfd60a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh

# Slackware init script for zerotier-one

# To change the default options, edit /etc/default/zerotier-one
if [ -r /etc/default/zerotier-one ]; then
  . /etc/default/zerotier-one
fi

# Start zerotier-one
start_zerotier() {
  if ! lsmod | grep -q "^tun " ; then
    echo "Loading tun module..."
    /sbin/modprobe tun
  fi

  if ! /usr/bin/pgrep --ns $$ --euid root -f "^/usr/sbin/zerotier-one" 1> /dev/null 2> /dev/null ; then
    echo "Starting zerotier-one:  /usr/sbin/zerotier-one $ZEROTIER_OPTS"
    /usr/sbin/zerotier-one $ZEROTIER_OPTS &
    echo $! > /var/run/zerotier-one.pid
  fi
}

# Stop zerotier-one
stop_zerotier() {
  echo "Stopping zerotier-one."
  kill $(cat /var/run/zerotier-one.pid)
  rm -f /var/run/zerotier-one.pid
}

# Restart zerotier-one
restart_zerotier() {
  stop_zerotier
  sleep 1
  start_zerotier
}

# Parse command line parameters
case "$1" in
'start')
  start_zerotier
  ;;
'stop')
  stop_zerotier
  ;;
'restart')
  restart_zerotier
  ;;
*)
  echo "usage $0 start|stop|restart"
esac