සම්පූර්ණ වූ 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 ගිණුමෙන් වෙන් වේ.