一、【问题描述】
PAC 文件是一个 JavaScript 文件,用于定义客户端的代理规则。您可以在 PAC 文件中编写规则,根据不同的目标网址或其他条件,决定是否通过代理服务器进行访问。您可以将 PAC 文件部署到服务器上,并在客户端配置浏览器或其他应用程序,以便在访问网站时自动根据 PAC 文件中的规则进行代理选择。
switchy omega是非常著名的chrome代理插件,我记得很早就有了,笔者貌似上小学的时候,那个时候还是蹭的google agent,然后配合的switchy omega来做。最近用的别人的PAC来上网,但是想添加一些域名到PAC文件里,发现权限不够,特此水一篇文章记录一下解决方法
二、【解决方法】
1. 偷掉PAC,更改后自己搭一个
(1)先访问上面这个PAC网址,把别人的PAC下载到本地。然后随便找个编辑器修改一下。但是注意如果你直接在网址这里输入本地路径,是会报错的,所以我们还得在127.0.0.1上自己搭一个PAC给插件用,访问NGINX官网,下一个windows版,简单配置一下
nginx: download
(2)下载后,在软件目录的 ./conf/nginx.conf,替换为下面的内容
http {
server {
listen 127.0.0.1:80; # 按需改端口,尽量写本地环回,否则防火墙会拦
server_name localhost;
location / {
root C:\urpath; # 修改为你的文本文件所在目录
autoindex on; # 如果需要列出目录中的文件,则启用autoindex
# 确保只能访问文本文件
location ~* \.(txt)$ {
add_header Content-Type text/plain;
}
}
}
}
events {
worker_connections 1024;
}
(3)nginx ~ 启动!
打开cmd,cd到nginx的目录,运行nginx.exe 没有报错就是起来了,然后浏览器访问一下之前我们设置的url,127.0.0.1:80/<pac文件名> ,能看到就是成功了,如果看不到排查一下nginx有没有起来,或者文件夹路径时候不是写错了。
(4)把 127.0.0.1:80/<pac文件名>写到switchy omega的配置里
2. 直接新建规则访问代理服务器
上面的方法还是有点麻烦,直接可以在pac文件里找一找有没有形如 IP:PORT这样的信息,然后直接自己建一个规则,协议每个都试一下,然后基本就可以用了。
三、【总结】
让用户在chrome插件来配置PAC实属不明智之举,主流的代理软件可以直接在服务端配置PAC,这样会安全一点