PAC(Proxy Auto-Config,代理自动配置)是一种用 JavaScript 脚本自动决定网络请求走代理还是直连的技术,常用于企业网络和科学上网工具中实现智能分流,让国内网站直连、被屏蔽网站走代理,兼顾速度与可用性。

| 类型 | 代理自动配置技术 网络标准 |
| 提出者 | Netscape(网景公司) |
| 推出时间 | 1990 年代 |
| 文件格式 | .pac(JavaScript 脚本) |
| 核心函数 | FindProxyForURL |
| 相关技术 | WPAD GFWList Clash |
PAC(Proxy Auto-Config,代理自动配置)是一种通过 JavaScript 脚本文件自动判断浏览器或系统的网络请求应该直连还是走某个代理服务器的技术。
PAC 最早由 Netscape 在其浏览器中引入,后来被各大浏览器和操作系统广泛支持,成为事实上的行业标准。它的核心是一个后缀通常为 .pac 的文本文件,里面用 JavaScript 定义一个名为 FindProxyForURL 的函数:每当发起网络请求时,系统会把目标网址和主机名传给这个函数,函数返回「DIRECT」(直连)或「PROXY 地址:端口」等指令,从而决定这次请求的走向。
在中文网络环境中,PAC 因科学上网(翻墙)工具而广为人知。Shadowsocks、V2Ray、Clash 等工具的客户端普遍提供「PAC 模式」:内置一份基于 GFWList 等域名列表生成的 PAC 规则,被屏蔽的网站自动走代理,国内网站保持直连。相比让所有流量都过代理的「全局模式」,PAC 模式速度更快、更省流量,也不影响访问国内服务。
PAC 是较早期的分流方案,规则跑在浏览器或系统层,能力有限,只能看到域名和 URL。如今 Clash、sing-box 等工具更多使用自带的规则引擎在本地代理内核中分流,支持按进程、按 IP 地理位置等更细的维度,PAC 的地位有所下降,但作为简单通用的标准,它仍被大量场景使用,例如企业内网的 WPAD 自动发现代理。
问:PAC 模式和全局模式有什么区别?答:PAC 模式按规则智能分流,只有命中规则(通常是被屏蔽的网站)的流量才走代理;全局模式则所有流量都走代理。日常使用推荐 PAC 或类似的规则模式。
问:PAC 文件安全吗?答:PAC 本身只是分流规则,但它能控制你的流量走向,因此只应使用可信来源的 PAC 文件,来路不明的 PAC 可能把流量导向恶意代理。
问:访问不了某个新被屏蔽的网站怎么办?答:多半是 PAC 规则列表未收录该域名,可更新规则列表、手动添加自定义规则,或临时切换到全局模式。

| 类型 | 代理自动配置技术 网络标准 |
| 提出者 | Netscape(网景公司) |
| 推出时间 | 1990 年代 |
| 文件格式 | .pac(JavaScript 脚本) |
| 核心函数 | FindProxyForURL |
| 相关技术 | WPAD GFWList Clash |
登录 后参与讨论
暂无讨论,来发表第一条评论吧