
之前写了一个 iOS/macOS 的库,NEKit,还在更新。功能可以自己看,简单点说就是封装了 Surge iOS 的核心功能,包括 tun2socks 。
有一些人想要一个 demo ,所以就把一个我自己写的之前用了很久的代理软件的界面基于 NEKit 写了一个。 功能可以比照 Surge 的核心功能,我就不列了。
Specht 有两个版本。
Specht是基于 Network Extension 的。可以自动设置代理,可以转发所有的 TCP 流,包括所有不支持代理的软件。但是苹果的限制是 Developer ID 是不能签名需要 Network Extension 的应用的,想要用 Specht ,必须要自己用有 Network Extension 权限(需要单独申请,免费)的开发者账户( 99 刀),或者我发布到 Mac App Store 。所以想要用的话,至少你要有开发者账户,然后自行编译签名。你应该可以注意到,不同于 iOS , Surge 的 Mac 版也是不基于 Network Extension 的。所以在这个意义上, Specht 的功能比 Surge 的 Mac 版要强,当然我是希望 Surge 直接基于 Network Extension 上架 App Store 的(这样我估计我也没动力更新 Specht 了),当然别卖 648 就好。 iOS 上的 Surge 很棒(虽然曾经很不稳定),所以我对于写一个 Specht 的 iOS 版完全没有任何动力。
但考虑到这样就几乎没人能用,所以又有了SpechtLite。这个版本可以直接下载,人人可用。不基于 Network Extension 的问题是不能自动设置代理,只有支持代理的应用才能使用,但是如果 Surge 的 Mac 版够用的话,那么 SpechtLite 也是够用的。
如何选择:
- 有开发者账户并且有 Network Extension 的权限 -> Specht
- 只是想有个基于规则的代理,并且有 Surge 的 iOS 版 -> Mac 版的 Surge
- 只是想有个基于规则的代理,没有 Surge 想要 Mac 版的 Surge 的功能但是不在意没有华丽的 GUI -> SpechtLite
- 什么都想要而且还不想花钱的,你可以看着 Specht 基于 NEKit 自己写一个。有了 NEKit 其实也就是界面写起来比较烦心
