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 会话时,它都会自动检测并应用系统代理设置。

上一篇
笔记
openwrt重新加入Zerotier,异地组网访问异常
个人博客系统 v1.0 发布说明

留言 (0)

昵称(必填)
邮箱(必填)
网址(选填)