UNPKG

@chengaoyuan/tcp-proxy

Version:
44 lines 1.64 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var net = require("net"); var commander = require("commander"); commander .version("1.0.0", "-v, --version") .option("-l, --listen [ip:port]", "listen ip and port, [ip:port]", "0.0.0.0:9228") .option("-p, --proxy [ip:port]", "proxy ip and port, [ip:port]", "127.0.0.1:9229") .parse(process.argv); var _a = commander.listen.split(":"), listenIp = _a[0], listenPort = _a[1]; var _b = commander.proxy.split(":"), proxyIp = _b[0], proxyPort = _b[1]; console.warn("listen:", commander.listen); console.warn("proxy:", commander.proxy); var tcpServer = net.createServer(function (client) { console.info("client connect:", client.remoteAddress, client.remotePort); var socket = net.connect(Number(proxyPort), proxyIp); socket.on("data", function (msg) { client.write(msg); }); socket.on("end", function () { client.end(); }); socket.on("error", function (err) { console.error(err); client.destroy(err); }); client.on("data", function (msg) { socket.write(msg); }); client.on("end", function () { socket.end(); console.info("client disconnect:", client.remoteAddress, client.remotePort); }); client.on("error", function (err) { console.error(err); socket.destroy(err); }); }); tcpServer.on("error", function (error) { console.error("tcp proxy server has error : ", error); }); tcpServer.listen(Number(listenPort), listenIp); //# sourceMappingURL=index.js.map