文章

配置代理软件分流规则,便捷访问chatgpt以及new bing

共享代理

现在大部分的代理软件,例如shadowrockt,quantumultx,clash(已离去)等大部分常见的软件,都支持共享代理,也就是局域网里面有一台设备连接了代理,那么就可以通过代理软件,进行端口转发,来实现让局域网里面所有的设备都进行代理上网的功能。

以为shadowrockt举例,由于shadowrocket可以进行代理共享,可以通过手机的热点,对电脑进行节点代理。原理是,将电脑要发送出去的数据包,先经过iphone的shadowrocket对数据包进行处理后,再进行转发出去。

在上面这种情况下,是手机同时作为作为网关和代理对数据进行处理的。除此之外,只要安装了代理软件的设备,和需要被代理上网的设备,是在同一个局域网下面的图片便是一个非常清晰的例子。

Local Area Network

上面是一个普通的局域网的图片。

假设现在电脑在有clash,那么在clash上配置好具体的端口之后,同一个路由器下面所有的设备,都可以进行代理上网。

在上图中,在局域网里面进行共享代理的大概过程如下:

  • 假设手机要访问谷歌,那么可以就先获得电脑的地址,以及电脑上clash共享代理的端口号,在手机的wifi里面设置好。
  • 假设手机现在要访问谷歌,如果是在没有配置代理之前,手机会直接通过路由器,向google发送访问请求,但是会得到请求拒绝。
  • 但是现在手机上设置了代理的端口号之后,手机会优先将数据,通过路由去,发送到电脑上面,经过端口转发,电脑上的clash经过代理将数据包再通过路由器发送到谷歌,这样子就可以成功地发送请求了。
  • 在发送请求之后,数据包回来的时候,也会优先经过电脑,然后再通过局域网发送给手机,这样子就通过一台电脑,让局域网下所有的设备,都可以成功进行代理上网。

如何进行规则的设置访问chatgpt和new bing

配置chatgpt规则

还是以shadowrocket来举例子,如果为了方便起见的话,我们可以使用网上的懒人规则,里面都是别人配置好的规则,以及可以通过代理软件进行去广告等功能。这些现成的规则,有对应的一些策略组,这样子我们就可以不用一个个动手配置了。

但是如果是使用量并不是非常大的话,我们也可以根据自己的需求进行配置

那么什么是规则呢?在proxy软件里面,规则指的就是什么网址需要走什么样的代理,而什么样的网址走另外的代理,直连,或者是拒绝访问等等。

chatgpt和new bing是两款非常强大的AI工具,但是并不支持香港节点的访问,如果我们把shdowrocket的节点设置成香港的话,那么就无法访问这两个网站了。这时候如果把全局路由设置成代理的话,对很多软件以及网站的访问又会造成很大的影响。

首先,我们可以对chatgpt的访问进行规则代理的设置。我们知道chatgpt的地址访问是

https://chat.openai.com/

其中

  • com 是顶级域名(Top-Level Domain,TLD)。
  • openai 是二级域名(Second-Level Domain,SLD)。
  • chat 是子域名(Subdomain),位于 openai 之下。
  • https 是协议名(Protocol)。

于是我们在shadowrocket的规则配置里面加入openai.com的配置即可 openai.com

这个规则表则,访问openai.com的时候,会走新加坡01的节点

至于规则类型,常见的主要的类型是

  • DOMAIN-SUFFIX: 域名后缀匹配
  • DOMAIN-KEYWORD: 域名关键字匹配
  • DOMAIN: 域名匹配
  • IP-CIDR: IP段匹配
  • GEOIP: 地区匹配
  • FINAL: 最终匹配
  • USER-AGENT: 用户代理匹配
  • URL-REGEX: URL正则匹配

其中比我比较常用的是DOMAIN-SUFFIX和DOMAIN-KEYWORD,这两个类型可以匹配到大部分的网址。

在这里我们选择DOAMIN-SUFFIX,因为openai.com是一个域名后缀。chat是一个子域名,并且是一个比较常见的关键字,所以我们不使用关键字匹配,而使用域名后缀匹配。

这样子我们可以让所有的openai.com的网址都走新加坡01的节点。

打开手机app,可以看到chatgpt在配置模式下的已经可以正常访问了。

配置newbing规则

同理,我们可以对new bing进行配置,new bing的地址是https://bing.com/

我们只需要在规则里面加入bing.com的配置即可,但是会发现,通过我们手机分享代理的电脑,访问new bing的时候,会出现访问到中国版的bing的情况。也就是看到浏览器上出现cn.bing.com的情况。cn是china的缩写。 cn-bing

这是为什么呢?打开shadowrocket的数据-代理日志,可以看到,访问new bing的时候,我们没有访问到bing.com,而是访问到了cn.bing.com,这是因为我们访问的时候,会自动跳转到中国版的bing,这样子就无法访问到new bing了。

解决方案

但是奇怪的是,我们在访问bing的同时,通过查看shdowrocket-数据-日志-代理-里面最新的数据库同时也访问到了msn,

如果没有开启代理日志,可以在设置里面开启大力日志,重新访问一次bing,就可以看到了,这里我就不截图了。

一般只是在调试的时候,才会开启日志,因为日志会占用一定的空间,和内存,所以一般不会一直开启代理日志。

msn 我猜想应该是微软使用msn的域名,来进行跳转的。这样一切都能说通了,因为msn识别到我们是在中国地区的地区,所以会进行direct模式进行连接。

所以就会跳转到cn.bing.com,这样子就无法访问到new bing了。 这样我们只要在规则里面加入msn.cnmsn.com并且将节点选择为香港以外的地区即可。

同时通过查看shdowrocket-数据-日志-代理-里面最新的数据库,还看到bing.net的域名,也通过direct模式进行连接,所以也需要加入到规则里面。

以此类推,通过查看shdowrocket-数据-日志-代理-里面最新的数据库,我们可以将我们需要代理的网站或者app,都加入到规则里面,这样子就可以实现我们的需求了。

策略组

策略组这个名词,经常出现在一些代理软件里面,但是有很多人一开始对这个东西感到一头雾水,不知道这个东西是干什么的。

那么到底什么是策略组呢?策略组就是将一些规则进行分类,然后将这些规则放到一起,这样子就可以实现我们的需求了。

在上面的例子中,我们因为bing访问到了多个域名的服务器,所以我们将很多域名都加入到了规则里面,这样子会显得比较冗余。

假设我们现在要将我们刚才设置的访问bing的服务设置的是新加坡的服务器,假设我需要将和bing有关的所有服务都改成日本的节点。我们就需要将所有的bing的域名都设置成新加坡的节点,这样子就会显得比较麻烦,因为我们需要一个个地去设置,一个个地去手动修改,假设有1000个和bing有关的服务器的话,我们就要手动修改1000次😢😢。

这时候,策略组的功能就体现了!

假设我们现在有一个策略组,假设名字叫做AI,那么我们可以把所有的chatgptbing的规则都绑定到这个策略组里面,然后将这个策略组的节点设置成新加坡的节点,这样子就可以实现我们的需求了。

这样子我们就可以将所有的规则都放到一个策略组里面,然后通过设置策略组的节点,来实现我们的需求。

总结

通过上面的例子,我们可以知道,通过代理软件的规则以及策略组,我们可以实现对不同的网站,不同的app,进行不同的代理设置,这样子就可以实现我们的需求了。

假设出现一些无法访问的网站,或者是无法访问的app,我们可以通过查看代理日志或者网络活动,来查看是哪些域名无法访问,然后将这些域名加入到规则里面,将很多同类型的规则绑定到同一个策略组里面,这样子就可以实现我们的需求了。

大部分代理软件shadowrockt,quantumultx等,都会有代理日志或者网络活动,可以通过这两个功能,来查看我们的代理是否正常,以此来修改我们的规则策略

本文由作者按照 CC BY 4.0 进行授权