import SftpClient from 'ssh2-sftp-client';

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

Toa host, port, akaunti na sera ya ufunguo wa host wa mahali unakoenda katika sshOptions. Socket lazima iwe tayari inapita kupitia tunnel CONNECT iliyokubaliwa kufikia mahali hapo, si kwa msikilizaji wa proxy pekee.

Angalia msaidizi kabla ya kuwasilisha mkondo: kataa 407 au majibu mengine yaliyoshindikana, hifadhi makataa ya usanidi na funga socket zilizokataliwa. Tukio la connect la HTTP la Node linajumuisha baiti za head zilizokwisha somwa baada ya vichwa; hifadhi buffer isiyo tupu kwa uwasilishaji sahihi wa mkondo, kwa mfano socket.unshift(head). Inaweza kuwa na salamu ya SSH.

Wasilisha socket mara moja, kisha funga kazi ya SFTP iliyokamilika kwa await client.end(). HTTP Agent mahali pengine haifanyi usafirishaji huu wa SSH, na akaunti ya CONNECT ni tofauti na akaunti ya SSH.

Makala zinazohusiana