tcp-proxy.js
a simple tcp proxy
Usage
$ npm i tcp-proxy.js --save
create proxy
const TCPProxy = require('tcp-proxy.js');
const proxy = new TCPProxy({ port: 9229 });
proxy.createProxy({
forwardPort: 9999,
forwardHost: 'localhost',
});
end proxy
proxy.end();
interceptor
proxy.createProxy({
forwardPort: 9999,
interceptor: {
client(chunk) {
const data = chunk.toString();
const newData = data.replace('GET / ', 'GET /tom ');
return Buffer.from(newData);
},
server(chunk) {
const data = chunk.toString();
const newData = data.replace('hello tom', 'bello tom');
return Buffer.from(newData);
},
},
});
async interceptor
proxy.createProxy({
forwardPort: 9999,
interceptor: {
client(chunk) {
const data = chunk.toString();
return new Promise(resolve => {
setTimeout(() => {
const newData = data.replace('GET / ', 'GET /tom ');
resolve(Buffer.from(newData));
}, 200);
});
},
},
});