NWConnection SOCKS5-proxy konfigurearje op iOS 17+
Keppelje in iOS 17 SOCKSv5 ProxyConfiguration oan NWParameters.PrivacyContext foardat jo in NWConnection meitsje.
Op iOS 17 en letter kin Network.framework in SOCKSv5-proxy tapasse fia in privacykontekst. Keppelje dy kontekst oan ’e parameters foardat de ferbining makke wurdt:
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)
}
De funksje jout in net-startene TLS-ferbining werom. Ynstallearje de tastânôfhanneling fan ’e applikaasje, start it op ’e bedoelde wachtrige en wikselje dan it applikaasjeprotokol fia syn normale stjoer- en ûntfangstpaad.
proxy.example:1080 is de SOCKS-listener. Foar tastiene ferbinings mei iepenbiere tsjinsten leveret de SOCKS5-proxylist host- en poartkandidaten. service.example:443 bliuwt de bestimming. De privacykontekst past syn proxykonfiguraasjes ta op ferbinings dy’t oan dy kontekst keppele binne; it meitsjen fan in net-relatearre ferbining mei oare parameters erft dizze opset net.
Dit is de ferbiningsinterface fan Network.framework. In URLSession-proxy-oerskriuwing of in WKWebView-databerchynstelling konfigurearret dy aparte konsuminten. Foar in WebSocket boud op NWConnection moat de applikaasje ek de passende WebSocket-protokolopsjes leverje.