使用 「Surge + Snell v5 + frp」无感访问校内资源
Intro
由于实验室不在校内,而实验室的网络环境并没有办法通过 IP 认证的方式,来访问学术期刊,而这恰恰是一个非常高频的需求。
因此解决方案就只剩下了通过 VPN 进行访问,但这也带来了一些问题:
- 若仅在需要访问相关资源的时候连接 VPN,长此以往可能在这件事情上会浪费掉大量的时间;
- 若一直连接 VPN,在切换网络的时候会遇到重连的问题,同时 VPN 的连接体验下来并不稳定,带宽也并不高,体验非常差;
- 由于 VPN 会接管所有的流量,因此一些并不需要使用 VPN 访问的资源也绕了一大圈,而本地内网的资源又无法连接了;
于是我花了一点点时间,研究出了一套使用「Surge Snell v5 + frp + Subnet 策略组」的方案,来无感知地解决这个问题。
Prerequisite
简单来说,整个过程分为以下几个步骤:
- Snell v5 代理建立在校园网环境中的一台 24 小时开机的服务器中;
- 校园网打洞非常困难,因此为了省事,直接使用 frp 将 Snell v5 代理穿透到具有公网 IP 的服务器上;
- 使用安装了 Surge for Mac 的 MacBook,写一些简单的规则后,通过 Subnet 策略组进行愉快上网。
如果你也希望尝试这套方案,你需要:
- 一台处于校园网环境中,24 小时开机的电脑/服务器
- 使用 macOS,并购入 Surge for Mac 软件
- 有一台稳定的,具有公网 IP 的服务器,以使用 frp 进行内网穿透
Example
具体的部署非常简单,就不演示了,如果遇到问题,可以在评论区讨论。
实现无感的关键是建立一个 Subnet 策略组,我这里的策略是:
- 连接校园网(SSID 为 eduroam/ShanghaiTech/Jayden)时,本策略组的流量走直连,此时不会走校内代理绕一圈。
- 除以上情况外,本策略组的流量一律走校内代理。

Subnet 策略组
随后将相关的域名,例如 pnas.org(PNAS)、nature.com(nature)、cell.com(Cell)、science.com(Science) 等设置为上述的 Subnet 策略组即可。
除了域名以外,也可以将校内的一些 IP 走上述 Subnet 策略组,从而实现对校内资源的访问。

需校园网环境访问的资源
Tail
后来 VLESS 也推出了反向代理的功能,但由于本方案已经稳定用很久了,所以也不想折腾了,感兴趣的朋友可以试试。
另外,运行 frp 的公网服务器,对中国大陆的线路也需要有保障,否则用起来也是一言难尽。此前尝试过一台位于香港的服务器,本想着物理距离更近,理论上用起来应该更无感才对,实际上由于其线路不够优质,以至于某些时候卡顿严重。后来使用了一台线路质量较高的美国服务器,相当稳定。
而 frp 其实也有其他的替代,但有点折腾不动了,于是直接选用了 frp。
如果你有和我一样的困扰,我希望这篇内容对你有帮助。