पूर्ण झालेला CONNECT सॉकेट ssh2-sftp-client ला द्या
प्रॉक्सी हेडरनंतर आधीच बफरमध्ये असलेले SSH अभिवादन जपा, नंतर गंतव्याच्या नेहमीच्या SSH पर्यायांसह sock वापरा.
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 खात्यापासून वेगळे आहे.