gitscope
← awesome-scripts / master / dnsleak-guard/install.sh
https://dev.kronoz.win/r/awesome-scripts.git
dnsleak-guard/install.sh · Bash
Blame Raw
 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