iOS 17+ တွင် SOCKS5 ဖြင့် URLSession WebSocket လမ်းကြောင်းသတ်မှတ်ခြင်း
iOS 17 သို့မဟုတ် နောက်ပိုင်းတွင် session အဆင့် SOCKSv5 proxy ဖြင့် URLSessionWebSocketTask ကို ပြင်ဆင်ပြီး လမ်းကြောင်းသတ်မှတ်ခြင်းနှင့် WSS ဖော်ထုတ်ခြင်းကို ခွဲခြားပါ။
iOS အက်ပ်၏ သာမန် HTTPS တောင်းဆိုချက်များသည် debugging proxy တွင် ပေါ်နိုင်သော်လည်း ၎င်း၏ WebSocket အသွားအလာ ပျောက်နေနိုင်သည်။ ဦးစွာ WebSocket သယ်ယူပို့ဆောင်မှုကို ဖော်ထုတ်ပါ- URLSessionWebSocketTask သည် session အဆင့် proxy ပြင်ဆင်မှုကို အသုံးပြုနိုင်သည်၊ သို့သော် ကိုယ်ပိုင် socket များဖွင့်သော စာကြည့်တိုက်သည် ၎င်း၏ကိုယ်ပိုင် ပံ့ပိုးထားသော ပေါင်းစပ်မှု လိုအပ်သည်။ iOS 17+ တွင် အကြမ်းပတမ်း Network.framework ချိတ်ဆက်မှုအတွက် NWConnection ၏ ကိုယ်ပိုင် proxy အကြောင်းအရာကို ပြင်ဆင်ပါ။
iOS 17 သို့မဟုတ် နောက်ပိုင်းတွင် ရှင်းလင်းသော SOCKSv5 proxy ဖြင့် session ကို ဖန်တီးပါ-
import Foundation
import Network
@available(iOS 17.0, *)
func makeDebugSession() -> URLSession {
let configuration = URLSessionConfiguration.default
let endpoint = NWEndpoint.hostPort(
host: "192.0.2.10", port: 8889)
configuration.proxyConfigurations = [
ProxyConfiguration(socksv5Proxy: endpoint)
]
return URLSession(configuration: configuration)
}စာရွက်စာတမ်း လိပ်စာနှင့် port ကို ရှိပြီးသား debugging proxy ၏ ရောက်ရှိနိုင်သော SOCKS နားထောင်သူဖြင့် အစားထိုးပါ။ ထို နားထောင်သူကို proxy အက်ပ်တွင် ဖွင့်ပါ။ ၎င်း၏ HTTP နားထောင်သူသည် အခြား port တွင် ရှိနိုင်သည်။
ပြန်ပေးလိုက်သော session မှ webSocketTask ကို ဖန်တီးပါ။ အခြား URLSession ဖြင့် ဖန်တီးထားသော အလုပ်သည် ဤ session ၏ အစားထိုးမှုကို အမွေမခံပါ။ proxyConfigurations အခင်းလွတ်သည် စနစ် မူလတန်ဖိုးများကို အသုံးပြုသည်၊ ၎င်းသည် တိုက်ရိုက်လမ်းကြောင်း ရှင်းလင်းစွာ ရွေးချယ်မှု မဟုတ်ပါ။
ရောက်ရှိနိုင်မှုနှင့် ဖတ်နိုင်သော မက်ဆေ့ချ်များသည် သီးခြားမှတ်တိုင်များ ဖြစ်သည်
ရုပ်ပိုင်းဖုန်းသည် debugging ကွန်ပျူတာသို့ ရောက်သော လိပ်စာ လိုအပ်သည်။ ထိုဖုန်းတွင် 127.0.0.1 သည် ဖုန်းကိုယ်တိုင်ကို ညွှန်ပြသည်။ ချိတ်ဆက်မှု ဘယ်တော့မှ မရောက်ပါက နားထောင်သူ၏ မျက်နှာပြင်နှင့် proxy ၏ ခွင့်ပြုထားသော client ဝင်ရောက်မှုကို စစ်ဆေးပါ။
SOCKS လမ်းကြောင်းသည် ချိတ်ဆက်မှုကို သယ်ဆောင်သည်။ wss အကြောင်းအရာကို ဖတ်ရန် ထို့အပြင် debugging ကိရိယာ၏ TLS စစ်ဆေးမှု ပြင်ဆင်မှုနှင့် စက်ပစ္စည်းပေါ်တွင် သင့်လျော်သော ယုံကြည်မှု လိုအပ်သည်။ လက်မှတ် ပင်နံပါတ်တပ်ခြင်း သို့မဟုတ် သီးခြား TLS အကောင်အထည်ဖော်မှုသည် အသွားအလာ နားထောင်သူသို့ ရောက်သော်လည်း ထို စစ်ဆေးမှုကို တားဆီးနိုင်သည်။
ချိတ်ဆက်မှု တည်ဆောက်ပြီးနောက် WebSocket ဖလှယ်မှုနှင့် မက်ဆေ့ချ်များကို ရှာပါ။ Socket.IO အက်ပ်မှ polling တောင်းဆိုချက် တစ်ခုတည်း တွေ့ခြင်းသည် ၎င်း၏ နောက်ပိုင်း WebSocket သယ်ယူပို့ဆောင်မှု တူညီသော လမ်းကြောင်းကို အသုံးပြုခဲ့သည်ဟု သက်သေ မဟုတ်ပါ။ ဤ ရှင်းလင်းသော debugging ပြင်ဆင်မှုကို အက်ပ်၏ ရည်ရွယ်ထားသော ဖွံ့ဖြိုးရေး ပတ်ဝန်းကျင်အတွင်း ထားရှိပါ။