summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rwxr-xr-xext/installfiles/linux/init.d/zerotier-one97
-rwxr-xr-xext/installfiles/linux/uninstall.sh41
-rwxr-xr-xext/installfiles/mac/check_for_updates.sh2
-rwxr-xr-xext/installfiles/mac/uninstall.sh38
4 files changed, 178 insertions, 0 deletions
diff --git a/ext/installfiles/linux/init.d/zerotier-one b/ext/installfiles/linux/init.d/zerotier-one
new file mode 100755
index 00000000..fdb8522a
--- /dev/null
+++ b/ext/installfiles/linux/init.d/zerotier-one
@@ -0,0 +1,97 @@
+#!/bin/sh
+#
+# zerotier-one Virtual distributed Ethernet service
+#
+# chkconfig: 2345 11 89
+# description: ZeroTier One provides public and private distributed ethernet \
+# networks. See https://www.zerotier.com/ for more information.
+
+### BEGIN INIT INFO
+# Provides: zerotier-one
+# Required-Start: $local_fs $network
+# Required-Stop: $local_fs
+# Default-Start: 2345
+# Default-Stop: 90
+# Short-Description: start ZeroTier One
+# Description: ZeroTier One provides public and private distributed ethernet \
+# networks. See https://www.zerotier.com/ for more information.
+### END INIT INFO
+
+#
+# This script is written to avoid distro-specific dependencies, so it does not
+# use the rc bash script libraries found on some systems. It should work on
+# just about anything, even systems using Upstart. Upstart native support may
+# come in the future.
+#
+
+zthome=/var/lib/zerotier-one
+
+# Add $zthome to path so we can invoke zerotier-one naked, makes it look
+# better in a ps listing.
+export PATH=/bin:/usr/bin:/sbin:/usr/sbin:$zthome
+
+if [ "$UID" -ne 0 ]; then
+ echo "Init script must be called as root."
+ exit 4
+fi
+
+if [ ! -f "$zthome/zerotier-one" ]; then
+ echo "ZeroTier One is not installed in $zthome."
+ exit 5
+fi
+
+pid=0
+if [ -f "$zthome/zerotier-one.pid" ]; then
+ pid=`cat $zthome/zerotier-one.pid`
+fi
+
+running=0
+if [ "$pid" -gt 0 ]; then
+ if [ "`readlink -nf /proc/$pid/exe`" = "$zthome/zerotier-one" ]; then
+ running=1
+ else
+ rm -f "$zthome/zerotier-one.pid"
+ fi
+fi
+
+case "$1" in
+ start)
+ if [ $running -gt 0 ]; then
+ echo "ZeroTier One already running."
+ exit 0
+ fi
+ echo "Starting ZeroTier One..."
+ nohup zerotier-one >>/dev/null 2>&1 &
+ disown %1
+ exit 0
+ ;;
+ stop)
+ if [ $running -gt 0 ]; then
+ echo "Stopping ZeroTier One..."
+ kill -TERM $pid
+ else
+ echo "ZeroTier One is not running."
+ fi
+ ;;
+ restart|reload|force-reload|condrestart|try-restart)
+ echo "Restarting ZeroTier One..."
+ if [ $running -gt 0 ]; then
+ kill -TERM $pid
+ fi
+ while [ -f "$zthome/zerotier-one.pid" ]; do sleep 1; done
+ nohup zerotier-one >>/dev/null 2>&1 &
+ disown %1
+ ;;
+ status)
+ if [ $running -gt 0 ]; then
+ exit 0
+ else
+ exit 3
+ fi
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+
+exit 0
diff --git a/ext/installfiles/linux/uninstall.sh b/ext/installfiles/linux/uninstall.sh
new file mode 100755
index 00000000..18b8a50b
--- /dev/null
+++ b/ext/installfiles/linux/uninstall.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
+
+if [ "$UID" -ne 0 ]; then
+ echo "Must be run as root; try: sudo $0"
+ exit 1
+fi
+
+echo
+
+echo "This will uninstall ZeroTier One, hit CTRL+C to abort."
+echo "Waiting 5 seconds..."
+sleep 5
+
+echo "Killing any running zerotier-one service..."
+killall -q -TERM zerotier-one
+sleep 2
+killall -q -KILL zerotier-one
+
+echo "Removing SysV init items..."
+rm -fv /etc/init.d/zerotier-one
+find /etc/rc*.d -name '???zerotier-one' -print0 | xargs -0 rm -fv
+
+echo "Erasing binary and support files..."
+cd /var/lib/zerotier-one
+rm -fv zerotier-one *.persist authtoken.secret identity.public *.log *.pid
+rm -rfv updates.d networks.d iddb.d
+
+echo "Erasing anything installed into system bin directories..."
+rm -fv /usr/local/bin/zerotier-* /usr/bin/zerotier-*
+
+echo "Done."
+echo
+echo "Your ZeroTier One identity is still preserved in /var/lib/zerotier-one"
+echo "as identity.secret and can be manually deleted if you wish. Save it if"
+echo "you wish to re-use the address of this node, as it cannot be regenerated."
+
+echo
+
+exit 0
diff --git a/ext/installfiles/mac/check_for_updates.sh b/ext/installfiles/mac/check_for_updates.sh
new file mode 100755
index 00000000..05a7907c
--- /dev/null
+++ b/ext/installfiles/mac/check_for_updates.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+
diff --git a/ext/installfiles/mac/uninstall.sh b/ext/installfiles/mac/uninstall.sh
new file mode 100755
index 00000000..4fa26d00
--- /dev/null
+++ b/ext/installfiles/mac/uninstall.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+export PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+if [ "$UID" -ne 0 ]; then
+ echo "Must be run as root; try: sudo $0"
+ exit 1
+fi
+
+echo
+
+echo "This will uninstall ZeroTier One, hit CTRL+C to abort."
+echo "Waiting 5 seconds..."
+sleep 5
+
+ztpath="/Library/Application Support/ZeroTier/One"
+
+echo "Killing any running zerotier-one service..."
+killall -TERM zerotier-one >>/dev/null 2>&1
+sleep 3
+killall -KILL zerotier-one >>/dev/null 2>&1
+
+echo "Unloading kernel extension..."
+kextunload "$ztpath/tap.kext"
+
+echo "Erasing binary and support files..."
+cd $ztpath
+rm -rfv zerotier-one *.persist authtoken.secret identity.public *.log *.pid *.kext
+
+echo "Done."
+echo
+echo "Your ZeroTier One identity is still preserved in $ztpath"
+echo "as identity.secret and can be manually deleted if you wish. Save it if"
+echo "you wish to re-use the address of this node, as it cannot be regenerated."
+
+echo
+
+exit 0