Add át a kész CONNECT socketet az ssh2-sftp-clientnek
Őrizd meg a proxy fejlécek után már pufferelt SSH üdvözlést, majd használd a sockot a cél szokásos SSH-beállításaival.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Add meg a meglévő cél hosztját, portját, fiókját és hosztkulcs-szabályát a sshOptions belsejében. A socketnek már elfogadott CONNECT-alagúton keresztül kell eljutnia ehhez a célhoz, nem csupán a proxy figyelőjéhez.
A stream átadása előtt ellenőrizd a segédet: utasítsd el a 407-et vagy más sikertelen válaszokat, tartsd meg a beállítási határidőket, és zárd be az elutasított socketeket. A Node HTTP connect eseménye tartalmazza a fejlécek után már beolvasott head bájtokat; őrizz meg egy nem üres puffert a megfelelő stream-átadással, például socket.unshift(head). Tartalmazhatja az SSH üdvözlést.
Add át a socketet azonnal, majd zárd le a befejezett SFTP-munkát a await client.end() segítségével. Egy máshol lévő HTTP Agent nem hozza létre ezt az SSH-szállítást, és a CONNECT-fiók elkülönül az SSH-fióktól.