Gee die voltooide CONNECT-sok aan ssh2-sftp-client
Bewaar die SSH-groet wat reeds ná die proxy-opskrifte gebuffer is, en gebruik dan sock met die bestemming se gewone SSH-opsies.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Verskaf die bestaande bestemmingsgasheer, poort, rekening en gasheer-sleutelbeleid in sshOptions. Die sok moet reeds deur 'n aanvaarde CONNECT-tonnel na daardie bestemming lei, nie bloot na die proxy-luisteraar nie.
Kontroleer die helper voordat jy die stroom oorhandig: verwerp 407 of ander mislukte antwoorde, behou opsteltermyn en sluit verwerpte sokkette. Node se HTTP connect-gebeurtenis sluit head-grepe in wat reeds ná die opskrifte gelees is; bewaar 'n nie-leë buffer met die gepaste stroomoorhandiging, byvoorbeeld socket.unshift(head). Dit kan die SSH-groet bevat.
Gee die sok gou oor en sluit dan die voltooide SFTP-werk met await client.end(). 'n HTTP Agent elders skep nie hierdie SSH-vervoer nie, en die CONNECT-rekening is apart van die SSH-rekening.