iOS 17 మరియు తర్వాతి వాటిలో Network.framework గోప్యతా సందర్భం ద్వారా SOCKSv5 ప్రాక్సీని వర్తింపజేయగలదు. కనెక్షన్ సృష్టించే ముందు ఆ సందర్భాన్ని పారామీటర్లకు అనుసంధానించండి:

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)
}

ఫంక్షన్ ప్రారంభం కాని TLS కనెక్షన్ను అందిస్తుంది. యాప్ యొక్క స్థితి నిర్వహణను ఇన్స్టాల్ చేయండి, దాన్ని ఉద్దేశించిన క్యూలో ప్రారంభించండి, ఆపై దాని సాధారణ పంపడు మరియు స్వీకరణ మార్గం ద్వారా యాప్ ప్రోటోకాల్ను మార్పిడి చేయండి.

proxy.example:1080 SOCKS శ్రోత. అనుమతించిన పబ్లిక్ సేవా కనెక్షన్ల కోసం SOCKS5 ప్రాక్సీ జాబితా హోస్ట్ మరియు పోర్ట్ అభ్యర్థులను అందిస్తుంది. service.example:443 గమ్యస్థానంగా ఉంటుంది. గోప్యతా సందర్భం దాని ప్రాక్సీ కాన్ఫిగరేషన్లను ఆ సందర్భంతో అనుబంధించిన కనెక్షన్లకు వర్తింపజేస్తుంది; ఇతర పారామీటర్లతో సంబంధం లేని కనెక్షన్ సృష్టించడం ఈ సెటప్ను వారసత్వంగా పొందదు.

ఇది Network.framework యొక్క కనెక్షన్ ఇంటర్ఫేస్. URLSession ప్రాక్సీ ఓవర్రైడ్ లేదా WKWebView డేటా-స్టోర్ సెట్టింగ్ ఆ ప్రత్యేక వినియోగదారులను కాన్ఫిగర్ చేస్తాయి. NWConnectionపై నిర్మించిన WebSocket కోసం, యాప్ తగిన WebSocket ప్రోటోకాల్ ఎంపికలను కూడా అందించాలి.

సంబంధిత వ్యాసాలు