基于ssh2 的主机的反向代理和正向代理
const { Tunnel } = require(".");
const os = require("os")
const path = require("path")
const fs = require("fs")
async function test(params) {
// 远程服务器配置
/**
* @type {import("ssh2").ConnectConfig}
*/
const remoteServer = {
host: '127.0.0.1',
port: 2233, // 默认SSH端口
username: 'hwx',
privateKey: fs.readFileSync(path.join(os.homedir(), "\\.ssh\\id_rsa")).toString() // 本地私钥文件路径
};
let t = await new Tunnel(remoteServer).onready();
await t.connect({
srcHost: "127.0.0.1",
srcPort: 8888,
remoteHost: "",
remotePort: 3009
})
await t.forwardIn({
remoteHost: "127.0.0.1", remotePort: 3000,
srcHost: "127.0.0.1", srcPort: 8080
})
}
test()