30 lines
1.2 KiB
Bash
Executable File
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."
|