NetBare-Android
NetBare-Android copied to clipboard
想通过这个库做一个简单代理,有好的意见吗?
比如https://github.com/MegatronKing/NetBare/issues/new 跳转到http://192.168.100.1:8888/MegatronKing/NetBare/issues/new 直接更改onRequestInject回调中header的uri是不行的。 现在我有两种想法。
-
一种是直接在TcpVATunnel的的回调中的request中获取header、body、url等信息,然后自行发送网络请求。收到response之后,通过 mGateway.onResponse(buffer)来设置返回信息。
-
另一种是和有赞团队一样https://www.infoq.cn/article/akWjUR42QEvqUF*bP9kE 从vpnService中直接获取数据然后通过Socket发送出去,在自己的服务器(192.168.100.1)中做转发。
不知哪种可行。
关注
比如https://github.com/MegatronKing/NetBare/issues/new 跳转到http://192.168.100.1:8888/MegatronKing/NetBare/issues/new 直接更改onRequestInject回调中header的uri是不行的。 现在我有两种想法。
- 一种是直接在TcpVATunnel的的回调中的request中获取header、body、url等信息,然后自行发送网络请求。收到response之后,通过 mGateway.onResponse(buffer)来设置返回信息。
- 另一种是和有赞团队一样https://www.infoq.cn/article/akWjUR42QEvqUF*bP9kE 从vpnService中直接获取数据然后通过Socket发送出去,在自己的服务器(192.168.100.1)中做转发。
不知哪种可行。
第一种我没看代码 不清楚。 方式二等于抄送一份,我理解是可以的
第一种方式里,如何获得mgateway
我尝试了用onResponse,但是发不出去啊
这个框架用暴露出来的接口不可能做到更改目的ip,因为在执行到这里的时候与server已经建立socket链接了。非要用这个框架的话可以在TcpProxyServerForwarder里把mSessionProvider.ensureQuery这的remoteIp改成你要转发的ip。但是只是用来做vpn client的话何必用这个框架呢?
这个框架用暴露出来的接口不可能做到更改目的ip,因为在执行到这里的时候与server已经建立socket链接了。非要用这个框架的话可以在TcpProxyServerForwarder里把mSessionProvider.ensureQuery这的remoteIp改成你要转发的ip。但是只是用来做vpn client的话何必用这个框架呢?
你说的很对,所以想修改这个框架,所以想问问大家不知道有没有好的方案,对vpnService也不是很熟悉,怎么转发也只是停留在理论上,要是没有答复,等我研究好了再来回答吧。