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 प्रोटोकॉल विकल्प भी देने होंगे।

संबंधित लेख