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 प्रोटोकॉल पर्याय देखील पुरवले पाहिजेत.

संबंधित लेख