U dhiib ssh2 soketka lagu furay SOCKS
Marka hore wada hadal xiriirka SOCKS, ka dib u dhiib ssh2 soketka uu u socdo ka hor inta aan la furin nidaamka SFTP.
ssh2 wuxuu aqbalaa qulqul hore u xiran isagoo adeegsanaya ikhtiyaarka sock. U oggolow socksv5 inuu dhiso wadada loo maro serverka SSH, ka dib u dhiib qulqulkaas SSH:
const socks = require('socksv5');
const { Client } = require('ssh2');
const connection = socks.connect({
host: sshConfig.host,
port: sshConfig.port || 22,
proxyHost: 'proxy.example',
proxyPort: 1080,
localDNS: false,
auths: [socks.auth.None()],
}, socket => {
const ssh = new Client();
ssh.on('error', error => console.error(error.message));
ssh.on('ready', () => {
ssh.sftp((error, sftp) => {
if (error) {
console.error(error.message);
ssh.end();
return;
}
sftp.readdir('.', (error, entries) => {
if (error) console.error(error.message);
else console.log(entries);
ssh.end();
});
});
});
ssh.connect({ ...sshConfig, sock: socket });
});
connection.on('error', error => console.error(error.message));
sshConfig waa qaabeynta SSH ee jirta ee barnaamijka, oo ay ku jiraan akoonka, fure iyo siyaasadda hostVerifier. SOCKS host iyo port waxay tilmaamayaan dhexdhexaadiyaha; sshConfig.host iyo port waxay tilmaamayaan adeegga SSH ee ugu dambeeya.
Tusaalahu wuxuu isticmaalaa barta SOCKS oo aan lahayn aqoonsi. Serverka SSH laga gaari karo internetka guud, liiska wakiilada SOCKS5 ayaa bixin kara musharaxiin; mid kastaa wali waa inuu oggolaadaa meesha SSH iyo portka. Habka magaca isticmaalaha/furaha, isticmaal socks.auth.UserPassword(proxyUser, proxyPassword) gudaha auths. Aqoonsigaas ma beddelo akoonka SSH.
localDNS false wuxuu u gudbiyaa magaca hostka meesha serverka SOCKS, isagoo isticmaalaya xallinta meesha dhinaca wakiilka. La'aanteed doorashadaas cad, caadada la diiwaangeliyay ee socksv5 waxay isku daydaa xallin gudaha ah.
Wicitaanka SOCKS wuxuu shaqeeyaa wada hadalka ka dib. Sug dhacdada ready ee ssh2 ka hor intaadan codsan SFTP. Kuwani waa heerar guuleed oo gooni ah; xiriirka TCP ee wakiilka iyo jawaabta SOCKS midkoodna ma caddeeyo in aqoonsiga SSH ama nidaamka SFTP uu guuleystay.