@chengaoyuan/tcp-proxy
Version:
44 lines • 1.64 kB
JavaScript
;
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