Specht--开源的基于 Network Extension 的 Mac 版代理

2016-08-12 13:41:55 +08:00
 nbndco

之前写了一个 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 也是够用的。

如何选择:

  1. 有开发者账户并且有 Network Extension 的权限 -> Specht
  2. 只是想有个基于规则的代理,并且有 Surge 的 iOS 版 -> Mac 版的 Surge
  3. 只是想有个基于规则的代理,没有 Surge 想要 Mac 版的 Surge 的功能但是不在意没有华丽的 GUI -> SpechtLite
  4. 什么都想要而且还不想花钱的,你可以看着 Specht 基于 NEKit 自己写一个。有了 NEKit 其实也就是界面写起来比较烦心

有问题的话可以去 Gitter 问

19317 次点击
所在节点    macOS
92 条回复
youthcould
2016-08-12 13:45:26 +08:00
手动点赞
kappa
2016-08-12 13:47:29 +08:00
题外话,有没有好的 HTTPS proxy server 项目推荐?
nbndco
2016-08-12 13:48:54 +08:00
@kappa 用 polipo 这样的然后 nginx 转发?证书可以用 Let's encrypt.
kappa
2016-08-12 13:55:18 +08:00
@nbndco 我倒是想试试 phuslu 的新项目 https://github.com/phuslu/goproxy 方便扩展点
WildCat
2016-08-12 13:59:07 +08:00
赞!虽然我还没申请到 Network Extension 🌚
shadowrocket 那样的 App 可以不需要 Network Extension 吧?
tyhunter
2016-08-12 14:13:18 +08:00
希望更多类似 Surge 的竞品能够出现
nbndco
2016-08-12 14:14:29 +08:00
@WildCat 没用过,我只能猜猜,它用的是什么我不知道,但是想要常驻后台的话唯一的办法就是用 Network Extension ,其他办法苹果一定会拒。他应该是利用 Network Extension 运行代理服务器,在系统设置里设好代理,但是不处理 IP 包的。处理 IP 包这点确实很麻烦,其实也没啥用。
nbndco
2016-08-12 14:15:19 +08:00
@kappa goagent ? Google IP 都死光了,每天光剩找 IP 了,而且还都很慢。
kappa
2016-08-12 14:25:39 +08:00
@nbndco goproxy 。。
nbndco
2016-08-12 14:31:42 +08:00
@kappa 看起来就是一个 Go 版的 goagent 啊
kappa
2016-08-12 14:34:04 +08:00
Pyromaniac
2016-08-12 14:51:04 +08:00
这个图标好棒
nbndco
2016-08-12 15:46:39 +08:00
@kappa 如果是自己的服务器看不出这样做的意义。
n6DD1A640
2016-08-12 17:03:17 +08:00
@nbndco 跑个题, NEKit 的 repo 貌似接近 1G ?
xjbeta
2016-08-12 17:03:51 +08:00
梯子架路由器上了 一身轻松。。。
nbndco
2016-08-12 17:06:24 +08:00
@n6DD1A640 你之前 clone 过?之前自动生成文档推送到 gh-pages 的分支的逻辑有点问题,现在已经修正了。你删了重新 clone 应该没问题。
Phant0m
2016-08-12 17:07:24 +08:00
希望作者发布到 Mac App Store 上
n6DD1A640
2016-08-12 17:10:07 +08:00
@nbndco 对,上月 clone 过想折腾下,但是一看 1g 的大小。。。好吧我晚上再试试
jakes
2016-08-12 18:17:29 +08:00
发布到 app store 吧,花点钱没事,不要 600+ 就好。
ProfFan
2016-08-13 00:06:08 +08:00
GPLv3 发不了 App Store 吧。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298865

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX