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 հաշվից։

Առնչվող հոդվածներ