Scu_laji

surge ipv6 设置

surge ipv6 设置

我朝正在大范围推行ipv6, 得益于此,我家的服务器(其实是一台小pc)获得了公网的ipv6地址。

而目前我的主要上网方式是通过学校的电信宽带,并且学校的宽带有点坑爹的地方是,它只给公网的ipv4地址,而没有任何的ipv6的地址。那么我想通过学校的宽带直连回家也就成了一件不可能实现的事。

校园网ipv6

学校的校园网内有ipv6地址,我平时在实验室的时候就可以直接连回家。

跳板

于是我通过一台公网ipv4服务器 + 学校内网服务器ipv4 ipv6双栈 frp转出来一个🛩服务。

那么我的回家网络流量的走向是这样的

mac -> ipv4公网服务器 -> 学校内网双栈服务器 -> ipv6直连myhomeserver

但是我的流量不能全这么走呀,如果我现在的网络环境拥有ipv6。那么我希望它能自动走直连。

于是我的需求就十分明确了。

当前网络环境有ipv6

走直连

当前网络环境没有ipv6

走代理

策略组

surge 的策略组真的很棒,能帮助你自动判断许多情况,但我并没有发现有这种是否拥有ipv6地址的策略。

但是其实可以曲线救国( ⊙ o ⊙ )!, 判断本机有没有ipv6很麻烦,我直接看能不能连上ipv6的站点不是很简单嘛?

于是我找到了两种策略组可以实现这一操作的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Auto Proxy Group「url-test」详解:
[Proxy Group]
Auto = url-test, 🇭🇰HK, 🇸🇬SG, 🇯🇵JP, url = http://www.gstatic.com/generate_204, interval = 600
当 Proxy Group 的类型为 url-test 时,Surge 会并发尝试通过该 Group 下所有的服务器去发起到目标 url 的请求,并根据最优结果选择哪个服务器将被使用。默认间隔 600 秒后需要重新发起测试。
不建议修改默认配置中的 URL 测试地址; 为保证测速的基本公平,默认 URL 目标设置的是 gstatic.com 这样的在全球都有节点的 URL 作为测试目标;
基于性能考虑,只支持使用 http 协议的 URL;
为了避免资源浪费,Auto Group 中不应放入太多的线路,2–3 个即可。如 US 这样的线路不应该放入,因为几乎不可能赢得测试;
不要使用 google.com 作为测试目标,这么做可能导致 proxy 服务器 ip 被加入黑名单,导致各种操作需要输入验证码;
Auto Proxy Group「fallback」详解:
此组类型仅 Surge 3 支持
Auto = fallback, 🇭🇰HK, 🇸🇬SG, 🇯🇵JPA, url = http://www.gstatic.com/generate_204, interval = 600
当 Proxy Group 的类型为 fallback 时,Surge 会并发尝试通过该 Group 下所有的服务器去发起到目标 url 的请求,并顺序选择最靠前的可用服务器,并不关心测速结果的具体值。默认间隔 600 秒后需要重新发起测试。

我最终选择了Fallback策略组, url改成了自己的域名(也可以去网上找只有ipv6能连接的站点),间隔时间可以稍微调的长一点,因为毕竟不是经常更换网络环境。

1
auto-ipv6-test = fallback, DIRECT, tiaoban, url = http://bt.byr.cn, interval = 3600

最终效果如图。