iOS 17+ တွင် NWConnection SOCKS5 proxy ကို ချိန်ညှိခြင်း
NWConnection မဖန်တီးမီ iOS 17 SOCKSv5 ProxyConfiguration ကို NWParameters.PrivacyContext နှင့် ချိတ်ဆက်ပါ။
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 ပရိုတိုကော ရွေးချယ်စရာများကိုလည်း ပေးရမည်။