Skip to content

Instantly share code, notes, and snippets.

@FaiChou
Created November 24, 2025 05:59
Show Gist options
  • Select an option

  • Save FaiChou/954590636043b01206b468ee34be6f2b to your computer and use it in GitHub Desktop.

Select an option

Save FaiChou/954590636043b01206b468ee34be6f2b to your computer and use it in GitHub Desktop.
macOS set system proxy
#!/bin/bash
# setproxy.sh - 设置 macOS 当前 WiFi 的代理
# 用法:
# ./setproxy.sh local # 设置 127.0.0.1:7890
# ./setproxy.sh snail # 设置 192.168.1.2:7890
# ./setproxy.sh close # 关闭代理
set -e
# 根据参数设置代理地址
case "$1" in
local)
HOST="127.0.0.1"
PORT="7890"
;;
snail)
HOST="192.168.1.2"
PORT="7890"
;;
close)
echo "🔧 正在关闭代理设置..."
networksetup -setwebproxystate "Wi-Fi" off
networksetup -setsecurewebproxystate "Wi-Fi" off
networksetup -setsocksfirewallproxystate "Wi-Fi" off
echo "✅ 已关闭所有代理。"
echo "--------------------------------"
echo "HTTP 代理状态:"
networksetup -getwebproxy "Wi-Fi" | sed 's/^/ /'
echo "HTTPS 代理状态:"
networksetup -getsecurewebproxy "Wi-Fi" | sed 's/^/ /'
echo "SOCKS 代理状态:"
networksetup -getsocksfirewallproxy "Wi-Fi" | sed 's/^/ /'
echo "--------------------------------"
exit 0
;;
*)
echo "用法: $0 [local|snail|close]"
exit 1
;;
esac
echo "🔧 正在为 Wi-Fi 设置代理:$HOST:$PORT"
# 设置 HTTP、HTTPS、SOCKS 代理
networksetup -setwebproxy "Wi-Fi" "$HOST" "$PORT"
networksetup -setsecurewebproxy "Wi-Fi" "$HOST" "$PORT"
networksetup -setsocksfirewallproxy "Wi-Fi" "$HOST" "$PORT"
# 启用代理
networksetup -setwebproxystate "Wi-Fi" on
networksetup -setsecurewebproxystate "Wi-Fi" on
networksetup -setsocksfirewallproxystate "Wi-Fi" on
echo "✅ 代理设置完成:$HOST:$PORT"
echo "--------------------------------"
echo "🔍 当前代理设置:"
echo "HTTP 代理状态:"
networksetup -getwebproxy "Wi-Fi" | sed 's/^/ /'
echo "HTTPS 代理状态:"
networksetup -getsecurewebproxy "Wi-Fi" | sed 's/^/ /'
echo "SOCKS 代理状态:"
networksetup -getsocksfirewallproxy "Wi-Fi" | sed 's/^/ /'
echo "--------------------------------"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment