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 প্রোটোকল অপশনও দিতে হবে।

সম্পর্কিত নিবন্ধ