diff options
Diffstat (limited to 'ext')
-rwxr-xr-x | ext/installfiles/linux/init.d/zerotier-one | 97 | ||||
-rwxr-xr-x | ext/installfiles/linux/uninstall.sh | 41 | ||||
-rwxr-xr-x | ext/installfiles/mac/check_for_updates.sh | 2 | ||||
-rwxr-xr-x | ext/installfiles/mac/uninstall.sh | 38 |
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 |