પૂર્ણ થયેલ CONNECT સોકેટ ssh2-sftp-client ને સોંપો
પ્રોક્સી હેડર પછી પહેલેથી બફર થયેલ SSH અભિવાદન જાળવી રાખો, પછી લક્ષ્યના સામાન્ય SSH વિકલ્પો સાથે sock વાપરો.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});હાલના લક્ષ્ય હોસ્ટ, પોર્ટ, ખાતું અને હોસ્ટ-કી નીતિ sshOptions માં આપો. સોકેટ પહેલેથી જ સ્વીકૃત CONNECT ટનલ દ્વારા તે લક્ષ્ય સુધી પહોંચવું જોઈએ, ફક્ત પ્રોક્સી શ્રોતા સુધી નહીં.
સ્ટ્રીમ સોંપતા પહેલાં હેલ્પર તપાસો: 407 અથવા અન્ય નિષ્ફળ પ્રતિસાદો નકારો, સેટઅપ સમયમર્યાદા જાળવો અને નકારેલા સોકેટ બંધ કરો. Node ની HTTP connect ઘટનામાં હેડર પછી પહેલેથી વંચાયેલા head બાઇટ્સ સમાયેલા છે; યોગ્ય સ્ટ્રીમ હેન્ડઓફ સાથે ખાલી ન હોય તેવું બફર જાળવો, જેમ કે socket.unshift(head). તેમાં SSH અભિવાદન હોઈ શકે છે.
સોકેટ તરત જ સોંપો, પછી પૂર્ણ થયેલ કામ SFTP await client.end() વડે બંધ કરો. બીજે ક્યાંયનું HTTP Agent આ SSH પરિવહન બનાવતું નથી, અને CONNECT ખાતું SSH ખાતાથી અલગ છે.