Mac本地终端请求走代理设置
2024 年 03 月 16 日 • 笔记
通过脚本实现本地终端网络访问走代理模式
1. 创建一个 shell 脚本
shell
复制代码
#!/bin/bash
# 获取并设置HTTP代理
http_proxy_enabled=$(networksetup -getwebproxy Wi-Fi | awk '/Enabled: Yes/')
if [ ! -z "$http_proxy_enabled" ]; then
http_proxy_server=$(networksetup -getwebproxy Wi-Fi | awk '/Server:/ {print $2}')
http_proxy_port=$(networksetup -getwebproxy Wi-Fi | awk '/Port:/ {print $2}')
export http_proxy="http://$http_proxy_server:$http_proxy_port"
export https_proxy=$http_proxy
echo "HTTP Proxy set to $http_proxy"
fi
# 获取并设置SOCKS代理
socks_proxy_enabled=$(networksetup -getsocksfirewallproxy Wi-Fi | awk '/Enabled: Yes/')
if [ ! -z "$socks_proxy_enabled" ]; then
socks_proxy_server=$(networksetup -getsocksfirewallproxy Wi-Fi | awk '/Server:/ {print $2}')
socks_proxy_port=$(networksetup -getsocksfirewallproxy Wi-Fi | awk '/Port:/ {print $2}')
export all_proxy="socks5://$socks_proxy_server:$socks_proxy_port"
echo "SOCKS Proxy set to $all_proxy"
fi
这个脚本适用于连接到 Wi-Fi。如果你通常使用有线连接或其他网络服务,你可能需要将 Wi-Fi 替换为相应的服务名称,如 Ethernet。你可以通过运行 networksetup -listallnetworkservices 来查看所有可用的网络服务。
2. 使脚本可执行
保存脚本后,需要使其可执行。打开 iTerm,导航到脚本所在的目录,然后运行以下命令:
plain
复制代码
chmod +x set_proxy.sh
3. 在 shell 配置文件中调用脚本
为了让每个 iTerm 会话都自动应用系统代理设置,你需要在你的 shell 配置文件(例如 .bash_profile, .bashrc, .zshrc 等)中调用这个脚本。打开你的 shell 配置文件:
plain
复制代码
open -e ~/.zshrc # 如果你使用的是 zsh
# 或者
open -e ~/.bash_profile # 如果你使用的是 bash
然后,在文件末尾添加以下内容来执行脚本:
plain
复制代码
source /path/to/set_proxy.sh
请确保将 /path/to/set_proxy.sh
替换为脚本的实际路径。
4. 应用更改
保存并关闭配置文件后,在 iTerm 中重新加载它:
shell
复制代码
source ~/.zshrc
# 或者
source ~/.bash_profile
现在,每当你启动一个新的 iTerm 会话时,它都会自动检测并应用系统代理设置。
留言 (0)