import SftpClient from 'ssh2-sftp-client';

const client = new SftpClient();
await client.connect({
  ...sshOptions,
  sock: tunnelSocket,
});

বর্তমান গন্তব্য হোস্ট, পোর্ট, অ্যাকাউন্ট ও হোস্ট-কী নীতি sshOptions-এ দিন। সকেটকে অবশ্যই ইতিমধ্যে গৃহীত CONNECT টানেল হয়ে ওই গন্তব্যে পৌঁছাতে হবে, শুধু প্রক্সি লিসেনারে নয়।

স্ট্রিম হস্তান্তরের আগে হেল্পার যাচাই করুন: 407 বা অন্য ব্যর্থ প্রতিক্রিয়া প্রত্যাখ্যান করুন, সেটআপ সময়সীমা ধরে রাখুন এবং প্রত্যাখ্যাত সকেট বন্ধ করুন। Node-এর HTTP connect ইভেন্টে হেডারের পরে ইতিমধ্যে পড়া head বাইট থাকে; উপযুক্ত স্ট্রিম হ্যান্ডঅফে অখালি বাফার সংরক্ষণ করুন, যেমন socket.unshift(head)। এতে SSH অভিবাদন থাকতে পারে।

সকেটটি দ্রুত হস্তান্তর করুন, তারপর সম্পূর্ণ SFTP কাজটি await client.end() দিয়ে বন্ধ করুন। অন্য জায়গার HTTP Agent এই SSH পরিবহন তৈরি করে না, এবং CONNECT অ্যাকাউন্ট SSH অ্যাকাউন্ট থেকে আলাদা।

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