inbetween

0.1.0 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i inbetween

Weekly Downloads

0

Version

0.1.0

License

MIT

Last publish

Collaborators

  • vfk