iOS 17+ वर NWConnection SOCKS5 प्रॉक्सी कॉन्फिगर करा
NWConnection तयार करण्यापूर्वी iOS 17 SOCKSv5 ProxyConfiguration NWParameters.PrivacyContext शी जोडा.
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 प्रोटोकॉल पर्याय देखील पुरवले पाहिजेत.