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 खाताबाट अलग छ।

सम्बन्धित लेखहरू