Ffurfweddu procsi SOCKS5 NWConnection ar iOS 17+
Atodwch ProxyConfiguration SOCKSv5 iOS 17 wrth NWParameters.PrivacyContext cyn creu NWConnection.
Ar iOS 17 a hwy, gall Network.framework gymhwyso procsi SOCKSv5 trwy gyd-destun preifatrwydd. Atodwch y cyd-destun hwnnw i’r paramedrau cyn creu’r cysylltiad:
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)
}
Mae’r ffwythiant yn dychwelyd cysylltiad TLS nas cychwynnwyd. Gosodwch driniaeth gyflwr yr ap, ei gychwyn ar y ciw bwriadedig, ac yna cyfnewid protocol yr ap drwy ei lwybr anfon a derbyn arferol.
proxy.example:1080 yw’r gwrandawr SOCKS. Ar gyfer cysylltiadau gwasanaeth cyhoeddus a ganiateir, mae rhestr procsi SOCKS5 yn darparu ymgeiswyr gwesteiwr a phorth. service.example:443 yw’r gyrchfan o hyd. Mae’r cyd-destun preifatrwydd yn cymhwyso ei ffurfweddiadau procsi i gysylltiadau sy’n gysylltiedig â’r cyd-destun hwnnw; nid yw creu cysylltiad dieithr â pharamedrau eraill yn etifeddu’r drefn hon.
Dyma ryngwyneb cysylltu Network.framework. Mae diystyru procsi URLSession neu osodiad storfa ddata WKWebView yn ffurfweddu’r defnyddwyr ar wahân hynny. Ar gyfer WebSocket a adeiladir ar NWConnection, rhaid i’r ap hefyd ddarparu’r opsiynau protocol WebSocket priodol.