
内核级方案--使用KernelSU+Surfing实现全局无感代理
前言
先前写过一篇文章,详细的介绍了常用终端如何使用代理工具进行“翻墙”,那么这期就再深入一些,来讲讲如何把Clash刷入手机内核,实现全局无感代理,也就是无需每次都开关Clash软件,访问国内软件时自动使用国内流量,访问国外网站时自动使用代理流量。话不多说,直接看教程吧。
1.前期准备工作
必须满足的前提条件:
1.一台解锁并Root的安卓设备
2.一个支持查看根目录的文件管理工具(例如MT管理器)
3.能够熟练使用Clash代理工具
4.有至少一个能够使用的订阅地址,建议两个
以上前提条件均在往期文章中有过教程,可以自行翻阅。
2.刷入
打开官方GitHub地址,按图示下载最新版Surfing安装包:
考虑到国内对GitHub有屏蔽,所以在此提供一个直链下载:【点击下载】
下载后打开你手机上的Root框架例如Magisk、kernelSU、Apatch。这里用KernelSU作为示例。点击模块,然后点击右下角安装按钮。
在弹出页面里选择你下载的Surfing安装包,通常是zip格式。刷入成功后将显示以下画面(我这里是更新的截图,跟首次安装会有些差距但整体差距不大,左上角都会显示刷写完成,注意,此时无需点击重启直接返回即可):
至此,Surfing已经成功刷入,接下来需要对其进行配置。
3.配置
打开文件管理器进入根目录,这里使用MT管理器示例。从根目录依次打开/data/adb/box_bll/clash/config.yaml
。建议将此目录添加为收藏,方便后续快速进入该目录。
打开config.yaml ,此为Surfing的配置文件(通常情况下只需要修改该文件即可,目录下其他文件都无需修改)
将你的订阅地址粘贴到对应的url中,注意,在修改订阅名称时,在截图中标记的名字应严格保持同步,path和additional字段后的名字可以任意写,但use和proxy中的名字一定要保持一致。同时注意不要修改其他内容,包括换行的缩进也要保持默认的不能变。最后保存并退出即可。随后重启手机。
4.开启代理
重启完成后,不出意外,Surfing应该已经成功运行在你的手机内核中了,再次打开Root管理器的模块页面应该能看见以下画面,点击左侧的【打开】按钮能够打开Surfing控制台并显示以下画面。
点击左上角两条杠,进入代理页面,找到总模式,通常总模式默认选择延迟最低策略组,建议无需更改。随后下滑找到延迟最低策略组,展开后选择你想要连接的节点即可(不选的话,顾名思义,系统会自动选择延迟最低的节点,但还是建议手动选择一下,这样可以避免IP乱跳导致某些账号被风控,例如推特)。代理提供者页面可以管理你配置文件中的所有订阅地址,默认更新时间为24小时,你也可以没事了时不时来手动刷新一下,养成经常更新订阅的好习惯。
5.完结
至此,你就完成了内核级代理工具Surfing的全部安装教程。此时你可以打开Google或YouTube来测试你的代理是否生效。正常情况下,你应该可以在状态栏不显示VPN标志的情况下直接访问Google了。
常见问题及解决方案
Question1:安装后点击打开按钮不显示控制台页面,而是一个白色页面上写着localhost:9000巴拉巴拉的。
Answer1:配置文件有误,仔细检查订阅地址名字是否严格保持一致。如果还不行,可能是格式乱了,卸载重装重新配置试试。
Question2:开启后手机有时候会莫名其妙没网,打不开某些页面。
Answer2:两种可能。第一,该网页明明是国内地址,应该直接访问不需要代理,但被误识别为了海外地址导致走了代理流量,导致访问不通。去Root管理器的模块里把Surfing关了就行,无需重启手机,点击关闭即刻生效。第二,如果确定是海外地址打不开的话,可能是代理节点挂了,换个节点试试。
Question3:什么时候需要重启,什么时候不需要重启?
Answer3:修改配置文件的订阅地址后,建议重启。仅开关模块时无需重启,即刻生效。除了开关模块以外的情况,如果拿不准,建议重启。