Files
umn/scripts/uninstall.sh
2026-08-31 17:21:07 -05:00

30 lines
1.2 KiB
Bash
Executable File

#!/bin/zsh
set -euo pipefail
BIN_DIR="${HOME}/.local/bin"
PLIST_PATH="${HOME}/Library/LaunchAgents/com.ultramesh.umnd.plist"
HELPER_BIN="/Library/PrivilegedHelperTools/com.ultramesh.umn-helper"
HELPER_PLIST="/Library/LaunchDaemons/com.ultramesh.umn-helper.plist"
RESOLVER_PATH="/etc/resolver/mesh"
TEMP_RESOLVER=$(mktemp)
trap 'rm -f "${TEMP_RESOLVER}"' EXIT
cat > "${TEMP_RESOLVER}" <<'EOF'
# Managed by Ultra Mesh Network
nameserver 127.0.0.1
port 53535
EOF
launchctl bootout "gui/${UID}" "${PLIST_PATH}" >/dev/null 2>&1 || true
[[ ! -e "${PLIST_PATH}" ]] || unlink "${PLIST_PATH}"
[[ ! -e "${BIN_DIR}/umnd" ]] || unlink "${BIN_DIR}/umnd"
[[ ! -e "${BIN_DIR}/umn" ]] || unlink "${BIN_DIR}/umn"
sudo -v
sudo launchctl bootout system "${HELPER_PLIST}" >/dev/null 2>&1 || true
[[ ! -e "${HELPER_PLIST}" ]] || sudo unlink "${HELPER_PLIST}"
[[ ! -e "${HELPER_BIN}" ]] || sudo unlink "${HELPER_BIN}"
if [[ -e "${RESOLVER_PATH}" ]] && cmp -s "${TEMP_RESOLVER}" "${RESOLVER_PATH}"; then sudo unlink "${RESOLVER_PATH}"; fi
echo "Binaries, LaunchAgent, LaunchDaemon, routes, interface, and managed resolver removed."
echo "All persistent state, including identity and address, was preserved in ~/Library/Application Support/UltraMesh."