PAC模式
简单概述:
PAC模式,是自动判断是否走代理,比如Google,Youtube,Facebook等等常用需要代理的自动会走代理,国内的淘宝,百度等不会走代理。
以下是科学的解释。
PAC 模式 = 自动代理模式(Proxy Auto-Config)
浏览器或系统会根据一个 PAC 文件(一个 JavaScript 脚本)来决定:
哪些网站走代理,哪些网站直接连接。
一句话总结:
🔀 你访问的每个网址都会被脚本判断:该走代理还是直连。
🚦 PAC 模式工作流程(很简单)
- 你开启 PAC 模式
- 系统/浏览器加载 PAC 文件(通常是一个
.pacURL) - PAC 文件里面包含一个函数:
function FindProxyForURL(url, host) {
// 根据 host 判断
}- 当你访问网站时 → 浏览器执行这个函数
PAC 返回结果,例如:
"PROXY 127.0.0.1:1080"→ 走代理"DIRECT"→ 不走代理"SOCKS5 127.0.0.1:1080"→ 走 SOCKS5
🎯 PAC 模式有什么用?
✔ 自动分流(最常见)
比如:
- Google、YouTube 自动走代理
- 百度、淘宝、B站 直接访问,不浪费代理带宽,不加延迟
这是 PAC 最大价值。
🧠 PAC 让你不用手动切换
❌ 全局代理
→ 所有流量都走代理,延迟高、国内网站变慢
✔ PAC 模式
→ 按规则判断,不该代理的完全不代理
就像这样(示例 PAC 内容):
if (dnsDomainIs(host, "google.com") ||
dnsDomainIs(host, "youtube.com") ||
shExpMatch(host, "*.facebook.com")) {
return "PROXY 127.0.0.1:1080";
}
return "DIRECT";🧩 PAC 与其他模式对比
| 模式 | 行为 | 优点 | 缺点 |
|---|---|---|---|
| 全局代理 | 所有请求都走代理 | 简单粗暴 | 国内访问变慢、代理负担大 |
| PAC 模式 | 根据规则自动判断 | 国内外自动分流 | PAC 规则需要更新 |
| 绕过大陆(常见于 Clash/V2RayN) | 大陆全部直连,非大陆走代理 | 智能 + 自动 | PAC 的升级版 |
❓ PAC 文件更像什么?
就像一个 自动分流路由表
浏览器每访问一个网站时问 PAC:
“这个域名用不用代理?”
PAC 回答:
- 用 → 走代理
- 不用 → 直连
📌 适合使用 PAC 的场景
- 想访问被屏蔽的网站,但国内网站保持高速
- 不想全局代理
- 想节省代理流量
- 使用浏览器代理插件(SwitchyOmega 等)