iOS 17 жана андан кийинки версияларда Network.framework купуялык контексти аркылуу SOCKSv5 проксисин колдоно алат. Туташууну түзүүдөн мурун ошол контекстти параметрлерге туташтырыңыз:

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)
}

Функция башталбаган TLS туташуусун кайтарат. Колдонмонун абалын иштетүүнү орнотуңуз, аны керектүү кезекте баштаңыз, анан колдонмо протоколун кадимки жөнөтүү жана кабыл алуу жолу менен алмаштырыңыз.

proxy.example:1080 — SOCKS угуучусу. Уруксат берилген коомдук кызмат туташуулары үчүн SOCKS5 прокси тизмеси хост жана порт талапкерлерин сунуштайт. service.example:443 багыт болуп кала берет. Купуялык контексти өзүнүн прокси конфигурацияларын ошол контекстке байланышкан туташууларга колдонот; башка параметрлер менен байланышсыз туташуу түзүү бул жөндөөнү мурастабайт.

Бул — Network.framework туташуу интерфейси. URLSession проксисин алмаштыруу же WKWebView дайындар кампасынын жөндөөсү ошол өзүнчө керектөөчүлөрдү конфигурациялайт. NWConnection негизинде курулган WebSocket үчүн колдонмо тиешелүү WebSocket протокол параметрлерин да берүүгө тийиш.

Тектеш макалалар