import SftpClient from 'ssh2-sftp-client';

const client = new SftpClient();
await client.connect({
  ...sshOptions,
  sock: tunnelSocket,
});

مەۋجۇت مەنزىل host، port، ھېسابات ۋە host-key سىياسىتىنى sshOptions ئىچىدە بېرىڭ. Socket ئاللىقاچان قوبۇل قىلىنغان CONNECT تونېلى ئارقىلىق شۇ مەنزىلگە يېتىشى كېرەك، پەقەت proxy ئاڭلىغۇچىغا ئەمەس.

ئېقىمنى تاپشۇرۇشتىن بۇرۇن ياردەمچىنى تەكشۈرۈڭ: 407 ياكى باشقا مەغلۇب جاۋابلارنى رەت قىلىڭ، تەڭشەش مۇددەتلىرىنى ساقلاڭ ۋە رەت قىلىنغان socket لارنى تاقاڭ. Node نىڭ HTTP connect ھادىسىسى header لاردىن كېيىن ئوقۇلغان head بايتلارنى ئۆز ئىچىگە ئالىدۇ; بوش بولمىغان buffer نى مۇۋاپىق ئېقىم تاپشۇرۇش بىلەن ساقلاڭ، مەسىلەن socket.unshift(head). ئۇنىڭدا SSH سالامى بولۇشى مۇمكىن.

Socket نى دەرھال تاپشۇرۇڭ، ئاندىن تاماملانغان SFTP خىزمىتىنى await client.end() بىلەن تاقاڭ. باشقا جايدىكى HTTP Agent بۇ SSH توشۇشىنى يارىتالمايدۇ، CONNECT ھېساباتى SSH ھېساباتىدىن ئايرىم.

مۇناسىۋەتلىك ماقالىلەر