V2ray Magisk模块上车完全指南

V2ray Magisk模块上车完全指南

2020.1.24 忍痛割爱,关闭评论区。网页时光机或许能帮你找到之前的评论。
2021.1.16 最后一次进行修订,自此本文将停止更新。为了给自己减少麻烦,或许会在不久的将来这篇文章会404吧。
免责声明:这篇文章中提到的方法仅能用于研究与学习使用,严禁用于商业或非法用途,否则产生的后果自负。这篇文章是记录我折腾的过程,从未使用此方法获取任何利润。本文来源于Xiaomage's Blog,禁止一切形式的转载。

Android设备上能够使用的V2分开ray客户端有很多,但他们的原理都是先建立本地的V分开PN连接,将本地需要代理的流量通过V分开PN传输到客户端软件,客户端再将流量传输到服务器。这样一来,客户端软件不但需要时刻开启后台保活,而且还要建立V分开PN通道,因此耗电量很大。

那么,有没有一种V2分开ray软件,能让安卓设备较为省电、方便快捷的翻出去呢?当然有!经过我多方寻找,找到了它,那就是V2分开ray Magisk模块。它初次配置可能较为复杂,但一但配置完成,就非常方便——开机随系统自启动,无需启动梯子软件,自动化;注入系统中,第三方进程少,轻量化;支持分应用代理,自动翻,功能比较丰富。

前排提醒:这篇文章适用于自己搭建梯子,节点较少的用户,因为本方法切换节点比较麻烦。没有订阅功能,机场用户请绕路;如果手机即没有root,又不知道root是什么,root后能带来哪些好处的,这篇文章或许不适合你,还是客户端更实用务实一些。另外,这不是一份官方教程。

准备工作

你需要做好相关准备,有可供折腾的设备才能开始:

  1. 一台刷入Magisk的Android手机
  2. Curl_For_Android 模块(可选,见下文)
  3. 软件:SS、MT管理器或RE管理器(带Root权限的文件管理器都可以)
  4. 可选:其他能用的全局梯子,种类任意,能用就行

注:

  • 小米(红米)、一加,甚至是OV的少部分机型都可以自己解锁,刷Magisk,去酷安或者官方论坛可以很方便的找到相关教程;华为、荣耀的用户...其实....可以不用往下看了,没有root权限的设备是几乎没有可玩性的。
  • Curl For Android 模块(可以先不下载,出现问题再下载,具体看下面步骤) 它的Github页面不知为何已经404,很难再搜到有关内容. 我备份了这个模块,这里是这个模块的最后两个备份:Curl_For_Android-v2.0Curl_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分开ay download link failed的错误,这就需要进行这一步,提前刷入Curl For Android 模块解决。
  • 重启手机,之后打开梯子(magisk下载源和V2r分开ay-core官方源都在GitHub,托管在亚马逊云上,国内直连速度非常慢,所以需要梯子,否则很容易失败),在Magisk Manager菜单中的Downloads下载,将模块下载到本地。然后按照下文中“关于出现SIGILL: illegal instruction 的解决办法”对下载的模块zip包进行修改后刷入。然而真正的配置才刚刚开始。

下载模块

  • 打开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就可以了,不过太不建议这样做。

数字id

  • 还是那个目录/data/v2分开ray/,新建一个文件appid.list,将刚才记下的数字id输入到这个文件中,数字id之间用空格隔开,不允许换行。保存退出。第一次配置完成后要重启手机。至此,大功告成!请尽情享受自由的网络!

此外,这个模块还会在本地的1080端口开启一个socks5代理,你可以安装Kiwi Browseryandex 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的错误。目前有两种解决方法:

  1. 将Magisk回退到v20.3版本,据Github issue评论,此版本Magisk与最新V2r分开ay-core兼容。
  2. 将V2r分开ay-core回退到 4.30.0版本。具体方法如下:
    1. 先下载V2分开ray模块到本地。下载链接在此,先进入下载页面,点击绿色的Code,再点击Download ZIP即可将模块下载到本地。
    2. 用压缩软件解压模块刀一个空白文件夹里,修改模块中customize.sh,将第18行改为 latest_v2ray_version="4.30.0" 。
    3. 将文件夹里的所有文件再打包成ZIP包,按照上面的介绍,面具刷入即可。

附录

这篇文章已经写了一年多了,V2分开ray Magisk模块也渐渐的年久失修,经过不断的迭代,V2分开ray客户端的性能、耗电都有了些进步,我自己也将主力方式切换回了客户端。客户端有一个缺点:需要一直在最近任务中锁定,强迫症在切换多任务的的时候很容易觉得难受。如何将客户端从最近任务中隐藏呢?

首先需要利用面具获取root,并且安装类似与Xposed的框架。之后,在酷安上下载Scene,在Scene中的功能->应用场景中,搜索v2r分开ayNG,进入后滑动到下方的高级设定,勾选从最近任务中隐藏,强制重启客户端即可从最近任务中隐藏,治好你的强迫症。

另外V2分开ray Magisk模块维护越来越少,配置复杂,小bug不断。类似的Magisk模块有如下:clash premium for magisk、Xray4Magisk。可以参考学习使用这些模块以替代V2分开ray Magisk模块。

配置使用中遇到问题欢迎在下面的评论区留言,我会尽力解答的~关于一加刷Magisk你也可以用评论区向我提问。大段的代码请使用pastebin,防止你的评论被系统标记为垃圾评论~
模块的使用问题当然也可以去官方issue向官方提问哦。官方issues在此:https://github.com/magisk-Modules-Repo/v2ray/issues

本文永久链接:https://blog.xmgspace.me/archives/v2ray-magisk-module-guide.html
本文文章标题:V2ray Magisk模块上车完全指南
如文章内无特殊说明,只要您标明转载/引用自Xiaomage's Blog,您就可以自由的转载/引用文章。禁止CSDN/采集站采集转载。
授权协议:署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
上一篇
下一篇