പൂർത്തിയായ 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 അക്കൗണ്ടിൽ നിന്ന് വേറെയാണ്.