Man-in-the-middle proxy for HTTPS with SSL verification and connection pooling/keep-alive.
Braintree no longer uses or maintains this project. It remains available for research and derivative works, subject to the project's license.
$ npm -g install mallorca
$ mallorca \ --cert /etc/ssl/certs/your-mallorca-proxy.crt \ --key /etc/ssl/certs/your-mallorca-proxy.key \ --port 5000 \ --maxsockets 20 \ --keepalive-socket-count 10 \ --pidfile /var/run/mallorca.pid \ --cacert /etc/ssl/certs/ca-root-for-externalsite.pem \ www.someexternalsite.com
Ensure you have the following dependencies installed and in your PATH:
- node (version > 0.10 should do)
Then, you should be able to run the tests:
$ npm test
Finally, to launch Mallorca:
$ ./bin/mallorca YOUR OPTIONS HERE...
The following routes are reserved for the operation of the Mallorca proxy, and are not proxied to the upstream web server.
Indicates whether Mallorca can consistently maintain its connection to the upstream server. A response code of 200 indicates a healthy connection, 503 indicates connection problems.
Enables changing connection pool settings without having to restart Mallorca. Accepts a payload of either a JSON object or form encoded key-values:
max - Maximum number of connections to the upstream server
keepalive - Number of connections to keep open when no more requests are queued
Simulates an internal error within the Mallorca proxy, does not respond. You must have set the allow-error-routes command line switch to use this route.
Provides statistics for the connection pool and latencies of recent requests to the upstream server.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request