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 ప్రోటోకాల్ ఎంపికలను కూడా అందించాలి.