Expand local_machine docs and automation for connectivity, games, and ops.
Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs; document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
76
docs/connectivity/scripts/macos-system-pac.sh
Executable file
76
docs/connectivity/scripts/macos-system-pac.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/bin/sh
|
||||
# Включает/выключает системный «автоматический прокси» (PAC) в macOS через networksetup.
|
||||
# По умолчанию: PAC http://localhost:1089/proxy.pac на сервисах Wi-Fi и Thunderbolt Bridge 2.
|
||||
#
|
||||
# Переменные окружения:
|
||||
# MACOS_PAC_URL — URL proxy.pac (по умолчанию http://localhost:1089/proxy.pac)
|
||||
# MACOS_PAC_SERVICES — список имён сетевых сервисов через «|» (см. networksetup -listallnetworkservices)
|
||||
|
||||
usage() {
|
||||
printf '%s\n' "Usage: $(basename "$0") on|off|status" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ "$#" -eq 1 ] || usage
|
||||
cmd=$1
|
||||
|
||||
PAC_URL="${MACOS_PAC_URL:-http://localhost:1089/proxy.pac}"
|
||||
SERVICES="${MACOS_PAC_SERVICES:-Wi-Fi|Thunderbolt Bridge 2}"
|
||||
|
||||
svc_exists() {
|
||||
networksetup -listallnetworkservices 2>/dev/null | grep -Fqx "$1"
|
||||
}
|
||||
|
||||
case "$cmd" in
|
||||
on)
|
||||
OLDIFS=$IFS
|
||||
IFS='|'
|
||||
for svc in $SERVICES; do
|
||||
IFS=$OLDIFS
|
||||
[ -z "$svc" ] && continue
|
||||
if ! svc_exists "$svc"; then
|
||||
echo "skip (нет сервиса): $svc" >&2
|
||||
continue
|
||||
fi
|
||||
networksetup -setautoproxyurl "$svc" "$PAC_URL"
|
||||
networksetup -setautoproxystate "$svc" on
|
||||
echo "PAC on: $svc"
|
||||
done
|
||||
;;
|
||||
off)
|
||||
OLDIFS=$IFS
|
||||
IFS='|'
|
||||
for svc in $SERVICES; do
|
||||
IFS=$OLDIFS
|
||||
[ -z "$svc" ] && continue
|
||||
if ! svc_exists "$svc"; then
|
||||
echo "skip (нет сервиса): $svc" >&2
|
||||
continue
|
||||
fi
|
||||
networksetup -setautoproxystate "$svc" off
|
||||
echo "PAC off: $svc"
|
||||
done
|
||||
;;
|
||||
status)
|
||||
printf '%s\n' "PAC_URL=$PAC_URL"
|
||||
printf '%s\n' "SERVICES=$SERVICES"
|
||||
printf '%s\n' "---"
|
||||
OLDIFS=$IFS
|
||||
IFS='|'
|
||||
for svc in $SERVICES; do
|
||||
IFS=$OLDIFS
|
||||
[ -z "$svc" ] && continue
|
||||
if svc_exists "$svc"; then
|
||||
echo "[$svc]"
|
||||
networksetup -getautoproxyurl "$svc"
|
||||
else
|
||||
echo "[$svc] (нет такого сервиса)"
|
||||
fi
|
||||
done
|
||||
printf '%s\n' "--- scutil --proxy ---"
|
||||
scutil --proxy 2>/dev/null || true
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user