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 ප්‍රොටොකොල විකල්ප ද සැපයිය යුතුය.

අදාළ ලිපි