跳至主要内容

Xray4Magisk 食用教程

前言

magisk v2ray 已停止更新无法支持最新的 VLESS 协议,所以跳槽到Xray4Magisk 

这样可以更好的支持最新的协议,写一篇教程记录折腾过程 

作为模块,它可以一直在后台运行,而且非系统VPN模式,就是状态栏不会有啥图标,强迫症患者首选

这是它的 Github项目 怎么下载 怎么安装这里不复述了

大神可以自己去看他的README,我这里分享一下我自己的过程,心得供大家参考。

教程仅供学习与交流使用,请勿用于非法用途。


入门

安装完模块后你的 /data/adb/xray 下的目录就是存放着各种配置等文件。简单介绍一下各个配置文件的作用

bin
这个文件夹只有一个文件 xray 大概率它就是核心 在这个文件夹你可做的事情有以下

使用 v2ray 代替 xray

将 v2ray 重命名为 xray,然后/data/adb/xray/bin/xray用它替换。


confs  
这个文件夹下面有4个文件它们分别是 
base.json 这个文件 我猜测是入站规则 你可以操作的有以下 1.允许来自局域网的连接  2.设置socks/http端口方法如下
在 inbounds [ 敲回车 然后粘贴 以下内容 

  {
      "tag": "socks", 
      "port": 10808, //这是局域网共享socks协议端口
      "listen": "0.0.0.0",
      "protocol": "socks",
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "settings": {
        "auth": "noauth",
        "udp": true,
        "allowTransparent": false
      }
    },
    {
      "tag": "http",
      "port": 10809, //这是局域网共享http协议端口
      "listen": "0.0.0.0",
      "protocol": "http",
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      }
},

如图片 

注意 如果开启了 局域网共享需要在routing.json 里配置路由规则 后面会说到

dns.json
这文件 顾名思义 是设置DNS 域名解析的地方,正常情况下不需要修改什么

proxy.json
这个文件是你xray的代理配置文件 你可以吧自己的节点添加上去 需要修改的地方有以下
其他模板请参考:https://github.com/Asterisk4Magisk/Xray4Magisk-Templates
例如:本教程用的模板是:基于 Xray-core 的 Xray VLESS TCP XTLS



routing.json
这个文件是路由规则 如果你开启了socks/http 局域网共享,需要添加如下内容
          修改前
{
        "type": "field",
        "port": 53,
        "inboundTag": [
          "proxy-in"
        ],
        "outboundTag": "dns-out"
      },

修改后如下

{ //代理 DNS 请求
        "type": "field",
        "port": 53,
        "inboundTag": [
          "socks-in",
          "http-in",
          "proxy-in"
        ],
        "network": "tcp,udp",
        "outboundTag": "dns-out"
      },

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

run
里面是xray的错误日志和运行状态 没啥好说的 这个文件夹你什么都不能操作,只能看。

scripts
这个是xray的运行脚本  这个就是高级玩家才会玩的 建议你不要动这个文件夹里面的文件

ap.list
这个文件是你手机开 热点 / 蓝牙热点 /usb网络共享 是否需要走代理的 
默认配置是  wlan+

当然你可以直接填写以下这三个  经测试,本机共享 各 网口名字如下
wifi热点              wlan1
USB网络共享     rndis0
蓝牙共享            bt-pan

设置好入图下

appid.list
这个文件就是 选择需要代理或绕过的应用程序 我建议直接用Xray4Magisk 提供的app设置代理就好了 如图 
APP配置方法

默认是黑名单-------被勾选的APP会绕过代理
开启白名单的话-----被勾选的APP会被代理
Xray4Magisk app下载地址  点击这里查看

如果想手动填写Uid 方法如下

  • 如果您希望对特定的应用程序(APP)进行透明代理(阅读透明代理部分了解更多细节),只需在文件 /data/adb/xray/appid.list 中写下这些应用程序(APP)的 uid。

    每个应用程序(APP)的 uid 使用空格分隔,或者每行一个应用程序(APP)的 uid。(对于 Android 应用程序(APP)的 uid,可以在 /data/system/packages.list 文件中搜索应用程序(APP)的包名,或者使用 Magisk 管理器应用查看应用的 uid)

  • 如果您希望 Xray 代理所有应用程序(APP),只需在文件 /data/adb/xray/appid.list 中写上 ALL

  • 如果您希望 Xray 代理所有应用程序(APP),除了某些特定的应用,那么请在 /data/adb/xray/appid.list 文件的第一行写下 bypass 之后再如前文所述的方法写下您不希望代理的应用的 uid。

  • Xray 服务正常启动且文件 /data/adb/xray/appid.list 不为空的情况下,透明代理才会生效。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
geoip.dat   geosite.dat
这两文件中有一些规则可以实现类似Gxx的功能,也就是可以指定哪些网站需要代理,哪些不需要。 一般情况下不需要修改

ignore_out.list
文件可以忽略某些网络出口,例如,可以实现连接 WiFi 时不走代理 正常情况下会写  以下接口名称  。
            wlan0

有没有一种可能 某些情况下wifi连了但是由于某些原因安卓没有切掉移动数据的连接
                     
这种情况下ip route 疑似还是走的流量

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

高级用法(仅限调试&开发)

进入手动模式

如果您希望完全通过运行命令来控制 Xray,只需新建一个文件 /data/adb/xray/manual。在这种情况下,Xray 服务不会在启动时自动启动,您也不能通过 Magisk 管理器应用管理服务的启动/停止。

管理服务的启停

  • Xray service 脚本是 $MODDIR/scripts/xray.service.

  • 例如,在测试环境中(Magisk-alpha version: 23001)

    • 启动服务 :

      /data/adb/xray/scripts/xray.service start

    • 停止服务 :

      /data/adb/img/xray/scripts/xray.service stop

管理透明代理是否启用

  • 透明代理脚本是 /data/adb/xray/scripts/xray.tproxy.

  • 例如,在测试环境中(Magisk-alpha version: 23001)

    • 启用透明代理:

      /data/adb/xray/scripts/xray.tproxy enable

    • 停用透明代理:

      /data/adb/xray/scripts/xray.tproxy disable


连接到 WLAN 时绕过透明代理

在 ignore_out.list 文件里面填 wlan+ 就好了

选择要代理的应用程序(APP),以及选择要使用第二个代理的应用程序(APP)

例如:比如选择 Speedtest 应用程序 app,然后在打开Speedtest 的 vpn 第二个代理app如图

您可能还会有其他更多用处。
                       
 
ipv6
这个文件是启用ipv6的

为了获得最佳兼容性,本模块默认禁用IPv6。

  • 启用 IPv6 代理,请执行 touch /data/adb/xray/ipv6

  • 启用 DNS AAAA 记录查询,编辑 dns.json,将 "queryStrategy" 从 "UseIPv4" 改为 "UseIP"

  • 启用本地 IPv6 直连,编辑 base.json,找到 "tag": "freedom" 的 inbounds 数组元素,将 "domainStrategy"从 "UseIPv4" 改为 "UseIP"

  • 启用 IPv6 代理转发,编辑 proxy.json,将 "domainStrategy" 从 "UseIPv4" 改为 "UseIP"

卸载

  1. 从 Magisk 管理器应用卸载本模块。
  2. 使用命令清除 Xray 数据:rm -rf /data/adb/xray && rm -rf /data/adb/service.d/xray4magisk_service.sh

联系

Project X

Project X 是一套网络工具,帮助你建立你自己的计算机网络。它能保证你的网络连接安全,从而保护你的隐私。具体信息参见 Project X

许可

Mozilla Public License Version 2.0 (MPL)


评论