iOS 17+ üzərində NWConnection SOCKS5 proksisini konfiqurasiya edin
NWConnection yaratmazdan əvvəl iOS 17 SOCKSv5 ProxyConfiguration-u NWParameters.PrivacyContext-ə qoşun.
iOS 17 və sonrakı versiyalarda Network.framework məxfilik konteksti vasitəsilə SOCKSv5 proksisini tətbiq edə bilər. Bağlantını yaratmazdan əvvəl həmin konteksti parametrlərə qoşun:
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)
}
Funksiya başladılmamış TLS bağlantısı qaytarır. Tətbiqin vəziyyət idarəetməsini quraşdırın, onu nəzərdə tutulan növbədə başladın, sonra tətbiq protokolunu adi göndərmə və qəbul yolu ilə mübadilə edin.
proxy.example:1080 SOCKS dinləyicisidir. İcazə verilmiş ictimai xidmət bağlantıları üçün SOCKS5 proksi siyahısı host və port namizədləri təqdim edir. service.example:443 təyinat olaraq qalır. Məxfilik konteksti proksi konfiqurasiyalarını həmin kontekstlə əlaqəli bağlantılara tətbiq edir; digər parametrlərlə əlaqəsiz bağlantı yaratmaq bu quraşdırmanı miras almır.
Bu, Network.framework-ün bağlantı interfeysidir. URLSession proksi əvəzləməsi və ya WKWebView məlumat anbarı parametri həmin ayrı istehlakçıları konfiqurasiya edir. NWConnection üzərində qurulmuş WebSocket üçün tətbiq həmçinin uyğun WebSocket protokol seçimlərini təqdim etməlidir.