systemcall
2023-03-24 20:22:01 +08:00
默认情况下,你开启一个 VPN ,会启动一个 TUN ,并且系统有相应提示。应用访问网络,默认会走 TUN ,因为 TUN 会有更高的跃点数
但是,安卓 9.0 左右开始,VPN 应用可以附加一个 HTTP 代理,支持的应用会通过这个 HTTP 代理来建立连接,省去了 TUN 协议栈本身的开销,以及 SNI 嗅探的开销,并且理论上也更容易解决 DNS 污染的问题( Redir 下可能会因为拿到被污染的 IP 而影响判断,Fake-IP 模式可以解决问题)
VPN 应用附加的 HTTP 代理,效果和你在 WiFi 设置或者是移动网络设置里面附加一个 HTTP 代理是差不多的,区别是代理服务器在本机上运行。在 Windows 上,因为 appcontainer 的限制,本机上跑的代理,默认情况下 appcontainer 中的应用是无法连接的,表现为 Microsoft 商店打不开、系统自带搜索白屏、邮件查收不了、反馈中心用不了等关于 UWP 应用联网的问题
而安卓是没这个限制的,本地上跑的代理可以随便连接,只要端口没有被占用就可以打开那个代理