https://dev.kronoz.win/r/awesome-scripts.git
1#!/bin/bash
2set -e
3
4# Проверка root
5if [ "$EUID" -ne 0 ]; then
6 echo "ERROR: run with sudo"
7 exit 1
8fi
9
10SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
11
12echo "[1/4] Installing script to /usr/local/bin/ensure_dns.sh"
13cp "$SCRIPT_DIR/ensure_dns.sh" /usr/local/bin/ensure_dns.sh
14chmod +x /usr/local/bin/ensure_dns.sh
15chown root:wheel /usr/local/bin/ensure_dns.sh
16
17echo "[2/4] Installing LaunchDaemon"
18cp "$SCRIPT_DIR/com.user.dnsleak-guard.plist" /Library/LaunchDaemons/
19chown root:wheel /Library/LaunchDaemons/com.user.dnsleak-guard.plist
20chmod 644 /Library/LaunchDaemons/com.user.dnsleak-guard.plist
21
22echo "[3/4] Loading LaunchDaemon"
23launchctl unload /Library/LaunchDaemons/com.user.dnsleak-guard.plist 2>/dev/null || true
24launchctl load /Library/LaunchDaemons/com.user.dnsleak-guard.plist
25
26echo "[4/4] Verifying"
27sleep 2
28if launchctl list | grep -q "com.user.dnsleak-guard"; then
29 echo "✅ dnsleak-guard installed and running"
30 echo " Logs: /tmp/dnsleak-guard.log"
31 echo " Stop: sudo launchctl unload /Library/LaunchDaemons/com.user.dnsleak-guard.plist"
32else
33 echo "❌ Failed to load daemon. Check /tmp/dnsleak-guard.err"
34 exit 1
35fi