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.

Relatearre artikelen