postinst.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
  3. OSX_RELEASE=`sw_vers -productVersion | cut -d . -f 1,2`
  4. DARWIN_MAJOR=`uname -r | cut -d . -f 1`
  5. launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist >>/dev/null 2>&1
  6. sleep 0.5
  7. cd "/Library/Application Support/ZeroTier/One"
  8. if [ "$OSX_RELEASE" = "10.7" -o "$OSX_RELEASE" = "10.8" -o "$OSX_RELEASE" = "10.9" -o "$OSX_RELEASE" = "10.10" -o "$OSX_RELEASE" = "10.11" -o "$OSX_RELEASE" = "10.12" ]; then
  9. rm -f tap.kext.10_7.tar.gz
  10. curl -s https://download.zerotier.com/tap.kext.10_7.tar.gz >tap.kext.10_7.tar.gz
  11. if [ -s tap.kext.10_7.tar.gz -a "`shasum -a 256 tap.kext.10_7.tar.gz | cut -d ' ' -f 1`" = "e133d4832cef571621d3618f417381b44f51a76ed625089fb4e545e65d3ef2a9" ]; then
  12. rm -rf tap.kext
  13. tar -xzf tap.kext.10_7.tar.gz
  14. chown -R 0 tap.kext
  15. chgrp -R 0 tap.kext
  16. fi
  17. rm -f tap.kext.10_7.tar.gz
  18. fi
  19. rm -rf node.log node.log.old root-topology shutdownIfUnreadable autoupdate.log updates.d ui peers.save
  20. chown -R 0 tap.kext
  21. chgrp -R 0 tap.kext
  22. if [ ! -f authtoken.secret ]; then
  23. head -c 1024 /dev/urandom | md5 | head -c 24 >authtoken.secret
  24. chown 0 authtoken.secret
  25. chgrp 0 authtoken.secret
  26. chmod 0600 authtoken.secret
  27. fi
  28. rm -f zerotier-cli zerotier-idtool
  29. ln -sf zerotier-one zerotier-cli
  30. ln -sf zerotier-one zerotier-idtool
  31. mkdir -p /usr/local/bin
  32. cd /usr/local/bin
  33. rm -f zerotier-cli zerotier-idtool
  34. ln -sf "/Library/Application Support/ZeroTier/One/zerotier-one" zerotier-cli
  35. ln -sf "/Library/Application Support/ZeroTier/One/zerotier-one" zerotier-idtool
  36. if [ $DARWIN_MAJOR -le 16 ]; then
  37. cd "/Library/Application Support/ZeroTier/One"
  38. kextload -r . tap.kext >>/dev/null 2>&1 &
  39. disown %1
  40. fi
  41. launchctl load /Library/LaunchDaemons/com.zerotier.one.plist >>/dev/null 2>&1
  42. sleep 1
  43. if [ -f /tmp/zt1-gui-restart.tmp ]; then
  44. for u in `cat /tmp/zt1-gui-restart.tmp`; do
  45. su $u -c '/Applications/ZeroTier\ One.app/Contents/MacOS/ZeroTier\ One &' >>/dev/null 2>&1 &
  46. done
  47. fi
  48. rm -f /tmp/zt1-gui-restart.tmp
  49. exit 0