পাৰ্লে SOCKS সংযোগ খোলাৰ পিছত TLS যোগ কৰক
IO::Socket::SSL ক IO::Socket::Socks সংযোগৰ ওপৰত ৰাখি গন্তব্যৰ হষ্টনাম সত্যাপন কৰক।
SOCKS সংযোগ আৰু TLS সংযোগৰ কাম বেলেগ বেলেগ। প্ৰথমে SOCKS ৰ জৰিয়তে গন্তব্যলৈ এটা বাইট স্ৰোত লাভ কৰক। তাৰ পিছত সেই স্ৰোতৰ ওপৰত TLS আৰম্ভ কৰক, প্ৰক্সি নহয় গন্তব্য ৱেবছাইটটো চিনাক্ত কৰি।
HTTPS ধৰণৰ TLS এণ্ডপইণ্টৰ বাবে ব্যৱস্থাটো এনেধৰণৰ হ'ব পাৰে:
use IO::Socket::Socks;
use IO::Socket::SSL;
my $target = 'example.com';
my $socket = IO::Socket::Socks->new(
SocksVersion => 5,
ProxyAddr => '127.0.0.1',
ProxyPort => 1080,
ConnectAddr => $target,
ConnectPort => 443,
) or die $!;
IO::Socket::SSL->start_SSL(
$socket,
SSL_hostname => $target,
SSL_verifycn_name => $target,
SSL_verifycn_scheme => 'http',
SSL_verify_mode => SSL_VERIFY_PEER,
) or die IO::Socket::SSL::errstr();
অনুমোদিত ৰাজহুৱা-প্ৰক্সি পথত থকা ৰাজহুৱা HTTPS লক্ষ্যৰ বাবে SOCKS5 প্ৰক্সি তালিকা এ ProxyAddr আৰু ProxyPort ৰ বাবে প্ৰাৰ্থী আগবঢ়ায়। এই খণ্ডটোৱে পৰিবহন স্তৰসমূহ স্থাপন কৰে; এপ্লিকেশ্বনে এতিয়াও গন্তব্যে আশা কৰা প্ৰ'ট'কল পঠিয়াব লাগিব আৰু শেষ হ'লে ছকেট বন্ধ কৰিব লাগিব।
উদ্দিষ্ট পিয়াৰ নামটো ৰাখক
প্ৰক্সি এণ্ডপইণ্টটো প্ৰথম সংযোগৰ। TLS SNI আৰু হষ্টনাম সত্যাপনৰ সম্পৰ্ক example.com ৰ সৈতে। সেই স্তৰত প্ৰক্সিৰ হষ্টনাম ব্যৱহাৰ কৰিলে ভুল পৰিচয় অনুৰোধ বা সত্যাপন হ'ব পাৰে।
ট্ৰাষ্ট-ষ্ট'ৰ সংৰচনা আন এটা স্বতন্ত্ৰ প্ৰয়োজনীয়তা। নিদানমূলক উদাহৰণৰ পৰা নকল কৰা সকলোকে বিশ্বাস কৰা কলবেকৰ পৰিৱৰ্তে এপ্লিকেশ্বনৰ উদ্দিষ্ট CA সংৰচনা ব্যৱহাৰ কৰক।
SOCKS স্তৰটো বিফল হ'লে TLS পেৰামিটাৰ সলনি কৰিলে সেইটো ঠিক নহ'ব। SOCKS সফল হৈ TLS বিফল হ'লে প্ৰমাণপত্ৰ আৰু হষ্টনামৰ ত্ৰুটিটো প্ৰমাণ হিচাপে ৰাখক, সাধাৰণ প্ৰক্সি বিফলতা বুলি গণ্য নকৰিব।
মডিউলৰ নামো গুৰুত্বপূৰ্ণ: IO::Socket::Socks আৰু IO::Socket::SSL ৰ কনষ্ট্ৰাক্টৰ আৰু আপগ্ৰেড আচৰণ বেলেগ। কেৱল প্ৰক্সিত উপনীত হোৱা এটা কেঁচা TCP ছকেটে এতিয়াও SOCKS গন্তব্য-বিচাৰ-বাটচৰাই সম্পূৰ্ণ কৰা নাই।