import SftpClient from 'ssh2-sftp-client';

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

Bixi host-ka, port-ka, akoonka iyo siyaasadda furaha host-ka ee meesha jirta gudaha sshOptions. Socket-ku waa inuu horey ugu maraa tunnel CONNECT la aqbalay ilaa meeshaas, ma aha oo kaliya ilaa dhagaystaha proxy.

Hubi caawiyaha ka hor intaadan dhiibin qulqulka: diid 407 ama jawaabaha kale ee guuldareystay, hay waqtiyada dejinta oo xir sockets-ka la diiday. Dhacdada connect ee HTTP ee Node waxay ka kooban tahay bytes head oo horey loo akhriyay ka dib madaxyada; hay buffer aan madhanayn oo leh gudbinta qulqulka ku habboon, tusaale socket.unshift(head). Waxaa laga yaabaa inuu ku jiro salaanta SSH.

Dhiib socket-ka isla markiiba, ka dibna xir shaqada SFTP ee dhammaystiran await client.end(). HTTP Agent meel kale ma abuuro gaadiidkan SSH, iyo akoonka CONNECT waa ka duwan yahay akoonka SSH.

Maqaallo la xiriira