Ikkonfigura l-proxy SOCKS5 ta’ NWConnection fuq iOS 17+
Qabbad ProxyConfiguration SOCKSv5 ta’ iOS 17 ma’ NWParameters.PrivacyContext qabel ma toħloq NWConnection.
Fuq iOS 17 u aktar ġodda, Network.framework jista’ japplika proxy SOCKSv5 permezz ta’ kuntest tal-privatezza. Qabbad dak il-kuntest mal-parametri qabel ma tinħoloq il-konnessjoni:
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)
}
Il-funzjoni tirritorna konnessjoni TLS li ma nbdietx. Installa l-immaniġġjar tal-istat tal-app, ibdiha fil-kju maħsub, imbagħad ibdel il-protokoll tal-app mill-passaġġ normali tiegħu tat-tbaħħir u tal-wasla.
proxy.example:1080 huwa l-listeners SOCKS. Għall-konnessjonijiet tas-servizz pubbliku permessi, il-lista tal-proxy SOCKS5 tipprovdi kandidati tal-host u tal-port. service.example:443 jibqa’ d-destinazzjoni. Il-kuntest tal-privatezza japplika l-konfigurazzjonijiet tal-proxy tiegħu għall-konnessjonijiet assoċjati ma’ dak il-kuntest; il-ħolqien ta’ konnessjoni mhux relatata b’parametri oħra ma jirtx din is-setup.
Dan huwa l-interface tal-konnessjoni ta’ Network.framework. Sostituzzjoni tal-proxy ta’ URLSession jew setting tal-maħżen tad-dejta ta’ WKWebView jikkonfiguraw dawk il-konsumaturi separati. Għal WebSocket mibni fuq NWConnection, l-app trid ukoll tipprovdi l-għażliet xierqa tal-protokoll WebSocket.