Google One VPN 愉快玩耍指南

Google 取消了 Google One 订阅用户的 VPN 功能,本文已实质性失效

更新 三月份开始,谷歌又对检测方式进行了更改,要求域名(*.googleapis.com)和原本的检测服务器来自同一区域 IP,否则将一直提示VPN连接中断 因此需增加将此网址加入检测分流中,见先连接上章节

首先,要想愉快使用,需要明确下面 Google One VPN 的下面几点机制:

  1. 目前仅 Android 手机可以正常连接。(当然如果你在 iPhone 上使用境外卡或使用 Android 虚拟机依然是可以的,但此不在本文讨论范围)
  2. 该服务仅在如下国家提供(且对于大陆来说,通常只有部分地区有实用性):
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
- 奥地利
- 澳大利亚
- 比利时
- 加拿大
- 丹麦
- 芬兰
- 法国
- 德国
- 冰岛
- 爱尔兰
- 意大利
- 日本
- 墨西哥
- 荷兰
- 挪威
- 韩国
- 西班牙
- 瑞典
- 瑞士
- 台湾
- 英国
- 美国
  1. 基于第 2 点,即使真正的服务器可以直连,那我们也需要先欺骗 IP 检测服务器,具体机制如下:
https://fastly.jsdelivr.net/gh/techkoala/techkoala.github.io@master/images/Network/Google_One_VPN/Policy1.png
准入 IP 限制
  1. 即便通过了第 3 点连接上服务器后,Google 依然还会在你每使用 1G 流量的后,再次对你的原始 IP 进行检测。如果此时检测到你的 IP 不在上述地区了,就会强制断开 VPN 连接。

因此,不仅在于连上,还要避免 1G 断开,才叫做愉快玩耍!So,go on…

想要连接上,其实不难,从上面的就可以看出,只需要使用受支持地区的 IP 欺骗检测服务器就可以了。 并且,检测服务器的地址是固定的,后缀如下:

1
2
*.cloud.cupronickel.goog
*.googleapis.com

于是,我们需要在代理工具(如 clash for android)中,将此连接加入代理清单即可。

如果你使用 rule-provider,那么可以如下写规则:

1
2
3
payload:
- DOMAIN-SUFFIX,cloud.cupronickel.goog
- DOMAIN-SUFFIX,googleapis.com

手机通过代理后,即可使用 Google One app 成功连接上对应地区的 Google One VPN 服务器

等手机连接上后,那么你可以使用诸如 everyproxy 这样的软件在手机上开启 HTTP 或者 socks 代理,分享给局域网的其他设备使用。

经过上面两步,你其实已经可以正常使用 VPN 了,但是前面说到了,每当你使用了 1G 流量,Google 会再次检测你的 IP,这样你就会掉线。因为手机上只能同时开启一个 VPN 软件,所以 clash 此时没有代理这个检测服务器流量了。

如果你有软路由的话,那一切都简单很多。以 opeclash 为例:

  1. 首先,同样将上面检测服务器加入代理,并一直保持代理
  2. 将手机共享出来的 socks 代理或和 HTTP 代理作为一个节点加入文件文件中,如这样:
1
2
3
4
  - name: "🪜 GoogleOne"
    type: socks5
    server: 192.168.XXX.XXX
    port: 1080
  1. 为了避免嵌套代理,请添加 VPN 服务器 IP 端到新的 rule-provider 中:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  - '136.22.64.0/24'
  - '136.22.65.0/24'
  - '136.22.67.0/24'
  - '136.22.76.0/24'
  - '136.22.83.0/24'
  - '136.22.85.0/24'
  - '136.22.86.0/24'
  - '136.22.87.0/24'
  - '136.22.92.0/24'
  - '136.22.93.0/24'
  - '136.22.94.0/24'
  - '136.22.95.0/24'
  - '136.22.96.0/24'
  - '136.22.97.0/24'
  - '136.22.98.0/24'
  - '136.22.99.0/24'
  - '136.22.100.0/24'
  - '136.22.101.0/24'
  - '136.22.102.0/24'
  - '136.22.103.0/24'
  - '136.22.104.0/24'
  - '136.22.105.0/24'
  - '136.22.106.0/24'
  - '136.22.107.0/24'
  - '136.22.108.0/24'
  - '136.22.109.0/24'
  - '136.22.110.0/24'
  - '136.23.1.0/24'
  - '136.23.2.0/24'
  - '136.23.3.0/24'
  - '136.23.4.0/24'
  - '136.23.5.0/24'
  - '136.23.6.0/24'
  - '136.23.7.0/24'
  - '136.23.8.0/24'
  - '136.23.9.0/24'
  - '136.23.10.0/24'
  - '136.23.11.0/24'
  - '136.23.12.0/24'
  - '136.23.13.0/24'
  - '136.23.14.0/24'
  - '136.23.15.0/24'
  - '136.23.16.0/24'
  - '136.23.17.0/24'
  - '136.23.18.0/24'
  - '136.23.19.0/24'
  - '136.23.20.0/24'
  - '136.23.21.0/24'
  - '136.23.22.0/24'
  - '136.23.23.0/24'
  - '136.23.24.0/24'
  - '136.23.25.0/24'
  - '136.23.26.0/24'
  - '136.23.27.0/24'
  - '136.23.28.0/24'
  - '136.23.29.0/24'
  - '136.23.30.0/24'
  - '136.23.31.0/24'
  - '136.23.32.0/24'
  - '136.23.33.0/24'
  - '136.23.34.0/24'
  - '136.23.35.0/24'
  - '209.107.176.0/24'
  - '209.107.177.0/24'
  - '209.107.178.0/24'
  - '209.107.179.0/24'
  - '209.107.180.0/24'
  - '209.107.181.0/24'
  - '209.107.182.0/24'
  - '209.107.183.0/24'
  - '209.107.184.0/24'
  - '209.107.185.0/24'
  - '209.107.186.0/24'
  - '209.107.187.0/24'
  - '209.107.188.0/24'
  - '209.107.189.0/24'
  - '209.107.190.0/24'
  - '209.107.191.0/24'

可以更加精确的将协议限定为 UDP(虽然实际上也只会走 UDP)

1
2
3
script:
    shortcuts:
      GoogleVPNbypass: match_provider('GoogleVPNbypass') and network == 'udp'

并将其加入直连:

1
  - SCRIPT,GoogleVPNbypass,🚀 直接连接

至此,你每使用 1G 流量,由于你的前置代理一直都在,也不会掉线。并且通过将其作为节点,可以更加灵活的控制分流规则。

那也没关系,你可以在电脑上使用 clash for windows 实现类似的效果(其他设备也一样,如 iPhone 上的 stash)。思路如下:

  1. clash for windows 的配置文件里要对代理检测服务器进行代理
  2. 手机 WiFi 代理中设置电电脑 IP 以及 7890(clash 默认代理地址)
  3. 在 clash for windows 配置文件里面新增一个 http 或者 socks 代理地址就是手机 IP 和 every proxy 共享出来的 http 或 socks 端口

抱歉,目前我还没有发现如何避免断开的方法。 但是你可以使用如下两种方式,出门外面的时候也能仅使用单设备连接上 VPN。

方法 1:

1
2
3
4
5
6
1. clash-设置-网络-关闭 自动路由系统流量
2. 打开clash开关 global选项卡选择一个支持的国家,例如美国,日本,台湾等
3. WiFi-设置-高级-代理-服务器写入127.0.0.1 端口填入7890 排除项填入 1.com
4. 开启Google One VPN
5. 成功后 clash global 选择direct
6. WiFi-高级设置-代理 修改 排除项1.com为任意 比如1.cn。没有排除选项的会造成网页无法打开

方法 2:

1
2
3
4
5
6
1. clash-设置-网络-关闭 自动路由系统流量
2. clash 挂一个支持的国家,例如美国,日本,台湾等。只用代理模式,不要用全局模式。
3. 在数据卡的设置里,设置一个新的 APN ,把 APN 的代理服务器里面设置为 127.0.0.1:7890
4. 直接用 Google one VPN 连接成功,成功后打开 wifi 和关闭 clash 均能保持连接状态

注意:连接成功后记得把clash设置为直连模式,且不可切换APN或关闭clash