macos以太网代理需绑定具体服务名(如“以太网”),不可全局生效;须用networksetup命令分别配置http/https代理、pac自动配置及绕过列表,且服务名必须精确匹配启用项。

macOS 以太网下的代理配置,和 Wi-Fi 基本一致,但关键区别在于:代理设置必须绑定到具体的网络服务名(如 “以太网”),而不是笼统地认为“开了代理就全局生效”。系统不会自动把代理应用到所有接口,每个有线/无线连接都是独立的服务,需分别配置、分别启用。
确认当前以太网服务名
macOS 要求你明确指定操作对象。终端运行以下命令查看真实启用的服务列表:
networksetup -listallnetworkservices
输出中未带星号(*)的条目才是当前激活的网络服务。常见情况是:以太网(注意大小写和空格)、Ethernet 或 USB 以太网(取决于网卡型号)。务必复制这个准确名称——后续所有命令都依赖它,拼错或用别名会导致设置失败。
手动配置 HTTP/HTTPS 代理
适用于固定地址+端口的代理场景(如公司内网代理、本地调试工具):
- 开启代理并设地址:
networksetup -setwebproxy "以太网" 192.168.1.100 8080 - 同时配置 HTTPS 代理(多数现代代理要求):
networksetup -setsecurewebproxy "以太网" 192.168.1.100 8080 - 若需认证,追加用户名密码:
networksetup -setwebproxy "以太网" 192.168.1.100 8080 on username password - 启用状态开关(必须执行才生效):
networksetup -setwebproxystate "以太网" on
关闭时只需将最后的 on 换成 off。建议先用 networksetup -getwebproxy "以太网" 查看当前状态,避免重复操作。
利用 macOS 原生能力实现本地语音识别与合成。通过 yap (Apple Speech.framework) 进行语音转文字,通过 say + ffmpeg 进行文字转语音。完全离线,无需 API 密钥。具备音质检测与智能选声功能。
使用 PAC 文件实现智能分流
当你需要部分域名直连(如内部系统、局域网设备)、其余走代理时,PAC 是最稳定的方式:
- PAC 文件必须托管在可访问的 URL(如
https://yourdomain.com/proxy.pac),不能用本地 file:// - 脚本示例(保存为 UTF-8):
function FindProxyForURL(url, host) { if (shExpMatch(host, "*.internal.company") || isInNet(host, "172.16.0.0", "255.240.0.0")) { return "DIRECT"; } return "PROXY 192.168.1.100:8080"; } - 终端启用 PAC:
networksetup -setautoproxyurl "以太网" "https://yourdomain.com/proxy.pac" - 启用自动配置开关:
networksetup -setautoproxystate "以太网" on
PAC 修改后无需重启,浏览器刷新即可生效;规则匹配优先级由脚本逻辑决定,比手动忽略列表更灵活可靠。
绕过本地与私有网络流量
即使开了代理,也应默认排除常见内网地址,避免访问打印机、NAS、路由器等设备失败:
- 添加标准绕过列表(逗号分隔):
networksetup -setproxybypassdomains "以太网" "127.0.0.1" "localhost" "192.168.0.0/16" "10.0.0.0/8" "172.16.0.0/12" - 也可补充特定域名:
networksetup -setproxybypassdomains "以太网" "printer.local" "router.asus.com"
注意:macOS 不支持 CIDR 格式直接识别,/16 等写法仅作标记,实际生效靠 isInNet() 函数在 PAC 中处理;命令行方式只支持精确主机名或通配符(如 *.company.local)。










