په 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 پروتوکول مناسب انتخابونه هم وړاندې کړي.