Konfigurimi i proxy SOCKS5 të NWConnection në iOS 17+
Lidhni një ProxyConfiguration SOCKSv5 të iOS 17 me NWParameters.PrivacyContext përpara se të krijoni një NWConnection.
Në iOS 17 dhe më të rejat, Network.framework mund të aplikojë një proxy SOCKSv5 përmes një konteksti privatësie. Lidhni atë kontekst me parametrat përpara se të krijohet lidhja:
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)
}
Funksioni kthen një lidhje TLS të pa nisur. Instaloni trajtimin e gjendjes së aplikacionit, nisni atë në radhën e synuar, më pas shkëmbeni protokollin e aplikacionit përmes rrugës normale të dërgimit dhe marrjes.
proxy.example:1080 është dëgjuesi SOCKS. Për lidhjet e lejuara me shërbime publike, lista e proxy-ve SOCKS5 ofron kandidatë hosti dhe porti. service.example:443 mbetet destinacioni. Konteksti i privatësisë zbaton konfigurimet e tij të proxy-t në lidhjet e lidhura me atë kontekst; krijimi i një lidhjeje të palidhur me parametra të tjerë nuk e trashëgon këtë konfigurim.
Ky është ndërfaqja e lidhjeve e Network.framework. Një anashkalim proxy i URLSession ose një rregullim i depove të të dhënave të WKWebView konfigurojnë ato konsumatorë të veçantë. Për një WebSocket të ndërtuar mbi NWConnection, aplikacioni duhet të ofrojë gjithashtu opsionet e duhura të protokollit WebSocket.