Ṣètò SOCKS5 proxy ti NWConnection lori iOS 17+
Ṣopọ iOS 17 SOCKSv5 ProxyConfiguration mọ NWParameters.PrivacyContext ṣaaju ki o to ṣẹda NWConnection.
Lori iOS 17 ati ju bẹẹ lọ, Network.framework le lo SOCKSv5 proxy nipasẹ ipo aṣiri. So ipo yẹn mọ awọn paramita ṣaaju ki o to ṣẹda asopọ naa:
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)
}
Iṣẹ naa da asopọ TLS ti ko tii bẹrẹ pada. Fi iṣakoso ipo ti app sori, bẹrẹ rẹ lori ila ti a pinnu, lẹhinna paarọ ilana app nipasẹ ọna fifiranṣẹ ati gbigba deede rẹ.
proxy.example:1080 ni olutẹtisi SOCKS. Fun awọn asopọ iṣẹ gbangba ti a gba laaye, akojọ proxy SOCKS5 n pese awọn oludije olupin ati ibudo. service.example:443 wa ni ibi-afẹde. Ipo aṣiri naa n lo awọn atunto proxy rẹ si awọn asopọ ti o ni ibatan si ipo yẹn; ṣiṣẹda asopọ ti ko ni ibatan pẹlu awọn paramita miiran ko jogun eto yii.
Eyi ni wiwo asopọ ti Network.framework. Iyipada proxy URLSession tabi eto ibi ipamọ data WKWebView n ṣe atunto awọn olumulo lọtọ yẹn. Fun WebSocket ti a kọ lori NWConnection, app gbọdọ tun pese awọn aṣayan ilana WebSocket ti o yẹ.