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 ಖಾತೆಯಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು