iOS 17+ системасында NWConnection SOCKS5 проксисин конфигурациялоо
NWConnection түзүүдөн мурун iOS 17 SOCKSv5 ProxyConfiguration-ды NWParameters.PrivacyContextке туташтырыңыз.
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 протокол параметрлерин да берүүгө тийиш.