2020.1.24 忍痛割爱,关闭评论区。网页时光机或许能帮你找到之前的评论。
2021.1.16 最后一次进行修订,自此本文将停止更新。为了给自己减少麻烦,或许会在不久的将来这篇文章会404吧。
免责声明:这篇文章中提到的方法仅能用于研究与学习使用,严禁用于商业或非法用途,否则产生的后果自负。这篇文章是记录我折腾的过程,从未使用此方法获取任何利润。本文来源于Xiaomage's Blog,禁止一切形式的转载。
Android设备上能够使用的V2
ray客户端有很多,但他们的原理都是先建立本地的V PN连接,将本地需要代理的流量通过V PN传输到客户端软件,客户端再将流量传输到服务器。这样一来,客户端软件不但需要时刻开启后台保活,而且还要建立V PN通道,因此耗电量很大。那么,有没有一种V2V2。它初次配置可能较为复杂,但一但配置完成,就非常方便——开机随系统自启动,无需启动梯子软件,自动化;注入系统中,第三方进程少,轻量化;支持分应用代理,自动翻,功能比较丰富。 ray Magisk模块
ray软件,能让安卓设备较为省电、方便快捷的翻出去呢?当然有!经过我多方寻找,找到了它,那就是前排提醒:这篇文章适用于自己搭建梯子,节点较少的用户,因为本方法切换节点比较麻烦。没有订阅功能,机场用户请绕路;如果手机即没有root,又不知道root是什么,root后能带来哪些好处的,这篇文章或许不适合你,还是客户端更实用务实一些。另外,这不是一份官方教程。
准备工作
你需要做好相关准备,有可供折腾的设备才能开始:
- 一台刷入Magisk的Android手机
- Curl_For_Android 模块(可选,见下文)
- 软件:SS、MT管理器或RE管理器(带Root权限的文件管理器都可以)
- 可选:其他能用的全局梯子,种类任意,能用就行
注:
- 小米(红米)、一加,甚至是OV的少部分机型都可以自己解锁,刷Magisk,去酷安或者官方论坛可以很方便的找到相关教程;华为、荣耀的用户...其实....可以不用往下看了,没有root权限的设备是几乎没有可玩性的。
- Curl For Android 模块(可以先不下载,出现问题再下载,具体看下面步骤) 它的Github页面不知为何已经404,很难再搜到有关内容. 我备份了这个模块,这里是这个模块的最后两个备份:Curl_For_Android-v2.0、Curl_For_Android-v2.2 其中前者可用于Android 10,后者不支持;Android 9以下的Rom版本没有经过测试,但翻车的几率很小,可以尝试上车。
- 梯子可选,但最好还是有,否则非常可能下载V2r ay-core失败
我们的目标:刷入V2
ray Magisk模块,搭建起本地的V2客户端,实现分应用代理。操作步骤
- (建议先从第二步开始,不行的话再来进行这一步的操作)在Magisk Manager里刷入适合你系统版本的Curl For Android 模块。左侧菜单选择
Modules
或模块
,点击下方的加号,浏览到模块文件即可刷入。此步骤可选,官方已经修复了Curl的Bug,如果你第二步成功了,就不用执行这一步;少数机型不刷此模块可能会报出Connect official V2R
的错误,这就需要进行这一步,提前刷入Curl For Android 模块解决。 ay download link failed - 重启手机,之后打开梯子(magisk下载源和V2r
Downloads
或下载
,将模块下载到本地。然后按照下文中“关于出现SIGILL: illegal instruction 的解决办法”对下载的模块zip包进行修改后刷入。然而真正的配置才刚刚开始。
ay-core官方源都在GitHub,托管在亚马逊云上,国内直连速度非常慢,所以需要梯子,否则很容易失败),在Magisk Manager菜单中的
- 打开MT管理器(等带Root权限的管理器),定位到
/data/v2r
目录下,新建配置文件 ay/config.json
内容如下,注意:inbounds里面的内容不要动!outbounds里面的内容可以从你其他设备的配置文件里对应的位置复制过来;其他设备使用GUI客户端,没有配置文件的的你可以从找一个V2 Ray在线配置生成器生成一份配置文件。官方模板在此,也可以参照官方模板自行定制。保存文件并退出。
{
"log": {
"loglevel": "info"
},
"inbounds": [
{
"port": 65535,
"listen": "127.0.0.1",
"tag": "proxy-inbound",
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"sniffing": {
"enabled": false,
}
},
{
"port": 1080,
"listen": "127.0.0.1",
"tag": "socks-inbound",
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": false,
"ip": "127.0.0.1"
},
"sniffing": {
"enable": true,
"destOverride": [
"http",
"tls"
]
}
}
],
"outbounds": [
{
(删掉这行,把你的outbounds相关配置粘贴到这里!)
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "blocked"
},
{
"type": "field",
"domain": [
"geosite:category-ads"
],
"outboundTag": "blocked"
}
]
},
"dns": {
"servers": [
{
"address": "223.5.5.5",
"port": 53,
"domains": [
"geosite:cn"
]
},
"208.67.222.222",(移动建议使用opendns 208.67.222.222,联通电信建议Google 8.8.8.8,注意配置文件中删掉这行括号)
"8.8.8.8"
]
},
"policy": {
"levels": {
"0": {
"uplinkOnly": 0,
"downlinkOnly": 0
}
},
"system": {
"statsInboundUplink": false,
"statsInboundDownlink": false
}
},
"other": {}
}
- 打开SS,就用默认的那个节点就行,点击笔的图标,进入配置文件设置>分应用V PN,搜索你想要分应用代理的软件,将他们包名后面带着括号的数字id一一记下,不能出错。要代理全部应用的话,填写一个0就可以了,不过太不建议这样做。
- 还是那个目录
/data/v2
,新建一个文件 ray/appid.list
,将刚才记下的数字id输入到这个文件中,数字id之间用空格隔开,不允许换行。保存退出。第一次配置完成后要重启手机。至此,大功告成!请尽情享受自由的网络!
此外,这个模块还会在本地的1080端口开启一个socks5代理,你可以安装Kiwi Browser
,yandex Browser
等可以安装插件的浏览器安装Proxy Swithy Omega
,添加gf wlist等实现浏览器的全自动翻。至于这一部分如何实现,请查一查相关的其他教程吧,这篇教程就不细说了。
模块的管理
启用:打开Magisk Manager,将模块上的勾勾上,启用就可以,即时生效,一般情况无需重启手机,当然偶然出现情况重启大法好;
关闭:打开Magisk Manager,将模块上的勾去掉,禁用,就是关闭了,即时生效,一般情况无需重启手机;
重启服务:打开Magisk Manager,将模块上的勾去掉,等7~8秒钟后再勾上即可重启模块,不要勾掉立即勾上。
删除模块:打开Magisk Manager,点击最右边的叉号,重启手机。
关于出现SIGILL: illegal instruction 的解决办法
因为Magisk v20.4+版本本身的Go运行库出现问题,导致V2r
ay-core 4.31.0及之后的版本无法正常运行,log中出现illegal instruction的错误。目前有两种解决方法:- 将Magisk回退到v20.3版本,据Github issue评论,此版本Magisk与最新V2r ay-core兼容。
- 将V2r
1. 先下载V2 ray模块到本地。下载链接在此,先进入下载页面,点击绿色的Code,再点击Download ZIP即可将模块下载到本地。
2. 用压缩软件解压模块刀一个空白文件夹里,修改模块中customize.sh,将第18行改为 latest_v2ray_version="4.30.0" 。
3. 将文件夹里的所有文件再打包成ZIP包,按照上面的介绍,面具刷入即可。
ay-core回退到 4.30.0版本。具体方法如下:
附录
这篇文章已经写了一年多了,V2
ray Magisk模块也渐渐的年久失修,经过不断的迭代,V2 ray客户端的性能、耗电都有了些进步,我自己也将主力方式切换回了客户端。客户端有一个缺点:需要一直在最近任务中锁定,强迫症在切换多任务的的时候很容易觉得难受。如何将客户端从最近任务中隐藏呢?首先需要利用面具获取root,并且安装类似与Xposed的框架。之后,在酷安上下载Scene,在Scene中的功能->应用场景中,搜索v2r
ayNG,进入后滑动到下方的高级设定,勾选从最近任务中隐藏,强制重启客户端即可从最近任务中隐藏,治好你的强迫症。另外V2Xray4Magisk。可以参考学习使用这些模块以替代V2 ray Magisk模块。
ray Magisk模块维护越来越少,配置复杂,小bug不断。类似的Magisk模块有如下:clash premium for magisk、配置使用中遇到问题欢迎在下面的评论区留言,我会尽力解答的~关于一加刷Magisk你也可以用评论区向我提问。大段的代码请使用pastebin,防止你的评论被系统标记为垃圾评论~
模块的使用问题当然也可以去官方issue向官方提问哦。官方issues在此:https://github.com/magisk-Modules-Repo/v2ray/issues