postinst.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/bash
  2. export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
  3. cd "/Library/Application Support/ZeroTier/One"
  4. if [ ! -f authtoken.secret ]; then
  5. head -c 1024 /dev/urandom | md5 | head -c 24 >authtoken.secret
  6. chown 0 authtoken.secret
  7. chgrp 0 authtoken.secret
  8. chmod 0600 authtoken.secret
  9. fi
  10. if [ -f zerotier-one.pid ]; then
  11. kill `cat zerotier-one.pid`
  12. sleep 1
  13. killall MacEthernetTapAgent
  14. sleep 1
  15. killall -9 MacEthernetTapAgent
  16. sleep 1
  17. if [ -f zerotier-one.pid ]; then
  18. kill -9 `cat zerotier-one.pid`
  19. rm -f zerotier-one.pid
  20. fi
  21. fi
  22. launchctl load /Library/LaunchDaemons/com.zerotier.one.plist >>/dev/null 2>&1
  23. sleep 1
  24. rm -f zerotier-cli zerotier-idtool
  25. ln -sf zerotier-one zerotier-cli
  26. ln -sf zerotier-one zerotier-idtool
  27. if [ ! -d /usr/local/bin ]; then
  28. mkdir -p /usr/local/bin
  29. fi
  30. cd /usr/local/bin
  31. rm -f zerotier-cli zerotier-idtool
  32. ln -sf "/Library/Application Support/ZeroTier/One/zerotier-one" zerotier-cli
  33. ln -sf "/Library/Application Support/ZeroTier/One/zerotier-one" zerotier-idtool
  34. if [ -f /tmp/zt1-gui-restart.tmp ]; then
  35. for u in `cat /tmp/zt1-gui-restart.tmp`; do
  36. if [ -f '/Applications/ZeroTier One.app/Contents/MacOS/ZeroTier One' ]; then
  37. su $u -c '/usr/bin/open /Applications/ZeroTier\ One.app &' >>/dev/null 2>&1 &
  38. else
  39. su $u -c '/usr/bin/open /Applications/ZeroTier.app &' >>/dev/null 2>&1 &
  40. fi
  41. done
  42. fi
  43. rm -f /tmp/zt1-gui-restart.tmp
  44. exit 0