http-mitm-proxy
Version:
HTTP Man In The Middle (MITM) Proxy
22 lines (20 loc) • 670 B
JavaScript
;
/**
* group1: subdomain
* group2: domain.ext
* exclude short domains (length < 4) to avoid catching double extensions (ex: net.au, co.uk, ...)
*/
const HOSTNAME_REGEX = /^(.+)(\.[^\.]{4,}(\.[^\.]{1,3})*\.[^\.]+)$/;
module.exports = {
onCertificateRequired: function (hostname, callback) {
var rootHost = hostname;
if (HOSTNAME_REGEX.test(hostname)) {
rootHost = hostname.replace(/^[^\.]+\./, '');
}
return callback(null, {
keyFile: this.sslCaDir + '/keys/_.' + rootHost + '.key',
certFile: this.sslCaDir + '/certs/_.' + rootHost + '.pem',
hosts: ['*.' + rootHost, rootHost]
});
}
};