{"repo":"zhiyi7/gfw-pac","free":true,"listed":false,"github":"https://github.com/zhiyi7/gfw-pac","clone":"git clone https://github.com/zhiyi7/gfw-pac.git","description":"科学上网 PAC 成品文件以及生成器。可自定义代理域名和直连域名。不在自定义名单里的域名再按IP匹配，CNIP走直连，其他走代理，支持IPv6","language":"JavaScript","stars":1240,"topics":["clash","clash-meta","cnip","geoip","gfw","hysteria","ipv6","pac","proxy","shadowrocket"],"license":null,"category":"networking-infra","readme_excerpt":"gfw-pac 科学上网 PAC 文件以及生成器。通过自定义域名和 CNIP 地址生成 PAC(Proxy auto-config) 文件。对存在于自定义域名和解析出的IP不是CNIP的域名使用代理，支持IPv6。 此仓库每周四自动通过 GitHub Action 从 Loyalsoldier/geoip 同步数据并更新 gfw.pac 文件 特性 开箱即用，直接可用的 gfw.pac 包含了常用的直连域名和代理域名以及国内IPv4/IPv6地址段 IP规则前置：若域名解析出的 IP 地址属于国内，返回直连，流量不经过代理程序 速度快：优先按域名匹配，高频访问域名节省解析时间。IP段匹配使用Radix Tree，时间复杂度仅为O(m) m<=32(IPv4) 或者 m<=128(IPv6) 不误伤：仅添加非常少的高频域名，减少流量走向错误的概率。 支持 IPv6，不再需要为了IP规则而关闭IPv6或者AAAA解析，可正常开启IPv6，享受v6带来的各种便利。 纯 IP 地址能正确处理，使用DoH的APP可完全正常工作。 支持 iOS/MacOS/Windows/Android、Chrome/Edge/Firefox。生成的 pac 文件体积小，脚本全部使用ES5，大多数现代系统可正常执行。 可自定义需要代理的域名 可自定义直连的域名 可自定义直连的 TLD 域名，例如 .test 用法 1. （ 推荐 ）下载并编辑 gfw.pac 的第一行换成自己的代理服务器直接使用。 2. 按下面说明手工运行 gfw-pac.py 生成自己的 pac 文件。此种方法可自定义域名流向，更灵活。但现在大多数客户端都可以定义域名匹配规则，特殊域名通过客户端定制即可。 gfw-pac.py 使用说明 usage: gfw-pac.py -f 输出的PAC文件名 -p 代理服务器 [-h] [--proxy-domains 自定义使用代理域名的文件] [--direct-domains 自定义直连域名域名的文件] [--localtld-domains 本地TLD文件] [--ip-file 从 Loyalsoldier/geoip/blob/release 中下载的 text/cn.txt 文件] 参数说明： -h 显示帮助 -f (必须)输出的 pac 文件 -p (必须)指定代理服务器，例如 PROXY 192.168.1.1:3128 --proxy-domains 自定义使用代理的域名文件，文件里每行一个域名 --direct-domains 自定义直连的域名文件，文件里每行一个域名 --localtld-domains 自定义直连的顶级域，文件里每行一个域名，必须带前导圆点（例如 .test） --ip-file 从 Loyalsoldier/geoip release 中下载的 text/cn.txt 文件 举例： ./gfw-pac.py -f gfw.pac \\ -p \"PROXY 192.168.1.200:3128; DIRECT\" \\ --proxy-domains=proxy-domains.txt \\ --direct-domains=direct-domains.txt \\ --localtld-domains=local-tlds.txt \\ --ip-file=cidrs-cn.txt 代理工具普遍支持配置路由规则，为什么还要用 pac 文件？ 现代系统（MacOS/iOS/Windows）底层网络框架都会自动执行pac策略，使得大多数","default_branch":null,"files":null,"tree":[],"storefront":"/r/zhiyi7","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/zhiyi7/gfw-pac/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}