ShadowsocksR-Live / iShadowsocksR

ShadowsocksR (SSRoT) client for iOS
GNU General Public License v3.0
574 stars 326 forks source link

关于 iOS Socks5 设置一个疑问。 #36

Closed lampmanyao closed 4 years ago

lampmanyao commented 4 years ago

iOS 的 NetworkExtension 里是没有 Socks5 设置的,只有 http proxy 和 https proxy 这两个设置。 并不像 macOS 使用 networksetup 可以设置 socks5 proxy。 那么应用层如何发送 socks5 的包给 PacketTunnel,然后 PacketTunnel 再转发给远端服务器? 我在使用 NetworkExtension 的过程中,只收到 HTTP CONNECT 的包,并没有收到 socks5 的包。

ssrlive commented 4 years ago

用 lwip 庫將 network extension 裡的IP包轉化成 常規 tcp/udp 包,這工作由 tun2socks 完成。 再傳遞給 privoxy 轉化成 socks5 協議。 最後傳遞給 ssr 客戶端, 接上互聯網。

ssrlive commented 4 years ago

這些組件都跑在單獨的線程裡,各自監聽各自的端口,自己管好自己的一畝三分地。因此單步跟蹤將不得要領,啥也得不到。

86speed commented 3 years ago

用 lwip 庫將 network extension 裡的IP包轉化成 常規 tcp/udp 包,這工作由 tun2socks 完成。 再傳遞給 privoxy 轉化成 socks5 協議。 最後傳遞給 ssr 客戶端, 接上互聯網。

目前卡在这了 游戏玩不了 UDP有问题。 调试半天没找到问题network extension 里好乱 引入了badvpn-tun2socks ssr udp里面断点 一直没有数据 应该是tun2socks那块问题 有没什么思路?ssrot udp怎么处理的? 参照的这个:https://github.com/goooon/www/blob/master/third_party/Potatso/PacketProcessor/TunnelInterface.m

ssrlive commented 3 years ago

我觉得你应该直接使用 outline 的代码库,在测试完SS的udp功能完备以后,再把 SSR-Native 集成进去,也许还省些事儿。

86speed commented 3 years ago

嗯 我试试看。