iOS 17 နှင့် အထက်တွင် Network.framework သည် ကိုယ်ရေးလုံခြုံမှု အကြောင်းအရာအားဖြင့် SOCKSv5 proxy ကို အသုံးပြုနိုင်သည်။ ချိတ်ဆက်မှု မဖန်တီးမီ ထို အကြောင်းအရာကို ပါရာမီတာများနှင့် ချိတ်ဆက်ပါ။

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 proxy စာရင်း သည် ဟိုစ့်နှင့် ပို့ ကိုယ်စားလှယ်လောင်းများကို ပေးသည်။ service.example:443 သည် ဦးတည်ရာ အဖြစ် ဆက်ရှိသည်။ ကိုယ်ရေးလုံခြုံမှု အကြောင်းအရာသည် ၎င်း အကြောင်းအရာနှင့် ဆက်စပ်သော ချိတ်ဆက်မှုများတွင် proxy ချိန်ညှိမှုများကို အသုံးပြုသည်။ အခြား ပါရာမီတာများဖြင့် မသက်ဆိုင်သော ချိတ်ဆက်မှု ဖန်တီးခြင်းသည် ဤ ဆက်တင်ကို အမွေမရပါ။

ဤသည် Network.framework ၏ ချိတ်ဆက်မှု အင်တာဖေ့စ် ဖြစ်သည်။ URLSession proxy အစားထိုးမှု သို့မဟုတ် WKWebView ဒေတာသိုလှောင်မှု ဆက်တင်သည် ထို သီးခြား အသုံးပြုသူများကို ချိန်ညှိသည်။ NWConnection ပေါ်တွင် တည်ဆောက်ထားသော WebSocket အတွက် အက်ပ်သည် သင့်လျော်သော WebSocket ပရိုတိုကော ရွေးချယ်စရာများကိုလည်း ပေးရမည်။

ဆက်စပ်ဆောင်းပါးများ