代理上网有两种模式,一种是全局代理,所有的流量都走代理服务器,另一种是自动代理,根据规则决定是否使用代理。设置自动代理可以实现智能分流,多个代理服务器同时使用。
实现自动代理的方案有多种,浏览器可以使用SwitchyOmega插件,安装Privoxy实现动态代理。本章使用的是PAC自动代理脚本,主要是因为它跨平台,无需安装第三方软件或插件,几乎所有的系统都支持。
PAC代理脚本使用JavaScript语法,当系统设置PAC代理脚本后,浏览器执行请求时会先从脚本中的 FindProxyForURL 方法中获取代理服务器。
function FindProxyForURL(url, host) {
return "代理服务器";
}参数说明:url前当请求的url,如:https://engr-z.comhost当前url中的主机名,如:engr-z.com
返回值说明:DIRECT不使用代理,示例:”DIRECT”PROXY使用http代理,示例:”PROXY 127.0.0.1:8888″SOCKS使用socks代理,示例:”SOCKS 127.0.0.1:1080″SOCKS5使用socks5代理,示例:”SOCKS5 127.0.0.1:1080″
可以同时返回多个代理设置,用分号分隔,应用会依次按顺序检查返回一个可使用的代理服务器。示例:”SOCKS5 127.0.0.1:1080;PROXY 127.0.0.1:8888;DIRECT”优先使用socks5代理,如果不可用则使用http代理,如果http代理也不可用则跳过代理直接连接。
内置函数
PAC脚本支持基本的JavaScript语法,同时还内置一些函数可以帮助我们简化处理
isPlainHostName(host)判断是否为本地主机
if (isPlainHostName(host)) { return "DIRECT"; else return "PROXY proxy:80"; }如果是本地主机直接连接,否则使用http代理
shExpMatch(host, “”)匹配url,支持 *
isInNetif (shExpMatch(url,"*.google.com/*")) { return "PROXY 192.168.1.1:3128"; }访问IP是否在某个子网内
if (isInNet(host, "192.168.0.0", "255.255.225.0")) { return "" }更多函数以考:Proxy Auto-Configuration (PAC) file
以下是我自己写的PAC脚本,可作为模板使用:
var domains = { "google.com": 1, "youtube.com": 1 }; var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; PROXY 127.0.0.1:8888; DIRECT;"; var direct = 'DIRECT;'; function FindProxyForURL(url, host) { var lastPos; do { if (domains.hasOwnProperty(host)) { return proxy; } lastPos = host.indexOf('.') + 1; host = host.slice(lastPos); } while (lastPos >= 1); return direct; }只需在domains添加要代理的域名,如 facebook.com,twitter.com如果有多个代理,比如公司的网络走公司代理,可在 domains 中的值处理var domains = {“google.com”: 1,“youtube.com”: 1,“公司网络”: 2};
if (domains.hasOwnProperty(host) == “2”) {return “公司代理”}
设置PAC
把PAC上传到http服务器,或者放本地,在系统设置网络中找到自动代理配置,填上PAC的访问地址即可。
Windows:
Android:
IOS:
在手机上使用PAC脚本,可能会遇到某些APP不支持,这种情况需要使用Privoxy来做自动代理,将在后续介绍。
除非注明,否则均为"攻城狮·正"原创文章,转载请注明出处。
本文链接:https://engr-z.com/196.html
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【国外socks5免费代理ip地址(自动代理脚本)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
