Avege WIP(三)
Avege开源后并没有太大的变化,除了收获了180多个star,大概也没什么人真正用上,别说PR了,连issue都没有,不过也收集了一些意见和建议。
后端的代理库换了一个,新换的库代码更精简,功能更丰富,更新也更积极。
稍微更新了一下SSR的协议,支持了单端口多用户,不过没测试过,毕竟也才修改了不到10行代码。
DNS proxy支持edns-client-subnet,不过看来效果并不好,因为并没有找到提供稳定并准确的edns-client-subnet支持的国内DNS server,而国外的我还没想好怎么实现,照理是把服务器的IP给DNS server,但在负载均衡的策略下,这个并不好做。
终于port了ss for Android的那个protect socket,为avege移植到Android扫掉最大的一块拦路石。没测试过,感觉问题不大。
去掉了对redis的强依赖,作为可选项,另外找了一个简单的内存缓存package实现,绝大多数时候是够用了。
增加了socks5对IPv6和远程解析DNS的支持,这部分其实非常简单,只是遗憾地发现基于iptables NAT的redir模式只能支持IPv4。
用Travis CI服务实现在开源版本的持续集成,并能把tag的版本编译好后自动上传到github releases,这个功能非常赞。
虽说TODO列了一堆大坑,但突然有点意兴阑珊,打算先把tun2socks集成了,然后看后面有没有兴趣做个GUI frontend吧。