A iOS 17 da sabbin sigogin, Network.framework na iya amfani da SOCKSv5 proxy ta hanyar mahallin sirri. Haɗa wannan mahallin da sigogin kafin a ƙirƙiri haɗin:

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

Aikin yana mayar da haɗin TLS wanda ba a fara ba. Saka sarrafa yanayin aikace-aikacen, fara shi a jerin da aka nufa, sannan musanya ka’idar aikace-aikacen ta hanyar aikawa da karɓa ta al’ada.

proxy.example:1080 shine mai sauraron SOCKS. Don haɗin sabis na jama’a da aka yarda, jerin proxy na SOCKS5 yana samar da ’yan takarar mai masauki da tashar jiragen ruwa. service.example:443 ya kasance makoma. Mahallin sirri yana amfani da saitin proxy ɗinsa ga haɗin da ke da alaƙa da wannan mahallin; ƙirƙirar haɗin da ba shi da alaƙa da wasu sigogi ba ya gado wannan saitin.

Wannan shine haɗin sadarwa na Network.framework. Maye gurbin proxy na URLSession ko saitin ajiyar bayanai na WKWebView suna saita waɗannan masu amfani daban. Don WebSocket da aka gina akan NWConnection, aikace-aikacen dole ne kuma ya ba da zaɓuɓɓukan ka’idar WebSocket da suka dace.

Labarai masu alaƙa