Box for Magisk 简明教程
前言
Box for Magisk 是 Clash for Magisk 的后续项目,由同一个作者(taamarin)开发。
我在多年前曾写过 Clash for Magisk 简明教程,不过教程写好没多久 Clash for Magisk 就寿终正寝了。而我当时也因为还未完全摸透 Clash 的配置逻辑,对频繁启停 Clash 有需求,最终放弃了使用 Magisk 模块实现透明代理的想法。
而如今我的 Clash 配置已经迭代的十分成熟了,手机上的 FClash 已经完全接管了所有流量,这时候通过 VPN 绕行的方案就显得比较麻烦和费电,所以我又想起了当初的这个模块。
模块安装
模块可以从 官方仓库的 Releases 下载,下载后通过 Root 管理器安装。
安装过程中需要通过音量键确认是否安装哪些模块,确认超时时间为 10 秒,请及时做出选择。当然你也可以一直点按 音量 +
来同意安装所有模块。
模块管理
官方仓库的 Releases 同时也提供了一个可选的管理 App,可以通过该 App 对模块进行管理,我个人选择使用这个管理 App。
- 安装好 App 之后,使用 Magisk 授予该 App Root 权限。
- 打开 App,先停止模块的运行。
- 导航到 Config 选项,找到所使用的代理工具配置目录。
我使用 Clash,所以打开 Clash 目录,替换其中的
config.yaml
为我自己的配置。这里比较坑的一点是无法选择文件,只能复制粘贴。 - 回到首页,启动模块。
对于代理选择和状态查看,除了 App 首页提供的简单信息外,还可以点击下方的 Open Panel 打开网页版面板。
使用面板的前提是你在配置文件中启用了外部控制,也就是在 config.yaml
中设置好:
1 | external-controller: '127.0.0.1:9090' |
当然,简单的启停也可以通过 Shell 命令或 Magisk 的 Action 实现。以下是官方文档中的使用方法:
启动服务:
1 | su -c /data/adb/box/scripts/box.service start && su -c /data/adb/box/scripts/box.iptables enable |
停止服务:
1 | su -c /data/adb/box/scripts/box.iptables disable && su -c /data/adb/box/scripts/box.service stop |
补充说明:
- 修改任何核心配置文件时,请确保
tproxy
相关的配置与/data/adb/box/settings.ini
文件中的定义一致。 - 如果您的设备拥有公网 IP 地址,您可以在
/data/adb/box/scripts/box.iptables
文件中将该 IP 地址添加到内部网络,以防止环回流量。 - BFM 服务的日志位于
/data/adb/box/run
目录中。 - 请注意,修改这些文件需要适当的权限。请务必仔细遵循说明并验证对配置文件所做的任何更改。
可以运行以下命令获取其他相关操作说明:
1 | su -c /data/adb/box/scripts/box.tool |
模块卸载
通过 Root 管理器移除模块,并通过 Adb 执行以下指令:
1 | su -c rm -rf /data/adb/box |
后记
模块的安装和使用本身很简单,重点是你是否拥有一个足够完善的配置文件。