返回博客

PAC文件(代理自动配置):企业网络和多账户的自动代理设置

PAC文件可以自动将流量通过所需的代理服务器进行转发,而无需手动配置每个设备。我们将探讨其工作原理以及如何为企业进行设置。

📅2026年8月4日
```html

如果您管理数十个账户,团队合作,或希望灵活地通过不同的代理服务器路由流量——手动配置每个浏览器或设备会变得非常麻烦。PAC文件解决了这个问题:一个包含规则的文件——所有流量自动指向正确的地方。本文将探讨PAC文件是什么,它们如何工作,以及如何被套利者、社交媒体营销专家和企业用户使用。

什么是PAC文件,它是如何工作的

PAC文件(代理自动配置)是一个小文件,扩展名为.pac,其中编写了一个JavaScript函数。该函数获取每个请求的URL并决定:是直接发送还是通过代理服务器。如果是通过代理——具体是哪个代理。

这种技术早在1990年代就出现在Netscape Navigator浏览器中,并且自那时以来成为企业网络的标准。如今,所有流行的浏览器都支持PAC文件:Chrome、Firefox、Edge、Safari,以及Windows、macOS和Linux操作系统的系统设置。

工作原理很简单:当浏览器或应用程序想要加载页面时,它首先执行PAC文件中的FindProxyForURL(url, host)函数。该函数返回三个值之一:

  • DIRECT — 直接连接,无需代理
  • PROXY host:port — 使用指定地址的HTTP代理
  • SOCKS5 host:port — 使用SOCKS5代理(大多数现代浏览器支持)

最重要的是:您可以为不同的网站指定多个规则。例如,Facebook的流量通过一个代理,Wildberries的流量通过另一个,而其他所有流量则直接连接。这使得PAC文件成为专业使用代理的不可或缺的工具。

💡 重要理解

PAC文件不是程序或服务。它只是一个包含路由逻辑的文本文件。浏览器会自行读取并应用规则。无需额外的软件。

PAC文件与手动配置:有什么区别

在深入技术细节之前,让我们诚实地回答一个问题:如果可以简单地在浏览器设置中手动输入代理,为什么要复杂化呢?答案取决于您工作的规模。

如果您只有一个账户和一个代理——手动配置完全足够。但一旦您开始处理10、20或50个账户,或者当不同的网站需要不同的代理时,手动配置就变成了一个高风险的常规工作。

标准 手动配置 PAC文件
账户数量 1–5(方便) 10–1000+(可扩展)
不同网站的不同代理 不可能 易于配置
更改设置 在每个设备上手动进行 一个文件——所有更新
故障时的备用代理 没有 可以指定备用
企业管理 难以集中管理 一个URL适用于整个公司
入门门槛 只需了解一次

结论显而易见:PAC文件是为那些专业且大规模使用代理的用户设计的工具。如果您是一个管理多个广告账户的套利者,或者是一个拥有数十个客户账户的社交媒体营销机构,PAC文件将为您每周节省数小时的工作时间。

PAC文件的结构:如何阅读和编写规则

不要害怕“JavaScript”这个词——PAC文件不需要编程知识。这实际上只是几行简单的逻辑。我们将通过示例来解析基本结构。

任何PAC文件都包含一个必需的函数:

function FindProxyForURL(url, host) {
    // 这里是您的规则
    return "DIRECT";
}
  

函数的参数:url — 请求的完整地址,host — 仅域名。函数应返回一个包含指令的字符串。

示例1:所有流量通过一个代理

function FindProxyForURL(url, host) {
    return "PROXY 185.100.200.10:8080";
}
  

示例2:Facebook和Instagram通过代理,其他直接连接

function FindProxyForURL(url, host) {
    if (shExpMatch(host, "*.facebook.com") ||
        shExpMatch(host, "*.instagram.com") ||
        shExpMatch(host, "*.fbcdn.net")) {
        return "SOCKS5 185.100.200.10:1080";
    }
    return "DIRECT";
}
  

示例3:不同服务的不同代理 + 备用代理

function FindProxyForURL(url, host) {
    // Facebook广告 — 通过移动代理
    if (shExpMatch(host, "*.facebook.com") ||
        shExpMatch(host, "*.instagram.com")) {
        return "SOCKS5 mobile-proxy.example.com:1080; DIRECT";
    }

    // Wildberries和Ozon — 通过住宅代理
    if (shExpMatch(host, "*.wildberries.ru") ||
        shExpMatch(host, "*.ozon.ru")) {
        return "PROXY res-proxy.example.com:8080";
    }

    // 本地网络 — 始终直接连接
    if (isInNet(host, "192.168.0.0", "255.255.0.0")) {
        return "DIRECT";
    }

    // 其他所有流量 — 直接连接
    return "DIRECT";
}
  

请注意SOCKS5 ...; DIRECT这一行——分号将主要代理和备用选项分开。如果主要代理不可用,浏览器会自动尝试列表中的下一个选项。

您需要的PAC文件的主要内置函数:

函数 作用 示例
shExpMatch(host, pattern) 根据模式检查域名 *.facebook.com
isInNet(host, ip, mask) 检查是否属于子网 192.168.0.0 / 255.255.0.0
isLocalhost(host) 检查是否为本地主机 用于排除localhost
dnsDomainIs(host, domain) 域名的精确匹配 dnsDomainIs(host, ".google.com")

谁需要PAC文件:业务场景

PAC文件并不是一种抽象技术。让我们看看具体的场景,它们如何真正节省时间并保护免受封锁。

套利者和Facebook广告

典型情况:套利者同时管理15到30个Facebook广告账户。每个账户都与反检测浏览器中的单独配置文件和单独的代理相连。同时,需要确保Facebook.com、Instagram.com和Meta服务的流量通过代理,而例如,工作服务(Google Docs、Telegram、内部工具)则直接连接。

PAC文件通过一个文件解决了这个问题:为Meta域名编写规则——所有流量都通过移动代理,这些代理更少引起Facebook算法的怀疑。其他流量则直接连接。一个文件适用于所有配置文件。

SMM机构和多账户管理

SMM专家在Instagram和TikTok上管理30到50个客户账户。每个账户必须使用唯一的IP。在更新代理池(更换IP地址)时,必须在所有配置文件中更新设置——这需要数小时的工作。

使用PAC文件:您将文件放置在服务器上(甚至在Google Drive中),所有Dolphin Anty或AdsPower中的配置文件都引用一个URL。更新文件后,所有设置会自动更改。无需手动遍历配置文件。

市场价格监控

在Wildberries和Ozon上的卖家定期监控竞争对手的价格。市场平台积极阻止来自同一IP的抓取和频繁请求。PAC文件允许设置,使得对Wildberries.ru和Ozon.ru的请求通过住宅代理进行轮换,而所有其他流量则直接连接。这减少了对代理的负担和流量成本。

企业网络

在企业环境中,PAC文件用于集中管理员工的互联网流量。IT部门将PAC文件放置在内部服务器上,公司的所有计算机通过DHCP或Active Directory组策略自动获取它。对内部资源的流量直接连接,外部流量通过企业代理进行过滤和记录。

📌 对企业的关键优势

PAC文件是流量路由的单一管理点。与其在50个设备或30个浏览器配置文件中更新设置,不如更改一个文件——所有更改会自动应用。

如何在浏览器和系统中连接PAC文件

PAC文件可以通过三种方式连接:通过文件的本地路径、通过服务器上的URL,或通过WPAD协议(在企业网络中的自动发现)。我们将逐一分析每种选项。

Windows — 系统设置

Windows中的代理设置适用于所有使用系统设置的浏览器(Chrome、Edge、Internet Explorer):

  1. 打开设置网络和互联网代理
  2. 找到自动配置代理部分
  3. 启用使用自动配置脚本开关
  4. 脚本地址字段中输入PAC文件的路径:
    • 本地文件:file:///C:/proxy/config.pac
    • 网络文件:http://server.company.com/proxy.pac
  5. 点击保存

macOS — 系统设置

  1. 打开系统偏好设置网络
  2. 选择活动网络连接(Wi-Fi或以太网)→ 高级
  3. 转到代理选项卡
  4. 勾选自动配置代理
  5. 在URL字段中输入PAC文件的地址
  6. 点击确定应用

Firefox — 单独设置

Firefox使用自己的代理设置,与系统设置无关:

  1. 打开设置(或在地址栏中输入about:preferences
  2. 向下滚动到网络设置部分 → 点击设置
  3. 选择自动配置代理的URL
  4. 输入您的PAC文件的URL
  5. 点击确定

PAC文件存放位置

您有几种存放PAC文件的选择:

  • 本地计算机上 — 简单,但无法集中更新
  • 在网络服务器上 — 适合团队,更新立即生效
  • 在GitHub Pages或Gist上 — 小团队的免费托管
  • 在企业网络中 — 通过WPAD(Web代理自动发现协议)

在服务器上托管时,重要的是设置正确的MIME类型:服务器应以Content-Type: application/x-ns-proxy-autoconfig的标题返回文件。否则,某些浏览器可能会拒绝处理它。

反检测浏览器中的PAC文件:Dolphin、AdsPower、GoLogin

对于套利者和SMM专家来说,PAC文件与反检测浏览器的集成尤为重要。让我们看看在最流行的工具中它是如何工作的。

Dolphin Anty

Dolphin Anty是套利者中最受欢迎的反检测浏览器之一。通过PAC文件设置代理是在配置文件级别进行的:

  1. 打开Dolphin Anty并转到所需的配置文件
  2. 点击编辑配置文件的图标
  3. 代理部分选择连接类型
  4. 选择自定义PAC脚本选项(取决于版本)
  5. 粘贴PAC文件的URL或直接插入脚本内容
  6. 保存配置文件并启动浏览器

重要的是:在Dolphin Anty中,可以将相同的代理设置应用于一组配置文件。这意味着在更改PAC文件时,您无需手动编辑每个配置文件——只需更新服务器上的文件。

AdsPower

AdsPower通过浏览器配置文件的设置支持PAC文件:

  1. 在主菜单中选择所需的配置文件 → 编辑
  2. 转到代理设置部分
  3. 在代理类型字段中选择自定义代理
  4. 将连接类型指定为PAC
  5. 在相应字段中输入PAC文件的URL
  6. 点击检查代理以验证并保存

GoLogin和Multilogin

GoLogin和Multilogin也支持PAC脚本。在GoLogin中,设置类似:在配置文件设置中 → 代理 → 选择PAC类型 → 粘贴URL或脚本内容。作为一个更企业化的工具,Multilogin通过API提供了扩展的代理管理功能,可以自动将PAC文件分配给新配置文件。

⚡ 套利者的技巧

为不同任务创建多个PAC文件:一个用于Facebook广告,另一个用于TikTok广告,第三个用于监控。这样,您可以快速切换不同团队或任务的代理配置,只需更改配置文件组中的脚本URL。

企业网络的PAC配置:分步指南

企业使用PAC文件是一个更高的层次。这里涉及到为整个公司集中管理流量:从10个到数千个设备。

步骤1:确定路由逻辑

在编写PAC文件之前,请回答以下问题:

  • 哪些资源应该无需代理即可访问?(内部服务、内网)
  • 哪些外部流量需要通过企业代理进行路由?
  • 是否需要按网站类别进行过滤?
  • 作为备用的代理应该使用哪个?

步骤2:创建PAC文件

标准企业PAC文件如下所示:

function FindProxyForURL(url, host) {

    // 本地地址 — 始终直接连接
    if (isPlainHostName(host) || isLocalhost(host)) {
        return "DIRECT";
    }

    // 公司内部网络 — 直接连接
    if (isInNet(host, "10.0.0.0", "255.0.0.0") ||
        isInNet(host, "172.16.0.0", "255.240.0.0") ||
        isInNet(host, "192.168.0.0", "255.255.0.0")) {
        return "DIRECT";
    }

    // 企业域名 — 直接连接
    if (dnsDomainIs(host, ".company.ru") ||
        dnsDomainIs(host, ".company-internal.ru")) {
        return "DIRECT";
    }

    // 所有外部流量 — 通过企业代理
    // 备用选项以防不可用
    return "PROXY proxy.company.ru:8080; PROXY proxy2.company.ru:8080; DIRECT";
}
  

步骤3:将文件放置在网络服务器上

将PAC文件放置在公司的内部网络服务器上。确保:

  • 文件通过稳定的URL可访问(例如,http://proxy.company.ru/proxy.pac
  • 服务器为PAC文件提供正确的Content-Type
  • URL在网络中的所有设备上均可访问,无需授权
  • 设置合理的TTL缓存(例如,1小时)

步骤4:通过组策略分发设置

在Windows和Active Directory的企业环境中,PAC文件的设置通过GPO(组策略对象)进行分发:

  1. 打开组策略管理编辑器(GPMC)
  2. 创建新的GPO或编辑现有的
  3. 转到用户配置Windows设置Internet Explorer设置(或通过注册表为Chrome设置)
  4. 在自动配置设置中指定PAC文件的URL
  5. 将策略应用于所需的部门

对于Chrome,企业环境中使用单独的策略通过Chrome ADMX模板:ProxyPacUrl参数允许强制为域中的所有Chrome安装指定PAC文件的URL。

步骤5:设置WPAD以进行自动发现

WPAD(Web代理自动发现)是一种协议,允许设备自动找到PAC文件,而无需手动设置。为此,需要:

  • 将PAC文件放置在http://wpad.company.ru/wpad.dat地址
  • 添加DNS记录:wpad → 您的网络服务器的IP
  • 在设备上启用“自动检测设置”选项

在这种设置下,网络中的新设备将自动获得代理配置,而无需IT部门的任何干预。

使用PAC文件时的常见错误及如何避免

即使是经验丰富的专业人士在使用PAC文件时也会犯常见错误。让我们分析其中一些最常见的错误。

错误1:JavaScript中的语法错误

如果PAC文件中存在语法错误,浏览器会默默忽略它,可能会在没有代理的情况下工作,或者阻止所有流量。这是一个最狡猾的问题——错误不会以任何方式显示给用户。

解决方案:在部署之前,通过在线验证器(例如,pacparser.io)或通过浏览器中的DevTools检查PAC文件。在Chrome中,可以打开chrome://net-internals/#proxy查看文件是否已应用。

错误2:服务器上的MIME类型不正确

如果服务器以Content-Type: text/plain或application/octet-stream返回PAC文件,某些浏览器(尤其是Chrome)将拒绝应用它。

解决方案:将服务器设置为返回Content-Type:application/x-ns-proxy-autoconfig。对于Apache,在.htaccess中添加:AddType application/x-ns-proxy-autoconfig .pac

错误3:启动浏览器时PAC文件不可用

如果PAC文件托管在启动浏览器时不可用的服务器上(例如,在家工作时的企业服务器),浏览器可能会在尝试加载页面时挂起。

解决方案:始终在返回行的末尾添加备用选项DIRECT。还可以考虑将PAC文件存储在高可用性平台上(CDN、GitHub Pages)。

错误4:忘记启用所有子域名

常见错误:为facebook.com编写了规则,但忘记了*.facebook.com*.fbcdn.net*.instagram.com。结果,主页通过代理,而媒体文件则直接连接。这会导致混合请求,并可能泄露真实IP。

解决方案:仔细检查每个平台使用的所有域名。对于Facebook,包括:facebook.com、*.facebook.com、instagram.com、*.instagram.com、fbcdn.net、*.fbcdn.net、whatsapp.com、*.whatsapp.com等。

错误5:缓存旧版本的PAC文件

浏览器会积极缓存PAC文件。在服务器上更新文件后,可能不会立即应用更改——浏览器继续使用旧版本。

解决方案:在更新时为文件的URL添加版本控制:proxy.pac?v=2。或者在服务器上设置短TTL的缓存头。在Chrome中,可以通过chrome://net-internals/#proxy强制重新加载PAC → 重新应用设置。

问题 症状 解决方案
语法错误 代理完全不工作 PAC文件验证器
MIME类型不正确 Chrome忽略文件 在服务器上设置Content-Type
服务器不可用 浏览器挂起 添加DIRECT作为备用
域名列表不完整 泄露真实IP 检查平台的所有子域
缓存 更改未应用 为文件的URL添加版本控制

结论

PAC文件是一个强大且被低估的工具,适用于所有专业使用代理的人。与其花时间手动配置每个配置文件或设备,不如一次性描述流量路由逻辑——一切都会自动工作。

对于套利者而言,PAC文件意味着灵活管理Facebook广告和TikTok广告的数十个广告账户的流量。对于SMM机构而言,它提供了集中更新所有客户账户的代理设置,无需手动操作。对于企业IT部门而言,它是通过组策略集中管理整个公司的互联网流量的单一管理点。

本文的关键结论:PAC文件是一个JavaScript函数,它决定通过哪个代理发送每个请求。它被所有浏览器和操作系统支持。可以集中存储在服务器上并一次性更新整个团队。反检测浏览器Dolphin Anty、AdsPower、GoLogin和Multilogin在配置文件级别支持PAC文件。

如果您正在为社交网络或市场平台配置PAC文件,选择正确类型的代理非常重要。对于需要模拟真实用户的任务(Facebook广告、Instagram、TikTok),最佳选择是住宅代理——它们使用真实家庭用户的IP地址,较少引起平台算法的怀疑。对于移动流量和Meta广告账户的工作,建议考虑移动代理,它们模拟通过移动运营商的连接。

```