Habaynta SOCKS5 proxy ee NWConnection ee iOS 17+
Ka hor inta aanad abuurin NWConnection, ku xidh iOS 17 SOCKSv5 ProxyConfiguration iyo NWParameters.PrivacyContext.
iOS 17 iyo wixii ka dambeeya, Network.framework waxa uu ku dabaqi karaa SOCKSv5 proxy iyada oo loo marayo xaalad sir ah. Ku xidh xaaladdaas parameters-ka ka hor inta aanad abuurin xiriirka:
import Network
@available(iOS 17.0, *)
func makeConnection() -> NWConnection {
let parameters = NWParameters.tls
let context = NWParameters.PrivacyContext(description: "Service route")
let endpoint = NWEndpoint.hostPort(
host: "proxy.example", port: 1080)
context.proxyConfigurations = [
ProxyConfiguration(socksv5Proxy: endpoint)
]
parameters.setPrivacyContext(context)
return NWConnection(
host: "service.example", port: 443, using: parameters)
}
Shaqadu waxay soo celisaa xiriir TLS oo aan la bilaabin. Rakib maaraynta xaaladda abka, ku bilow safka loogu talagalay, ka dibna isku weydaarsada borotokoolka abka marinkiisa caadiga ah ee dirista iyo helista.
proxy.example:1080 waa dhageystaha SOCKS. Xiriirada adeegga dadweynaha ee la oggolaaday, liiska proxy SOCKS5 wuxuu bixiyaa musharixiinta martigeliyaha iyo dekedda. service.example:443 ayaa weli ah meesha loo socdo. Xaaladda sirta waxay ku dabaqdaa habaynta proxy xiriirada la xidhiidha xaaladdaas; abuurista xiriir aan la xidhiidhin parameters kale ma dhaxlo habayntaan.
Kani waa interface-ka xiriirka Network.framework. Beddelka proxy ee URLSession ama dejinta kaydka xogta WKWebView ayaa habaynta macaamiishaas gaar ah. WebSocket lagu dhisay NWConnection, abka waa in uu sidoo kale bixiyaa xulashooyinka borotokoolka WebSocket ee ku habboon.