自动代理脚本

自动代理脚本代理上网有两种模式 一种是全局代理 所有的流量都走代理服务器 另一种是自动代理 根据规则决定是否使用代理 设置自动代理可以实现智能分流 多个代理服务器同时使用 实现自动代理的方案有多种 浏览器可以使用 SwitchyOmega 插件 安装 Pri

欢迎大家来到IT世界,在知识的湖畔探索吧!

代理上网有两种模式,一种是全局代理,所有的流量都走代理服务器,另一种是自动代理,根据规则决定是否使用代理。设置自动代理可以实现智能分流,多个代理服务器同时使用。

实现自动代理的方案有多种,浏览器可以使用SwitchyOmega插件,安装Privoxy实现动态代理。本章使用的是PAC自动代理脚本,主要是因为它跨平台,无需安装第三方软件或插件,几乎所有的系统都支持。

PAC代理脚本使用JavaScript语法,当系统设置PAC代理脚本后,浏览器执行请求时会先从脚本中的 FindProxyForURL 方法中获取代理服务器。

function FindProxyForURL(url, host) { return "代理服务器"; }

欢迎大家来到IT世界,在知识的湖畔探索吧!

参数说明:
url
前当请求的url,如:https://engr-z.com
host
当前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″

内置函数

PAC脚本支持基本的JavaScript语法,同时还内置一些函数可以帮助我们简化处理

  • isPlainHostName(host)

判断是否为本地主机

欢迎大家来到IT世界,在知识的湖畔探索吧!if (isPlainHostName(host)) { return "DIRECT"; else return "PROXY proxy:80"; }

如果是本地主机直接连接,否则使用http代理

  • shExpMatch(host, “”)

匹配url,支持 *

if (shExpMatch(url,"*.google.com/*")) { return "PROXY 192.168.1.1:3128"; }
  • isInNet

访问IP是否在某个子网内

欢迎大家来到IT世界,在知识的湖畔探索吧!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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/90784.html

(0)
上一篇 2024年 11月 24日 下午6:55
下一篇 2024年 11月 24日 下午7:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信