Iabot ang natapos na CONNECT socket sa ssh2-sftp-client
Panatilihin ang pagbati ng SSH na nakabuffer na pagkatapos ng mga header ng proxy, pagkatapos ay gamitin ang sock kasama ang karaniwang mga opsyon ng SSH ng destinasyon.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Ibige ang umiiral na host, port, account at patakaran sa host-key ng destinasyon sa sshOptions. Ang socket ay dapat dumaan na sa tinatanggap na CONNECT tunnel patungo sa destinasyong iyon, hindi lamang sa tagapakinig ng proxy.
Suriin ang helper bago ibigay ang stream: tanggihan ang 407 o iba pang nabigong tugon, panatilihin ang mga deadline ng setup at isara ang mga tinanggihang socket. Kasama sa connect na kaganapan ng HTTP ng Node ang head byte na nabasa na pagkatapos ng mga header; panatilihin ang hindi walang laman na buffer gamit ang tamang paglilipat ng stream, halimbawa socket.unshift(head). Maaaring naglalaman ito ng pagbati ng SSH.
Iabot agad ang socket, pagkatapos ay isara ang natapos na gawain sa SFTP gamit ang await client.end(). Ang HTTP Agent sa ibang lugar ay hindi lumilikha ng SSH transport na ito, at ang CONNECT account ay hiwalay sa SSH account.