前言

BoxJS 是一款运行在 Surge、QuantumultX(圈X)、Loon 环境下的脚本...

问题描述

见标题 -> 在iOS设备上运行BoxJs脚本时 VPN出现断开自动重启重连 无法启动

问题分析

由于 iOS 设备越狱后更容易触发 NE 框架的 内存限制 (iOS NE 15M 内存限制) 导致iOS VPN Extension主动重启

解决方法

修改iOS内存限制
iOS使用的是低内存处理机制Jetsam 当内存达到限制就会触发内存警告导致OOM...
Jetsam的配置文件中有相关的限制参数,它的配置文件一般在
/System/Library/LaunchDaemons/com.apple.jetsamproperties. Model .plist 文件中
其中 Model 是 CPU硬件模型代码 不同机型可能不一样
CPU硬件模型代码可以通过爱思助手或者在App Store里下载个硬件管家类的APP查询
我们需要修改的是

Root-Version4-Extension-Overide-com.apple.networkextension.packet-tunel
<key>com.apple.networkextension.packet-tunnel</key>
    <dict>
     <key>ActiveHardMemoryLimit</key>
     <integer>15</integer>
     <key>InactiveHardMemoryLimit</key>
     <integer>15</integer>
     <key>JetsamPriority</key>
     <integer>14</integer>
    </dict>

可以看到默认限制是 15MB 修改调高后重启设备就可以正常运行了
在操作前记得做好备份工作

最后修改:2020 年 12 月 11 日 05 : 09 PM