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.

Əlaqəli məqalələr