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 खाते से अलग है।

संबंधित लेख