iOS 17+-এ NWConnection SOCKS5 প্রক্সি কনফিগার করুন
NWConnection তৈরি করার আগে iOS 17 SOCKSv5 ProxyConfiguration কে NWParameters.PrivacyContext-এর সাথে সংযুক্ত করুন।
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 প্রোটোকল অপশনও দিতে হবে।