import SftpClient from 'ssh2-sftp-client';

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

Mövcud təyinat hostunu, portu, hesabı və host-açar siyasətini sshOptions daxilində verin. Soket artıq qəbul edilmiş CONNECT tuneli ilə həmin təyinatа aparmalıdır, sadəcə proksi dinləyicisinə deyil.

Axını təhvil verməzdən əvvəl köməkçini yoxlayın: 407 və digər uğursuz cavabları rədd edin, quraşdırma müddətlərini saxlayın və rədd edilən soketləri bağlayın. Node-un HTTP connect hadisəsi başlıqlardan sonra oxunmuş head baytlarını ehtiva edir; boş olmayan buferi uyğun axın təhvilı ilə saxlayın, məsələn socket.unshift(head). Orada SSH salamlaması ola bilər.

Soketi dərhal ötürün, sonra tamamlanmış SFTP işini await client.end() ilə bağlayın. Başqa yerdəki HTTP Agent bu SSH nəqliyyatını yaratmır və CONNECT hesabı SSH hesabından ayrıdır.

Əlaqəli məqalələr