PAC 在线生成器

自动分流 · 国内/私有 IP 直连 · 国外走代理 · 多代理故障转移

① 代理服务器 故障转移链

按顺序填写你的代理。生成的 PAC 会让系统自动依次尝试,不可用时自动跳到下一个(即“自动轮询可用代理”)。

快速添加常用工具:

💡 本机代理(127.0.0.1 / localhost)会自动排到故障转移链最前;其余按你填写的顺序;开启「自动优选」时同网段代理(如家里/公司 LAN)次优先。

全部代理不可用时直连
末尾追加 DIRECT 兜底,避免断网
按当前网络自动优选代理
同网段代理(如家里/公司 LAN)自动置顶,避免先连死代理再转移
📖 协议说明 & 常用工具对照(HTTP / HTTPS / SOCKS4 / SOCKS5 怎么选?)
HTTPPROXY

最基础、兼容性最好。浏览器把请求交给代理代为访问,仅 TCP。绝大多数本地软件(Clash / V2Ray)都开放 HTTP 端口,PAC 里最常用。

HTTPSHTTPS

“CONNECT 隧道代理”。客户端先与代理建立 TLS 加密通道再传请求,代理看不到明文。本机 127.x 代理一般没必要用,多用于远端代理服务器。

SOCKS4SOCKS

古老协议:仅 IPv4、无认证、不支持 UDP,基本已被淘汰。除非老软件只支持它,否则不要用。

SOCKS5SOCKS5

现代 SOCKS:支持 IPv4/IPv6、UDP(游戏 / 视频通话 / QUIC 需要)、可选认证。本地软件几乎都优先提供 SOCKS5,最通用。

软件推荐协议常见端口填写示例
Clash / Clash Verge / mihomoHTTP 或 SOCKS57890(HTTP) / 7891(SOCKS5)127.0.0.1:7890 选 http
V2Ray / V2RayNSOCKS5 或 HTTP10808(SOCKS5) / 10809(HTTP)127.0.0.1:10808 选 socks5
Shadowsocks (SS)SOCKS51080127.0.0.1:1080 选 socks5
ShadowsocksR (SSR)SOCKS51080127.0.0.1:1080 选 socks5
Trojan / Trojan-GoSOCKS5 或 HTTP通常 1080127.0.0.1:1080 选 socks5
sing-boxHTTP / SOCKS5 / mixed20171(HTTP)/20172(SOCKS5)/20170(mixed)127.0.0.1:20172 选 socks5
ClashX (macOS)HTTP7890127.0.0.1:7890 选 http
NekoBox / HiddifySOCKS5 / mixed2080 / mixed看软件设置页端口

注:mixed 端口同时接受 HTTP 与 SOCKS5,填哪种协议都行;端口以你软件「设置 / 端口」页显示为准。直接粘贴 socks5://127.0.0.1:1080 也能自动识别类型与端口。

② 路由规则

基于 gfw-pac 改造:中国 IP 段(5823 条)走直连,私有/本地地址直连,其余国外流量走代理。

中国 IP 直连
命中国内 IP 段 → DIRECT
私有 IP 直连
10/172.16-31/192.168/127/169.254 等
本地 / localhost 直连
纯主机名与 .test/.localhost
国外 IP 走代理
未命中上述规则 → 代理链
调试弹窗
每次请求弹窗显示命中规则(仅排查用)

③ 自定义域名

已预填常用直连/代理域名,可按需增删。每行一个,支持子域通配(如 baidu.com 同时匹配 www.baidu.com)。

④ 中国 IP 列表

内置 5823 条中国 IPv4/IPv6 段(来源 Loyalsoldier/geoip)。可选:填入远程列表 URL 即时更新。

⑤ 生成的 PAC 实时

编辑上方任意项即时刷新。下载 pac.js 后指向系统/浏览器代理即可。


      
🚀 一键托管到 GitHub Gist(返回永久直链)

用你自己的 GitHub Token 把生成的 pac.js 创建为(私密)Gist,返回可直接填进系统/浏览器代理设置的直链。Token 仅存浏览器本地(localStorage),只发往 api.github.com,绝不上传别处。再次点击会更新同一个 Gist,URL 保持不变。

👉 如何获取 GitHub Token?(点开看)
  1. 登录 GitHub → 右上角头像 → Settings
  2. 左侧拉到底 → Developer settingsPersonal access tokensTokens (classic)
  3. Generate new token (classic)(⚠️ 必须是 classic,细粒度 Token 不支持 gist 权限,用了会 401 失败)
  4. Note 取个名(如 pac-generator),Expiration 选期限(如 90 天,不建议 No expiration)
  5. 权限只勾 gist 这一项(托管 PAC 唯一需要的,别勾其他)
  6. 拉到底点 Generate token,页面显示 ghp_xxxxxxxx立刻复制保存(只显示这一次)
  7. 回到这里粘进输入框 → 点「保存」→ 再点「🚀 一键托管」

直达创建页(需登录):github.com/settings/tokens/new

⚠️ 安全提醒:Token 只存你浏览器 localStorage,仅在你点托管时发往 api.github.com,不经过任何中间服务器。它有 gist 权限,别到处贴;万一泄露,去 Tokens 页面把对应项 Revoke 即可,已生成的 PAC 直链不受影响。不想用 Token 也可走「下载 pac.js → 丢到任意静态空间」。

如何使用生成的 PAC?
  1. 点击「下载 pac.js」,把文件保存到本地(如 ~/pac.js)。
  2. 系统级:macOS 系统设置 → 网络 → 代理 → 自动代理配置 → 填入 file:///Users/你/pac.js;Windows 设置 → 代理 → 使用设置脚本 → 同上。
  3. 浏览器:Chrome/Edge 扩展(如 SwitchyOmega)选择「PAC 模式」并指向该文件;或浏览器设置中填写 PAC 地址。
  4. 想用在线地址:把生成的 pac.js 提交到本仓库,访问 https://<用户名>.github.io/<仓库名>/pac.js 即可作为 PAC URL。
  5. 调试:打开「调试弹窗」开关重新下载,浏览器会为每个请求弹出命中规则,方便排查。
改造自 gfw-pac · 纯前端 · 数据全部本地生成,不上传任何信息