inbetween
v0.1.0
Published
Minimal HTTP MITM-proxy for Node.js
Downloads
3
Readme
Inbetween
A fast and simple MITM-proxy for Node.js. No https support for now.
Installation
Install inbetween
via NPM:
npm install inbetween
Create main.js
like so:
var Proxy = require('inbetween');
var proxy = new Proxy(8080);
Run your main.js
:
node main.js
That's it, now tell you apps to use localhost:8080 as an HTTP proxy.
API
proxy.rewriteUrl(url)
Type: String
Full URL, for example http://something.com/index.php?test=true
Simple example:
// Route any request to google
proxy.rewriteUrl = function(url) {
url = 'http://google.com';
return url;
}
Advanced example:
// Make http://test.com?hello=world to be http://test.com?hello=wild
var qs = require('querystring');
....
proxy.rewriteUrl = function(url) {
var parts = url.split('?');
if (parts.length === 2) {
var obj = qs.parse(parts[1]);
obj['hello'] = 'wild';
parts[1] = qs.stringify(obj);
}
return parts.join('?');
}
Remember to always return your url.
proxy.rewriteHeaders(headers)
Type: Object
Request headers. More info in Node.js docs: http.IncomingMessage.headers
// Spoof user-agent
proxy.rewriteHeaders = function(headers) {
headers['user-agent'] = 'NSA-agent v3.5.7';
return headers;
}
Remember to always return your headers object.
proxy.rewriteData(data)
Type: String
POST data. Usually looks like 'user=MegaDestroyer98&password=123321'
Rewrite it the same way as you rewrite url.
Remember to always return your data.