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