Created
November 24, 2025 05:59
-
-
Save FaiChou/954590636043b01206b468ee34be6f2b to your computer and use it in GitHub Desktop.
macOS set system proxy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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