import SftpClient from 'ssh2-sftp-client';

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

ផ្តល់ host, port, គណនី និងគោលនយោបាយកូនសោ host នៃគោលដៅដែលមានស្រាប់នៅក្នុង sshOptions។ socket ត្រូវតែឆ្លងកាត់ផ្លូវរូង CONNECT ដែលបានទទួលយកទៅគោលដៅនោះរួចហើយ មិនមែនត្រឹមតែទៅអ្នកស្តាប់ proxy ទេ។

ពិនិត្យជំនួយការមុនពេលប្រគល់ stream៖ បដិសេធ 407 ឬការឆ្លើយតបដែលបរាជ័យផ្សេងទៀត រក្សាកាលកំណត់នៃការដំឡើង និងបិទ socket ដែលបានបដិសេធ។ ព្រឹត្តិការណ៍ connect HTTP របស់ Node រួមមាន bytes head ដែលបានអានរួចបន្ទាប់ពីក្បាល។ រក្សា buffer ដែលមិនទទេជាមួយការប្រគល់ stream សមស្រប ឧទាហរណ៍ socket.unshift(head)។ វាអាចមានការស្វាគមន៍ SSH។

ប្រគល់ socket ភ្លាមៗ បន្ទាប់មកបិទការងារ SFTP ដែលបានបញ្ចប់ដោយ await client.end()។ HTTP Agent នៅកន្លែងផ្សេងមិនបង្កើតការដឹកជញ្ជូន SSH នេះទេ ហើយគណនី CONNECT ដោយឡែកពីគណនី SSH។

អត្ថបទពាក់ព័ន្ធ