我正在尝试通过HTTP隧道重定向整个android网络流量,并且没有有关该操作方法的教程或Github存储库。
只需从用户那里获取主机,端口,用户名和密码,然后以编程方式将整个设备传输到该主机。
我已经用squid配置了HTTP代理服务器,只需要一个客户端就可以连接到它。
我不需要Open-VPN解决方案或StrongSwan(这个名为{O3FAN}的TOOFAN Tunnel)可以满足我的实际需求,但是它仅在某些国家/地区可用,并且不是开源项目。
只需要有人向我展示路径或将我带入正确的方向,我就先感谢它。
我了解Android的app以及它如何重定向流量,我只是不知道实现套接字来通过具有凭据的HTTP代理传输数据包。
我已经建立并测试了20多个存储库,但是没有一个起作用。他们之中有一些是: VpnServise,SSLSocks,TunProxy,VpnProxy,SmartProxy,NetDroidProxy,LocalVPN,xSocks-android。 >
答案 0 :(得分:1)
您可以尝试使用我制作的这个库,它应该允许您使用代理执行几乎任何操作,或者不执行任何操作。我知道它的回复很晚,但是我希望它可以帮助某人...
https://github.com/DrBrad/Android-VPN-to-Socket
https://github.com/DrBrad/JTun2Socks
最简单的方法是为UDP数据包创建DNS代理,为TCP数据包创建TCP服务器。您必须操纵TCP数据包以将其定向到新的TCP服务器。您可以通过创建一个简单的nat会话来拉主机和端口。
答案 1 :(得分:-1)
自定义的Android VpnService捕获IP数据包,过滤HTTP / HTTPS请求,修改标头(例如基本授权标头)或添加connect方法(用于https请求)并将数据包重定向到http代理。
对于TunProxy,请考虑修改代码manual,行:733-746,原来在此位置添加了connect方法,可以在此处进行类似的修改。
参考: 1. https://github.com/raise-isayan/TunProxy/blob/master/android_app/app/src/main/cpp/tcp.c 2. https://github.com/raise-isayan/TunProxy