Params 注意部分HTTP 特殊字段不可被修改,如 Content-Length 问一下如何处理修改后Content-Length和实际不一致的问题呢。是直接删除Content-Length头,用chunked。还是Surge 自动算出修改后实际Content-Length值,自动修改。还是直接使用未修改前的Content-Length。 另外可以加一个 URL Scheme的方法吗,和其他应用交互。
jumpbeen 是无法在TestFlight中发布带有Scripting功能的版本?还是说正式上架的版本也暂时无法实现Scripting功能?那么之前正式上架的哪个版本带有Scripting功能呢?谢谢!
xenme 有个关于$persistentStore.write的疑问。 当指定 key 并写入数据之后,后续如果不再使用该 key 的话,如何释放对应的数据呢? 又或者有些数据会根据对应的 ID 来保存的,而这些 ID 没有规则,后续也无法找回,是否这部分数据就会永久无法释放了? 是否加一个$persistentStore.clear()或者设置项来释放所有 persistentStore 里面的内容。否则,能想到就只能卸载重新安装了。
silentcloud SurgeTeam 能不能增加一个 $Surge.setEnhanceModeEnable 的功能,在公司一般都开 增强模式,回到家之后有时候连上公司 vpn 网络,开了 增加模式的话,公司内网访问有问题; 我这边就是想根据网络变化,然后自动切换 增强模式的开关
xenme 能增加一些设备信息相关的字段么? 比如是MacOS 版本还是 iOS。 目前有些功能在两个系统上的支持不一样,比如X-Surge-Policy 目前 iOS 不支持。 有些脚本需要的运算能力或者内存比较高,在 MacOS 运行没有问题,但是 iOS 就会崩溃 还有就是 httpClient 目前由于限制,在 MacOS 会经过 Rule 检查,能够通过 Proxy 出去,但是 iOS 只能直连。 所以需要区分具体的系统来决定相关的脚本逻辑。
xenme 再提个Share JS Context的相关request,目前看起来是所有的script共享一个JVM,由于很多外来脚本的干扰,可能会冲突或者不兼容问题 能不能针对某个script公用一个JVM,特别是针对rule script脚本。 rule脚本几乎会被每个请求调用到,全局共享JVM,会导致冲突,如果完全不共享,又会有性能或者内存开销问题导致频繁重启,所以能不能脚本加一个开关,这样自己之间共享。
Gary xenme 要完美解决理论上是要改造所有。我目前的解决方式是,设置上开全局共享。然后不需要共享变量的script,代码放在闭包内,避免污染全局。需要共享变量的script,以命名空间形式挂到全局上。比如你可以这样来规范命名,支持多组不同空间:XENME.groupName.var。只要别人的代码不污染XENME就可以了,所以应该不会那么巧。。。
xenme Gary 别人脚本一上来 const varName,再次执行就挂了 非程序员,全局共享的这个 JS context 不知道有没有啥参考的文档。 疑问就是如果是共享context,那么开始申明的变量下次再声明一次不是冲突了?static? namespace 和 closure 回头去研究下。主要目的就是节省下内存提升执行速度。